unicorn/qemu/target
Peter Maydell 0736054d6d
armv7m: Extract "exception taken" code into functions
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
2018-03-02 19:54:46 -05:00
..
arm armv7m: Extract "exception taken" code into functions 2018-03-02 19:54:46 -05:00
i386 i386: Don't override -cpu options on -cpu host/max 2018-03-02 14:22:45 -05:00
m68k Move target-* CPU file into a target/ folder 2018-03-01 22:50:58 -05:00
mips target/mips: fix delay slot detection in gen_msa_branch() 2018-03-02 14:15:50 -05:00
sparc cputlb and arm/sparc targets: convert mmuidx flushes from varg to bitmap 2018-03-02 10:12:40 -05:00