unicorn/qemu
Peter Maydell 13ed49dd35
target/sparc: Check for transaction failures in MXCC stream ASI accesses
Currently the ld/st_asi helper functions make calls to the
ld*_phys() and st*_phys() functions for those ASIs which
imply direct accesses to physical addresses. These implicitly
rely on the unassigned_access hook to cause them to generate
an MMU fault if the access fails.

Switch to using the address_space_* functions instead, which
return a MemTxResult that we can check. This means that when
we switch SPARC over to using the do_transaction_failed hook
we'll still get the same MMU faults we did before.

This commit converts the ASIs which do MXCC stream source
and destination accesses.

It's not clear to me whether raising an MMU fault like this
is the correct behaviour if we encounter a bus error, but
we retain the same behaviour that the old unassigned_access
hook would implement.

Backports commit 776095d3cd751a58469b68f652c1ab6785f63652 from qemu
2019-11-28 02:56:17 -05:00
..
accel atomic_template: fix indentation in GEN_ATOMIC_HELPER 2019-11-28 02:38:07 -05:00
crypto
default-configs
docs
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
qobject
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: Check for transaction failures in MXCC stream ASI accesses 2019-11-28 02:56:17 -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
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
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
header_gen.py target/mips: Switch to do_transaction_failed() hook 2019-11-28 02:54:53 -05:00
ioport.c
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
Makefile.target
memory_ldst.inc.c
memory_mapping.c
memory.c memory: Align MemoryRegionSections fields 2019-11-18 16:42:47 -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
mips.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
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
sparc64.h target/arm: Remove helper_double_saturate 2019-11-18 20:13:21 -05:00
sparc.h target/arm: Remove helper_double_saturate 2019-11-18 20:13:21 -05:00
unicorn_common.h
VERSION Open 4.2 development tree 2019-11-18 16:42:51 -05:00
vl.c
vl.h
x86_64.h target/arm: Remove helper_double_saturate 2019-11-18 20:13:21 -05:00