summaryrefslogtreecommitdiffstats
path: root/hw/intc/gic_internal.h
diff options
context:
space:
mode:
authorPeter Maydell2017-02-28 13:08:17 +0100
committerPeter Maydell2017-02-28 13:08:17 +0100
commit7ecdaa4a9635f1ded0dfa9218c25273b6d4dcd44 (patch)
tree08f30c87a85aa83f9e683c39d926e35cbc1f2d34 /hw/intc/gic_internal.h
parentarmv7m: Rewrite NVIC to not use any GIC code (diff)
downloadqemu-7ecdaa4a9635f1ded0dfa9218c25273b6d4dcd44.tar.gz
qemu-7ecdaa4a9635f1ded0dfa9218c25273b6d4dcd44.tar.xz
qemu-7ecdaa4a9635f1ded0dfa9218c25273b6d4dcd44.zip
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 <peter.maydell@linaro.org> Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Diffstat (limited to 'hw/intc/gic_internal.h')
0 files changed, 0 insertions, 0 deletions