unicorn/qemu
Marc Zyngier 868de52f69 target/arm: Handle trapping to EL2 of AArch32 VMRS instructions
HCR_EL2.TID3 requires that AArch32 reads of MVFR[012] are trapped to
EL2, and HCR_EL2.TID0 does the same for reads of FPSID.
In order to handle this, introduce a new TCG helper function that
checks for these control bits before executing the VMRC instruction.

Tested with a hacked-up version of KVM/arm64 that sets the control
bits for 32bit guests.

Backports commit 9ca1d776cb49c09b09579d9edd0447542970c834 from qemu
2020-01-07 18:04:16 -05:00
..
accel tcg: TCGMemOp is now accelerator independent MemOp 2019-11-28 03:01:12 -05:00
crypto
default-configs
docs
fpu fpu: rename softfloat-specialize.h -> .inc.c 2019-11-18 21:12:30 -05:00
hw
include tcg: TCGMemOp is now accelerator independent MemOp 2019-11-28 03:01:12 -05:00
qapi
qobject
qom
scripts decodetree: Suppress redundant declaration warnings 2019-11-18 21:21:30 -05:00
target target/arm: Handle trapping to EL2 of AArch32 VMRS instructions 2020-01-07 18:04:16 -05:00
tcg tcg: TCGMemOp is now accelerator independent MemOp 2019-11-28 03:01:12 -05:00
util
aarch64.h target/arm: Handle trapping to EL2 of AArch32 VMRS instructions 2020-01-07 18:04:16 -05:00
aarch64eb.h target/arm: Handle trapping to EL2 of AArch32 VMRS instructions 2020-01-07 18:04:16 -05:00
accel.c
arm.h target/arm: Handle trapping to EL2 of AArch32 VMRS instructions 2020-01-07 18:04:16 -05:00
armeb.h target/arm: Handle trapping to EL2 of AArch32 VMRS instructions 2020-01-07 18:04:16 -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/arm: Handle trapping to EL2 of AArch32 VMRS instructions 2020-01-07 18:04:16 -05:00
ioport.c
LICENSE
m68k.h target/arm: Handle trapping to EL2 of AArch32 VMRS instructions 2020-01-07 18:04:16 -05:00
Makefile
Makefile.objs
Makefile.target
memory_ldst.inc.c
memory_mapping.c
memory.c memory: Delete memory region subregions 2019-11-28 03:03:11 -05:00
mips64.h target/arm: Handle trapping to EL2 of AArch32 VMRS instructions 2020-01-07 18:04:16 -05:00
mips64el.h target/arm: Handle trapping to EL2 of AArch32 VMRS instructions 2020-01-07 18:04:16 -05:00
mips.h target/arm: Handle trapping to EL2 of AArch32 VMRS instructions 2020-01-07 18:04:16 -05:00
mipsel.h target/arm: Handle trapping to EL2 of AArch32 VMRS instructions 2020-01-07 18:04:16 -05:00
powerpc.h target/arm: Handle trapping to EL2 of AArch32 VMRS instructions 2020-01-07 18:04:16 -05:00
qemu-timer.c
riscv32.h target/arm: Handle trapping to EL2 of AArch32 VMRS instructions 2020-01-07 18:04:16 -05:00
riscv64.h target/arm: Handle trapping to EL2 of AArch32 VMRS instructions 2020-01-07 18:04:16 -05:00
rules.mak
sparc64.h target/arm: Handle trapping to EL2 of AArch32 VMRS instructions 2020-01-07 18:04:16 -05:00
sparc.h target/arm: Handle trapping to EL2 of AArch32 VMRS instructions 2020-01-07 18:04:16 -05:00
unicorn_common.h
VERSION Open 5.0 development tree 2020-01-07 17:50:51 -05:00
vl.c
vl.h
x86_64.h target/arm: Handle trapping to EL2 of AArch32 VMRS instructions 2020-01-07 18:04:16 -05:00