unicorn/qemu/target/arm
Peter Maydell 04676ed074
target/arm: Make FPSCR/FPCR trapped-exception bits RAZ/WI
The {IOE, DZE, OFE, UFE, IXE, IDE} bits in the FPSCR/FPCR are for
enabling trapped IEEE floating point exceptions (where IEEE exception
conditions cause a CPU exception rather than updating the FPSR status
bits). QEMU doesn't implement this (and nor does the hardware we're
modelling), but for implementations which don't implement trapped
exception handling these control bits are supposed to be RAZ/WI.
This allows guest code to test for whether the feature is present
by trying to write to the bit and checking whether it sticks.

QEMU is incorrectly making these bits read as written. Make them
RAZ/WI as the architecture requires.

In particular this was causing problems for the NetBSD automatic
test suite.

Backports commit a15945d98d3a3390c3da344d1b47218e91e49d8b from qemu
2019-02-05 17:45:22 -05:00
..
arm_ldst.h
arm-powerctl.c arm: Clarify the logic of set_pc() 2019-02-03 17:55:30 -05:00
arm-powerctl.h
cpu64.c target/arm: Enable BTI for -cpu max 2019-02-05 17:15:32 -05:00
cpu-qom.h
cpu.c target/arm: Enable TBI for user-only 2019-02-05 17:44:17 -05:00
cpu.h target/arm: Make FPSCR/FPCR trapped-exception bits RAZ/WI 2019-02-05 17:45:22 -05:00
crypto_helper.c
helper-a64.c target/arm: Add new_pc argument to helper_exception_return 2019-01-22 15:48:15 -05:00
helper-a64.h target/arm: Add new_pc argument to helper_exception_return 2019-01-22 15:48:15 -05:00
helper-sve.h target/arm: Rewrite vector gather first-fault loads 2018-10-08 14:15:15 -04:00
helper.c target/arm: Make FPSCR/FPCR trapped-exception bits RAZ/WI 2019-02-05 17:45:22 -05:00
helper.h target/arm: Move helper_exception_return to helper-a64.c 2019-01-22 15:44:53 -05:00
internals.h target/arm: Compute TB_FLAGS for TBI for user-only 2019-02-05 17:43:11 -05:00
iwmmxt_helper.c
kvm-consts.h
Makefile.objs target/arm: Add PAuth helpers 2019-01-22 15:27:15 -05:00
neon_helper.c
op_addsub.h
op_helper.c target/arm: Move helper_exception_return to helper-a64.c 2019-01-22 15:44:53 -05:00
pauth_helper.c target/arm: Implement pauth_computepac 2019-01-22 16:35:07 -05:00
psci.c
sve_helper.c sve_helper: Use the QEMU_FLATTEN macro instead of the compiler attribute directly 2018-10-23 13:05:02 -04:00
sve.decode target/arm: SVE brk[ab] merging does not have s bit 2019-01-13 19:39:34 -05:00
translate-a64.c target/arm: Clean TBI for data operations in the translator 2019-02-05 17:39:12 -05:00
translate-a64.h
translate-sve.c decodetree: Remove insn argument from trans_* expanders 2018-11-11 08:27:01 -05:00
translate.c target/arm: Emit barriers for A32/T32 load-acquire/store-release insns 2019-01-13 19:48:27 -05:00
translate.h target/arm: Add TBFLAG_A64_TBID, split out gen_top_byte_ignore 2019-02-05 17:20:11 -05:00
unicorn_aarch64.c
unicorn_arm.c
unicorn.h
vec_helper.c target/arm/vec_helper: Remove use of void pointer arithmetic 2019-01-30 14:03:26 -05:00