Prerequisite for FEAT_SYSREG128, split out of
20250827010453.4059782-1-richard.henderson@linaro.org
[RFC PATCH 00/61] target/arm: Implement FEAT_SYSREG128
which also reorganizes how ARMCPRegInfo are allocated during registration.
r~
Richard Henderson (36):
target/arm: Introduce KVMID_AA64_SYS_REG64
target/arm: Move compare_u64 to helper.c
target/arm/hvf: Split out sysreg.c.inc
target/arm/hvf: Reorder DEF_SYSREG arguments
target/arm/hvf: Add KVMID_TO_HVF, HVF_TO_KVMID
target/arm/hvf: Remove hvf_sreg_match.key
target/arm/hvf: Replace hvf_sreg_match with hvf_sreg_list
target/arm/hvf: Sort the cpreg_indexes array
target/arm/hvf: Use raw_read, raw_write to access
target/arm: Use raw_write in cp_reg_reset
target/arm: Rename all ARMCPRegInfo from opaque to ri
target/arm: Drop define_one_arm_cp_reg_with_opaque
target/arm: Restrict the scope of CPREG_FIELD32, CPREG_FIELD64
target/arm: Replace cpreg_field_is_64bit with cpreg_field_type
target/arm: Add CP_REG_AA32_64BIT_{SHIFT,MASK}
target/arm: Rename CP_REG_AA32_NS_{SHIFT,MASK}
target/arm: Convert init_cpreg_list to g_hash_table_foreach
target/arm: Remove cp argument to ENCODE_AA64_CP_REG
target/arm: Reorder ENCODE_AA64_CP_REG arguments
target/arm: Split out add_cpreg_to_hashtable_aa{32,64}
target/arm: Improve asserts in define_one_arm_cp_reg
target/arm: Move cp processing to define_one_arm_cp_reg
target/arm: Move cpreg elimination to define_one_arm_cp_reg
target/arm: Add key parameter to add_cpreg_to_hashtable
target/arm: Split out alloc_cpreg
target/arm: Hoist the allocation of ARMCPRegInfo
target/arm: Remove name argument to alloc_cpreg
target/arm: Move alias setting for wildcards
target/arm: Move writeback of CP_ANY fields
target/arm: Move endianness fixup for 32-bit registers
target/arm: Rename TBFLAG_A64_NV2_MEM_E20 with *_E2H
target/arm: Split out redirect_cpreg
target/arm: Redirect VHE FOO_EL1 -> FOO_EL2 during translation
target/arm: Redirect VHE FOO_EL12 to FOO_EL1 during translation
target/arm: Rename some cpreg to their aarch64 names
target/arm: Remove define_arm_vh_e2h_redirects_aliases
target/arm/cpregs.h | 111 ++--
target/arm/cpu.h | 3 +-
target/arm/internals.h | 3 +
target/arm/kvm-consts.h | 14 +-
target/arm/tcg/translate.h | 2 +
hw/intc/arm_gicv3_cpuif.c | 10 +-
target/arm/cpu.c | 10 +-
target/arm/gdbstub.c | 14 +-
target/arm/helper.c | 928 +++++++++++++++------------------
target/arm/hvf/hvf.c | 239 ++-------
target/arm/kvm.c | 11 -
target/arm/tcg/hflags.c | 8 +-
target/arm/tcg/translate-a64.c | 47 +-
target/arm/hvf/sysreg.c.inc | 146 ++++++
14 files changed, 738 insertions(+), 808 deletions(-)
create mode 100644 target/arm/hvf/sysreg.c.inc
--
2.43.0