diff options
author | Richard Henderson <rth@twiddle.net> | 2014-09-13 09:45:25 -0700 |
---|---|---|
committer | Peter Maydell <peter.maydell@linaro.org> | 2014-09-25 18:54:22 +0100 |
commit | e8925712e6dbf45dd68c86a1e9025ce12bf18aef (patch) | |
tree | 7ec4ba02224e094509ee4c72ae88565c5addc527 /cpu-exec.c | |
parent | d8bb915972deaa58dc6ad6644d26ede04f78982a (diff) | |
download | qemu-e8925712e6dbf45dd68c86a1e9025ce12bf18aef.tar.gz qemu-e8925712e6dbf45dd68c86a1e9025ce12bf18aef.tar.bz2 qemu-e8925712e6dbf45dd68c86a1e9025ce12bf18aef.zip |
target-arm: Use cpu_exec_interrupt qom hook
Cc: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Richard Henderson <rth@twiddle.net>
Message-id: 1410626734-3804-15-git-send-email-rth@twiddle.net
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'cpu-exec.c')
-rw-r--r-- | cpu-exec.c | 23 |
1 files changed, 0 insertions, 23 deletions
diff --git a/cpu-exec.c b/cpu-exec.c index b7b012b580..0d5ce62df9 100644 --- a/cpu-exec.c +++ b/cpu-exec.c @@ -562,29 +562,6 @@ int cpu_exec(CPUArchState *env) } } } -#elif defined(TARGET_ARM) - if (interrupt_request & CPU_INTERRUPT_FIQ - && !(env->daif & PSTATE_F)) { - cpu->exception_index = EXCP_FIQ; - cc->do_interrupt(cpu); - next_tb = 0; - } - /* ARMv7-M interrupt return works by loading a magic value - into the PC. On real hardware the load causes the - return to occur. The qemu implementation performs the - jump normally, then does the exception return when the - CPU tries to execute code at the magic address. - This will cause the magic PC value to be pushed to - the stack if an interrupt occurred at the wrong time. - We avoid this by disabling interrupts when - pc contains a magic address. */ - if (interrupt_request & CPU_INTERRUPT_HARD - && !(env->daif & PSTATE_I) - && (!IS_M(env) || env->regs[15] < 0xfffffff0)) { - cpu->exception_index = EXCP_IRQ; - cc->do_interrupt(cpu); - next_tb = 0; - } #endif /* The target hook has 3 exit conditions: False when the interrupt isn't processed, |