unicorn/qemu/target/arm
Peter Maydell 18bb21c035
target/arm: Honour M-profile FP enable bits
Like AArch64, M-profile floating point has no FPEXC enable
bit to gate floating point; so always set the VFPEN TB flag.

M-profile also has CPACR and NSACR similar to A-profile;
they behave slightly differently:
* the CPACR is banked between Secure and Non-Secure
* if the NSACR forces a trap then this is taken to
the Secure state, not the Non-Secure state

Honour the CPACR and NSACR settings. The NSACR handling
requires us to borrow the exception.target_el field
(usually meaningless for M profile) to distinguish the
NOCP UsageFault taken to Secure state from the more
usual fault taken to the current security state.

Backports commit d87513c0abcbcd856f8e1dee2f2d18903b2c3ea2 from qemu
2019-04-30 10:18:21 -04: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/translate: Synchronize with Qemu 2019-04-27 10:13:01 -04:00
cpu-qom.h
cpu.c target/arm: Implement dummy versions of M-profile FP-related registers 2019-04-30 10:13:41 -04:00
cpu.h target/arm: Implement dummy versions of M-profile FP-related registers 2019-04-30 10:13:41 -04:00
crypto_helper.c
helper-a64.c target/arm: Handle AArch32 CRC instructions 2019-04-27 10:50:25 -04:00
helper-a64.h target/arm: Split helper_msr_i_pstate into 3 2019-03-05 22:45:11 -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: Honour M-profile FP enable bits 2019-04-30 10:18:21 -04:00
helper.h target/arm: Implement ARMv8.5-FRINT 2019-03-05 23:17:33 -05:00
internals.h target/arm: Split helper_msr_i_pstate into 3 2019-03-05 22:45:11 -05:00
iwmmxt_helper.c
kvm-consts.h
Makefile.objs target/arm: Split out vfp_helper.c 2019-02-22 18:48:44 -05:00
neon_helper.c target/arm: Split out FPSCR.QC to a vector field 2019-02-15 18:04:13 -05:00
op_addsub.h
op_helper.c target/arm: Add set/clear_pstate_bits, share gen_ss_advance 2019-03-05 22:55:22 -05:00
pauth_helper.c target/arm: Implement pauth_computepac 2019-01-22 16:35:07 -05:00
psci.c
sve_helper.c target/arm: Sychronize with qemu 2019-04-18 04:49:11 -04:00
sve.decode target/arm: Sychronize with qemu 2019-04-18 04:49:11 -04:00
translate-a64.c exec: Backport tb_cflags accessor 2019-04-22 06:12:59 -04:00
translate-a64.h arm: Take DisasContext as a parameter instead of TCGContext where applicable 2018-10-06 04:17:12 -04:00
translate-sve.c target/arm: Check access permission to ADDVL/ADDPL/RDVL 2019-03-19 05:42:59 -04:00
translate.c target/arm: Honour M-profile FP enable bits 2019-04-30 10:18:21 -04:00
translate.h target/arm: Add set/clear_pstate_bits, share gen_ss_advance 2019-03-05 22:55:22 -05:00
unicorn_aarch64.c unicorn_aarch64: Use aa64_vfp_qreg instead of aa32_vfp_dreg 2018-09-03 07:47:40 +01:00
unicorn_arm.c unicorn_arm: Treat registers as unsigned values in casts 2019-04-26 08:48:31 -04:00
unicorn.h
vec_helper.c target/arm: Add helpers for FMLAL 2019-02-28 15:31:48 -05:00
vfp_helper.c target/arm: Make sure M-profile FPSCR RES0 bits are not settable 2019-04-30 10:12:17 -04:00