mirror of
https://github.com/yuzu-emu/unicorn.git
synced 2025-02-02 10:21:10 +00:00
0b48392779
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. Backports commit c9d793f44620a4793239da73f67758ce5f5ba5d0 from qemu |
||
---|---|---|
.. | ||
asi.h | ||
cc_helper.c | ||
cpu-param.h | ||
cpu-qom.h | ||
cpu.c | ||
cpu.h | ||
fop_helper.c | ||
helper.c | ||
helper.h | ||
int32_helper.c | ||
int64_helper.c | ||
ldst_helper.c | ||
Makefile.objs | ||
mmu_helper.c | ||
TODO | ||
translate.c | ||
unicorn.c | ||
unicorn.h | ||
unicorn64.c | ||
vis_helper.c | ||
win_helper.c |