]> Git Repo - qemu.git/commit
armv7m: Fix condition check for taking exceptions
authorPeter Maydell <[email protected]>
Tue, 28 Feb 2017 12:08:17 +0000 (12:08 +0000)
committerPeter Maydell <[email protected]>
Tue, 28 Feb 2017 12:08:17 +0000 (12:08 +0000)
commit7ecdaa4a9635f1ded0dfa9218c25273b6d4dcd44
tree08f30c87a85aa83f9e683c39d926e35cbc1f2d34
parentda6d674e509f0939b2960eef2ce1c3443e9736df
armv7m: Fix condition check for taking exceptions

The M profile condition for when we can take a pending exception or
interrupt is not the same as that for A/R profile.  The code
originally copied from the A/R profile version of the
cpu_exec_interrupt function only worked by chance for the
very simple case of exceptions being masked by PRIMASK.
Replace it with a call to a function in the NVIC code that
correctly compares the priority of the pending exception
against the current execution priority of the CPU.

[Michael Davidsaver's patchset had a patch to do something
similar but the implementation ended up being a rewrite.]

Signed-off-by: Peter Maydell <[email protected]>
Reviewed-by: Alex BennĂ©e <[email protected]>
hw/intc/armv7m_nvic.c
target/arm/cpu.c
target/arm/cpu.h
This page took 0.022032 seconds and 4 git commands to generate.