unicorn/qemu/target/arm
Richard Henderson 94b0876f15 target/arm: Add sve infrastructure for page lookup
For contiguous predicated memory operations, we want to
minimize the number of tlb lookups performed. We have
open-coded this for sve_ld1_r, but for correctness with
MTE we will need this for all of the memory operations.

Create a structure that holds the bounds of active elements,
and metadata for two pages. Add routines to find those
active elements, lookup the pages, and run watchpoints
for those pages.

Temporarily mark the functions unused to avoid Werror.

Backports commit b4cd95d2f4c7197b844f51b29871d888063ea3e7 from qemu
2021-02-25 20:28:23 -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: Factor out ARM on/off PSCI control functions 2018-03-01 23:31:47 -05:00
arm_ldst.h Fix Thumb-1 BE32 execution and disassembly. 2018-03-02 00:20:11 -05:00
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: Restrict the values of DCZID.BS under TCG 2021-02-25 15:12:20 -05:00
cpu.h target/arm: Add arm_tlb_bti_gp 2021-02-25 17:45:50 -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: Use tcg_gen_gvec_5_ptr for sve FMLA/FCMLA 2020-05-11 17:17:17 -04: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: Use mte_checkN for sve unpredicated stores 2021-02-25 17:40:43 -05:00
iwmmxt_helper.c target/arm: Untabify iwmmxt_helper.c 2018-08-25 04:33:44 -04:00
kvm-consts.h arm: better stub version for MISMATCH_CHECK 2018-03-02 00:13:45 -05:00
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 Move target-* CPU file into a target/ folder 2018-03-01 22:50:58 -05:00
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 fix WFI/WFE length in syndrome register 2018-03-05 11:21:51 -05:00
sve.decode target/arm: Sychronize with qemu 2019-04-18 04:49:11 -04:00
sve_helper.c target/arm: Add sve infrastructure for page lookup 2021-02-25 20:28:23 -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: Add arm_tlb_bti_gp 2021-02-25 17:45:50 -05:00
translate-a64.h target/arm: Use mte_checkN for sve unpredicated stores 2021-02-25 17:40:43 -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: Tidy trans_LD1R_zpri 2021-02-25 17:42:40 -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 Move target-* CPU file into a target/ folder 2018-03-01 22:50:58 -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 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