I added a reset function for the NVIC/systick as part of the GIC
refactoring work I did recently. These changes should be in QEMU 1.1.


** Changed in: qemu
       Status: New => Fix Released

-- 
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/960515

Title:
  CortexM, NVIC not reseted if qemu_system_reset_request() called

Status in QEMU:
  Fix Released

Bug description:
  qemu 0.15.1

  Interrupts does not work anymore if system reseted from interrupt.

  There is no reset function registered for armv7m_nvic, and as it is
  part of the core there is also no any reset for gic/nvic in
  cpu_reset() for arm.

  possible solution is to add reset function to  armv7_nvic.c

  static void nvic_reset(void *opaque)
  {
      nvic_state* s = opaque;
      s->systick.control = 0;
      s->systick.reload = 0;
      s->systick.tick = 0;
      qemu_del_timer(s->systick.timer);
      gic_reset(&s->gic);
  }

  and register it in armv7m_nvic_init

To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/960515/+subscriptions

Reply via email to