On 5/5/22 04:11, Peter Maydell wrote:
> Two small bugfixes, plus most of RTH's refactoring of cpregs
> handling.
>
> -- PMM
>
> The following changes since commit 1fba9dc71a170b3a05b9d3272dd8ecfe7f26e215:
>
> Merge tag 'pull-request-2022-05-04' of https://gitlab.com/thuth/qemu into staging (2022-05-04 08:07:02 -0700)
>
> are available in the Git repository at:
>
> https://git.linaro.org/people/pmaydell/qemu-arm.git tags/pull-target-arm-20220505
>
> for you to fetch changes up to 99a50d1a67c602126fc2b3a4812d3000eba9bf34:
>
> target/arm: read access to performance counters from EL0 (2022-05-05 09:36:22 +0100)
>
> ----------------------------------------------------------------
> target-arm queue:
> * Enable read access to performance counters from EL0
> * Enable SCTLR_EL1.BT0 for aarch64-linux-user
> * Refactoring of cpreg handling
Applied, thanks. Please update https://wiki.qemu.org/ChangeLog/7.1 as appropriate.
r~
>
> ----------------------------------------------------------------
> Alex Zuepke (1):
> target/arm: read access to performance counters from EL0
>
> Richard Henderson (22):
> target/arm: Enable SCTLR_EL1.BT0 for aarch64-linux-user
> target/arm: Split out cpregs.h
> target/arm: Reorg CPAccessResult and access_check_cp_reg
> target/arm: Replace sentinels with ARRAY_SIZE in cpregs.h
> target/arm: Make some more cpreg data static const
> target/arm: Reorg ARMCPRegInfo type field bits
> target/arm: Avoid bare abort() or assert(0)
> target/arm: Change cpreg access permissions to enum
> target/arm: Name CPState type
> target/arm: Name CPSecureState type
> target/arm: Drop always-true test in define_arm_vh_e2h_redirects_aliases
> target/arm: Store cpregs key in the hash table directly
> target/arm: Merge allocation of the cpreg and its name
> target/arm: Hoist computation of key in add_cpreg_to_hashtable
> target/arm: Consolidate cpreg updates in add_cpreg_to_hashtable
> target/arm: Use bool for is64 and ns in add_cpreg_to_hashtable
> target/arm: Hoist isbanked computation in add_cpreg_to_hashtable
> target/arm: Perform override check early in add_cpreg_to_hashtable
> target/arm: Reformat comments in add_cpreg_to_hashtable
> target/arm: Remove HOST_BIG_ENDIAN ifdef in add_cpreg_to_hashtable
> target/arm: Add isar predicates for FEAT_Debugv8p2
> target/arm: Add isar_feature_{aa64,any}_ras
>
> target/arm/cpregs.h | 453 ++++++++++++++++++++++++++++++++++++++
> target/arm/cpu.h | 393 +++------------------------------
> hw/arm/pxa2xx.c | 2 +-
> hw/arm/pxa2xx_pic.c | 2 +-
> hw/intc/arm_gicv3_cpuif.c | 6 +-
> hw/intc/arm_gicv3_kvm.c | 3 +-
> target/arm/cpu.c | 25 +--
> target/arm/cpu64.c | 2 +-
> target/arm/cpu_tcg.c | 5 +-
> target/arm/gdbstub.c | 5 +-
> target/arm/helper.c | 358 +++++++++++++-----------------
> target/arm/hvf/hvf.c | 2 +-
> target/arm/kvm-stub.c | 4 +-
> target/arm/kvm.c | 4 +-
> target/arm/machine.c | 4 +-
> target/arm/op_helper.c | 57 ++---
> target/arm/translate-a64.c | 14 +-
> target/arm/translate-neon.c | 2 +-
> target/arm/translate.c | 13 +-
> tests/tcg/aarch64/bti-3.c | 42 ++++
> tests/tcg/aarch64/Makefile.target | 6 +-
> 21 files changed, 738 insertions(+), 664 deletions(-)
> create mode 100644 target/arm/cpregs.h
> create mode 100644 tests/tcg/aarch64/bti-3.c
>