unicorn/qemu
Peter Maydell 0b48392779
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.

Backports commit c9d793f44620a4793239da73f67758ce5f5ba5d0 from qemu
2019-11-28 02:56:05 -05:00
..
accel atomic_template: fix indentation in GEN_ATOMIC_HELPER 2019-11-28 02:38:07 -05:00
crypto crypto: Clean up includes 2018-02-19 00:47:40 -05:00
default-configs target/riscv: Initial introduction of the RISC-V target 2019-03-08 21:46:10 -05:00
docs docs/devel/memory.txt: Document _with_attrs accessors 2018-10-04 04:46:26 -04:00
fpu fpu: rename softfloat-specialize.h -> .inc.c 2019-11-18 21:12:30 -05:00
hw i386: Update new x86_apicid parsing rules with die_offset support 2019-08-08 18:22:03 -04:00
include include/exec/cpu-defs.h: fix typo 2019-11-28 02:38:15 -05:00
qapi qapi: Rewrite string-input-visitor's integer and list parsing 2018-12-18 04:57:25 -05:00
qobject qstring: Move qstring_from_substr()'s @end one to the right 2018-08-02 21:24:19 -04:00
qom cpu: Move icount_decr to CPUNegativeOffsetState 2019-06-13 15:34:28 -04:00
scripts decodetree: Suppress redundant declaration warnings 2019-11-18 21:21:30 -05:00
target target/sparc: Factor out the body of sparc_cpu_unassigned_access() 2019-11-28 02:56:05 -05:00
tcg tcg/README: fix typo s/afterwise/afterwards/ 2019-11-28 02:37:51 -05:00
util util/cacheinfo: Use uint64_t on LLP64 model to satisfy Windows ARM64 2019-05-09 17:43:27 -04:00
aarch64.h target/arm: Remove helper_double_saturate 2019-11-18 20:13:21 -05:00
aarch64eb.h target/arm: Remove helper_double_saturate 2019-11-18 20:13:21 -05:00
accel.c clean-up: removed duplicate #includes 2018-02-28 08:51:56 -05:00
arm.h Revert "target/arm: Use unallocated_encoding for aarch32" 2019-11-18 23:49:47 -05:00
armeb.h Revert "target/arm: Use unallocated_encoding for aarch32" 2019-11-18 23:49:47 -05:00
CODING_STYLE.rst docs: split the CODING_STYLE doc into distinct groups 2019-11-28 02:54:44 -05:00
configure configure: remove AUTOCONF_HOST 2019-11-18 22:19:47 -05:00
COPYING
COPYING.LIB
cpus.c Include qapi/error.h exactly where needed 2018-03-07 12:26:38 -05:00
exec.c exec.c: add a check between constants to see whether we could skip 2019-11-28 02:55:42 -05:00
gen_all_header.sh
glib_compat.c target/arm/translate: Synchronize with Qemu 2019-04-27 10:13:01 -04:00
header_gen.py target/mips: Switch to do_transaction_failed() hook 2019-11-28 02:54:53 -05:00
ioport.c hw: remove pio_addr_t 2018-02-24 02:43:16 -05:00
LICENSE
m68k.h target/arm: Remove helper_double_saturate 2019-11-18 20:13:21 -05:00
Makefile Makefile: Rename targets for make recursion 2019-08-08 17:26:49 -04:00
Makefile.objs qapi: Move qapi-schema.json to qapi/, rename generated files 2018-03-09 11:35:11 -05:00
Makefile.target configure: Remove old -fno-gcse workaround for GCC 4.6.x and 4.7.[012] 2018-12-18 03:52:36 -05:00
memory.c memory: Align MemoryRegionSections fields 2019-11-18 16:42:47 -05:00
memory_ldst.inc.c exec: Fix MAP_RAM for cached access 2018-07-03 01:11:12 -04:00
memory_mapping.c include/qemu/osdep.h: Don't include qapi/error.h 2018-02-21 23:08:18 -05:00
mips.h target/mips: Switch to do_transaction_failed() hook 2019-11-28 02:54:53 -05:00
mips64.h target/mips: Switch to do_transaction_failed() hook 2019-11-28 02:54:53 -05:00
mips64el.h target/mips: Switch to do_transaction_failed() hook 2019-11-28 02:54:53 -05:00
mipsel.h target/mips: Switch to do_transaction_failed() hook 2019-11-28 02:54:53 -05:00
powerpc.h target/arm: Remove helper_double_saturate 2019-11-18 20:13:21 -05:00
qemu-timer.c timer/cpus: fix some typos and update some comments 2018-02-25 23:21:57 -05:00
riscv32.h target/arm: Remove helper_double_saturate 2019-11-18 20:13:21 -05:00
riscv64.h target/arm: Remove helper_double_saturate 2019-11-18 20:13:21 -05:00
rules.mak build-sys: silence make by default or V=0 2018-03-06 08:58:03 -05:00
sparc.h target/arm: Remove helper_double_saturate 2019-11-18 20:13:21 -05:00
sparc64.h target/arm: Remove helper_double_saturate 2019-11-18 20:13:21 -05:00
unicorn_common.h unicorn_common: Fix unicorn memory functions failing 2018-09-03 10:40:14 -04:00
VERSION Open 4.2 development tree 2019-11-18 16:42:51 -05:00
vl.c Use cpu_create(type) instead of cpu_init(cpu_model) 2018-03-20 14:20:30 -04:00
vl.h
x86_64.h target/arm: Remove helper_double_saturate 2019-11-18 20:13:21 -05:00