unicorn/qemu/target/arm
Richard Henderson 33f5bdabb1 target/arm: Complete TBI clearing for user-only for SVE
There are a number of paths by which the TBI is still intact
for user-only in the SVE helpers.

Because we currently always set TBI for user-only, we do not
need to pass down the actual TBI setting from above, and we
can remove the top byte in the inner-most primitives, so that
none are forgotten. Moreover, this keeps the "dirty" pointer
around at the higher levels, where we need it for any MTE checking.

Since the normal case, especially for user-only, goes through
RAM, this clearing merely adds two insns per page lookup, which
will be completely in the noise.

Backports commit c4af8ba19b9d22aac79cab679a20b159af9d6809 from qemu
2021-02-25 22:37:12 -05:00
..
a32-uncond.decode target/arm: Convert Unallocated memory hint 2019-11-28 02:47:41 -05:00
a32.decode target/arm: Convert SVC 2019-11-28 02:46:55 -05:00
arm-powerctl.c arm/arm-powerctl: set NSACR.{CP11, CP10} bits in arm_set_cpu_on() 2020-01-07 18:10:29 -05:00
arm-powerctl.h
arm_ldst.h
cpu-param.h target/arm: Don't use a TLB for ARMMMUIdx_Stage2 2020-05-07 08:40:06 -04:00
cpu-qom.h target/arm: Make cpu_register() available for other files 2020-04-30 21:38:42 -04:00
cpu.c target/arm: Complete TBI clearing for user-only for SVE 2021-02-25 22:37:12 -05:00
cpu.h target/arm: Add mte helpers for sve scalar + int loads 2021-02-25 21:45:32 -05:00
cpu64.c arm/cpu64: Remove unused variable 2020-05-11 17:18:13 -04:00
crypto_helper.c target/arm: Split helper_crypto_sm3tt 2020-06-14 23:24:21 -04:00
debug_helper.c target/arm: Stop assuming DBGDIDR always exists 2020-03-21 18:26:24 -04:00
helper-a64.c target/arm: Simplify DC_ZVA 2021-02-25 15:55:46 -05:00
helper-a64.h target/arm: Add helper_mte_check_zva 2021-02-25 17:17:54 -05:00
helper-sve.h target/arm: Add mte helpers for sve scatter/gather memory ops 2021-02-25 22:34:24 -05:00
helper.c target/arm: Add arm_tlb_bti_gp 2021-02-25 17:45:50 -05:00
helper.h target/arm: Implement LDG, STG, ST2G instructions 2021-02-25 15:08:44 -05:00
internals.h target/arm: Add mte helpers for sve scalar + int loads 2021-02-25 21:45:32 -05:00
iwmmxt_helper.c target/arm: Untabify iwmmxt_helper.c 2018-08-25 04:33:44 -04:00
kvm-consts.h
m_helper.c target/arm: Add isar_feature_aa32_vfp_simd 2020-03-21 23:11:36 -04:00
Makefile.objs target/arm: Implement the IRG instruction 2021-02-25 14:36:11 -05:00
mte_helper.c target/arm: Use mte_checkN for sve unpredicated stores 2021-02-25 17:40:43 -05:00
neon-dp.decode target/arm: Convert Neon VTRN to decodetree 2021-02-25 13:12:28 -05:00
neon-ls.decode target/arm: Convert Neon 'load/store single structure' to decodetree 2020-05-07 09:32:17 -04:00
neon-shared.decode target/arm: Convert VFM[AS]L (scalar) to decodetree 2020-05-07 09:20:35 -04:00
neon_helper.c target/arm: Convert Neon VADD, VSUB, VABD 3-reg-same insns to decodetree 2020-05-15 23:26:51 -04:00
op_addsub.h
op_helper.c target/arm: Implement LDG, STG, ST2G instructions 2021-02-25 15:08:44 -05:00
pauth_helper.c target/arm: Use bit 55 explicitly for pauth 2020-03-21 17:59:06 -04:00
psci.c
sve.decode target/arm: Sychronize with qemu 2019-04-18 04:49:11 -04:00
sve_helper.c target/arm: Complete TBI clearing for user-only for SVE 2021-02-25 22:37:12 -05:00
t16.decode target/arm: Convert T16, long branches 2019-11-28 02:53:54 -05:00
t32.decode target/arm: Use a non-overlapping group for misc control 2020-06-15 12:52:48 -04:00
tlb_helper.c target/arm: Implement helper_mte_check1 2021-02-25 17:02:34 -05:00
translate-a64.c target/arm: Complete TBI clearing for user-only for SVE 2021-02-25 22:37:12 -05:00
translate-a64.h target/arm: Handle TBI for sve scalar + int memory ops 2021-02-25 22:17:46 -05:00
translate-neon.inc.c target/arm: Move some functions used only in translate-neon.inc.c to that file 2021-02-25 13:15:23 -05:00
translate-sve.c target/arm: Add mte helpers for sve scatter/gather memory ops 2021-02-25 22:34:24 -05:00
translate-vfp.inc.c target/arm: Rename DISAS_UPDATE to DISAS_UPDATE_EXIT 2021-02-25 14:02:46 -05:00
translate.c target/arm: Add DISAS_UPDATE_NOCHAIN 2021-02-25 14:08:08 -05:00
translate.h target/arm: Implement the LDGM, STGM, STZGM instructions 2021-02-25 16:00:50 -05:00
unicorn.h
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 arm/translate: Do not tracecode when in an IT block 2021-02-07 19:14:32 +00:00
vec_helper.c target/arm: Convert aes and sm4 to gvec helpers 2020-06-14 22:41:33 -04:00
vec_internal.h arm: Add missing file vec_internal.h 2020-06-20 00:12:09 +01:00
vfp-uncond.decode target/arm: Split VMINMAXNM decode 2020-03-22 00:09:53 -04:00
vfp.decode target/arm: Split VFM decode 2020-03-22 00:07:53 -04:00
vfp_helper.c softfloat: Name compare relation enum 2020-05-21 18:08:52 -04:00