qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [Bug 960515] [NEW] CortexM, NVIC not reseted if qemu_system


From: Oleksiy Bondarenko
Subject: [Qemu-devel] [Bug 960515] [NEW] CortexM, NVIC not reseted if qemu_system_reset_request() called
Date: Tue, 20 Mar 2012 19:03:36 -0000

Public bug reported:

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

** Affects: qemu
     Importance: Undecided
         Status: New


** Tags: arm cortexm

-- 
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:
  New

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

[Prev in Thread] Current Thread [Next in Thread]