mirror of
https://github.com/yuzu-emu/unicorn.git
synced 2025-02-25 13:56:55 +00:00
Extract the code from the tail end of arm_v7m_do_interrupt() which enters the exception handler into a pair of utility functions v7m_exception_taken() and v7m_push_stack(), which correspond roughly to the pseudocode PushStack() and ExceptionTaken(). This also requires us to move the arm_v7m_load_vector() utility routine up so we can call it. Handling illegal exception returns has some cases where we want to take a UsageFault either on an existing stack frame or with a new stack frame but with a specific LR value, so we want to be able to call these without having to go via arm_v7m_cpu_do_interrupt(). Backports commit 39ae2474e337247e5930e8be783b689adc9f6215 from qemu |
||
---|---|---|
.. | ||
arm | ||
i386 | ||
m68k | ||
mips | ||
sparc |