aboutsummaryrefslogtreecommitdiff
path: root/hw/cpu/a9mpcore.c
diff options
context:
space:
mode:
authorPeter Maydell <peter.maydell@linaro.org>2019-08-01 19:30:06 +0100
committerPeter Maydell <peter.maydell@linaro.org>2019-09-17 12:01:00 +0100
commitc9d793f44620a4793239da73f67758ce5f5ba5d0 (patch)
treea0d7f1bdb050d2509a8cbdbb55932004a48f8a81 /hw/cpu/a9mpcore.c
parent186c0ab9b98d90642f37a629b1ff520cbfd06394 (diff)
downloadqemu-c9d793f44620a4793239da73f67758ce5f5ba5d0.zip
qemu-c9d793f44620a4793239da73f67758ce5f5ba5d0.tar.gz
qemu-c9d793f44620a4793239da73f67758ce5f5ba5d0.tar.bz2
target/sparc: Factor out the body of sparc_cpu_unassigned_access()
Currently the SPARC target uses the old-style do_unassigned_access hook. We want to switch it over to do_transaction_failed, but to do this we must first remove all the direct calls in ldst_helper.c to cpu_unassigned_access(). Factor out the body of the hook function's code into a new sparc_raise_mmu_fault() and call it from the hook and from the various places that used to call cpu_unassigned_access(). In passing, this fixes a bug where the code that raised the MMU exception was directly calling GETPC() from a function that was several levels deep in the callstack from the original helper function: the new sparc_raise_mmu_fault() instead takes the return address as an argument. Other than the use of retaddr rather than GETPC() and a comment format fixup, the body of the new function has no changes from that of the old hook function. Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Tested-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> Message-id: 20190801183012.17564-2-peter.maydell@linaro.org
Diffstat (limited to 'hw/cpu/a9mpcore.c')
0 files changed, 0 insertions, 0 deletions