qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PULL 00/76] target-arm queue
@ 2025-10-10 13:04 Peter Maydell
  2025-10-10 13:04 ` [PULL 01/76] tests/functional: update tests using TF-A/TF-RMM to support FEAT_GCS Peter Maydell
                   ` (76 more replies)
  0 siblings, 77 replies; 80+ messages in thread
From: Peter Maydell @ 2025-10-10 13:04 UTC (permalink / raw)
  To: qemu-devel

Hi; this is another target-arm pullreq. It's a big one but it's
only two series: FEAT_MEC and FEAT_GCS.

thanks
-- PMM

The following changes since commit 94474a7733a57365d5a27efc28c05462e90e8944:

  Merge tag 'pull-loongarch-20251009' of https://github.com/gaosong715/qemu into staging (2025-10-09 07:59:29 -0700)

are available in the Git repository at:

  https://gitlab.com/pm215/qemu.git tags/pull-target-arm-20251010

for you to fetch changes up to 00936783abf77ebb47a78312a2e6500c6a13d938:

  target/arm: Enable FEAT_MEC in -cpu max (2025-10-10 13:22:05 +0100)

----------------------------------------------------------------
target-arm queue:
 * Implement FEAT_GCS
 * Implement FEAT_MEC

----------------------------------------------------------------
Gustavo Romero (3):
      target/arm: Add a cpreg flag to indicate no trap in NV
      target/arm: Implement FEAT_MEC registers
      target/arm: Enable FEAT_MEC in -cpu max

Pierrick Bouvier (1):
      tests/functional: update tests using TF-A/TF-RMM to support FEAT_GCS

Richard Henderson (72):
      target/arm: Add isar feature test for FEAT_S1PIE, FEAT_S2PIE
      target/arm: Enable TCR2_ELx.PIE
      target/arm: Implement PIR_ELx, PIRE0_ELx, S2PIR_EL2 registers
      target/arm: Force HPD for stage2 translations
      target/arm: Cache NV1 early in get_phys_addr_lpae
      target/arm: Populate PIE in aa64_va_parameters
      target/arm: Implement get_S1prot_indirect
      target/arm: Implement get_S2prot_indirect
      target/arm: Expand CPUARMState.exception.syndrome to 64 bits
      target/arm: Expand syndrome parameter to raise_exception*
      target/arm: Implement dirtybit check for PIE
      target/arm: Enable FEAT_S1PIE and FEAT_S2PIE on -cpu max
      include/exec/memopidx: Adjust for 32 mmu indexes
      include/hw/core/cpu: Widen MMUIdxMap
      target/arm: Split out mmuidx.h from cpu.h
      target/arm: Convert arm_mmu_idx_to_el from switch to table
      target/arm: Remove unused env argument from regime_el
      target/arm: Convert regime_el from switch to table
      target/arm: Convert regime_has_2_ranges from switch to table
      target/arm: Remove unused env argument from regime_is_pan
      target/arm: Convert regime_is_pan from switch to table
      target/arm: Remove unused env argument from regime_is_user
      target/arm: Convert regime_is_user from switch to table
      target/arm: Convert arm_mmu_idx_is_stage1_of_2 from switch to table
      target/arm: Convert regime_is_stage2 to table
      target/arm: Introduce mmu indexes for GCS
      target/arm: Introduce regime_to_gcs
      target/arm: Support page protections for GCS mmu indexes
      target/arm: Implement gcs bit for data abort
      target/arm: Add GCS cpregs
      target/arm: Add GCS enable and trap levels to DisasContext
      target/arm: Implement FEAT_CHK
      target/arm: Make helper_exception_return system-only
      target/arm: Export cpsr_{read_for, write_from}_spsr_elx
      target/arm: Expand pstate to 64 bits
      target/arm: Add syndrome data for EC_GCS
      target/arm: Add arm_hcr_el2_nvx_eff
      target/arm: Use arm_hcr_el2_nvx_eff in access_nv1
      target/arm: Split out access_nv1_with_nvx
      target/arm: Implement EXLOCKException for ELR_ELx and SPSR_ELx
      target/arm: Split {full,core}_a64_user_mem_index
      target/arm: Introduce delay_exception{_el}
      target/arm: Emit HSTR trap exception out of line
      target/arm: Emit v7m LTPSIZE exception out of line
      target/arm: Implement GCSSTR, GCSSTTR
      target/arm: Implement GCSB
      target/arm: Implement GCSPUSHM
      target/arm: Implement GCSPOPM
      target/arm: Implement GCSPUSHX
      target/arm: Implement GCSPOPX
      target/arm: Implement GCSPOPCX
      target/arm: Implement GCSSS1
      target/arm: Implement GCSSS2
      target/arm: Add gcs record for BL
      target/arm: Add gcs record for BLR
      target/arm: Add gcs record for BLR with PAuth
      target/arm: Load gcs record for RET
      target/arm: Load gcs record for RET with PAuth
      target/arm: Copy EXLOCKEn to EXLOCK on exception to the same EL
      target/arm: Implement EXLOCK check during exception return
      target/arm: Enable FEAT_GCS with -cpu max
      linux-user/aarch64: Implement prctls for GCS
      linux-user/aarch64: Allocate new gcs stack on clone
      linux-user/aarch64: Release gcs stack on thread exit
      linux-user/aarch64: Implement map_shadow_stack syscall
      target/arm: Enable GCSPR_EL0 for read in user-mode
      linux-user/aarch64: Inject SIGSEGV for GCS faults
      linux-user/aarch64: Generate GCS signal records
      linux-user/aarch64: Enable GCS in HWCAP
      tests/tcg/aarch64: Add gcsstr
      tests/tcg/aarch64: Add gcspushm
      tests/tcg/aarch64: Add gcsss

 docs/system/arm/emulation.rst                      |   7 +
 include/exec/memopidx.h                            |   9 +-
 include/hw/core/cpu.h                              |   7 +-
 linux-user/aarch64/gcs-internal.h                  |  38 ++
 linux-user/aarch64/target_prctl.h                  |  96 +++++
 linux-user/aarch64/target_signal.h                 |   1 +
 linux-user/qemu.h                                  |   5 +
 target/arm/cpregs.h                                |  42 +-
 target/arm/cpu-features.h                          |  20 +
 target/arm/cpu.h                                   | 253 ++----------
 target/arm/internals.h                             | 151 ++-----
 target/arm/mmuidx-internal.h                       | 113 ++++++
 target/arm/mmuidx.h                                | 241 ++++++++++++
 target/arm/syndrome.h                              |  35 ++
 target/arm/tcg/helper-a64.h                        |   5 +-
 target/arm/tcg/translate.h                         |  46 ++-
 tests/tcg/aarch64/gcs.h                            |  80 ++++
 target/arm/tcg/a64.decode                          |   5 +
 accel/tcg/cputlb.c                                 |   3 -
 linux-user/aarch64/cpu_loop.c                      |   5 +
 linux-user/aarch64/elfload.c                       |   1 +
 linux-user/aarch64/signal.c                        | 138 ++++++-
 linux-user/syscall.c                               | 114 ++++++
 target/arm/cpregs-gcs.c                            | 156 ++++++++
 target/arm/cpu.c                                   |  20 +-
 target/arm/gdbstub64.c                             |   2 +
 target/arm/helper.c                                | 391 +++++++++++++++---
 target/arm/machine.c                               | 113 +++++-
 target/arm/mmuidx.c                                |  66 ++++
 target/arm/ptw.c                                   | 365 +++++++++++++----
 target/arm/tcg-stubs.c                             |   2 +-
 target/arm/tcg/cpu64.c                             |   4 +
 target/arm/tcg/helper-a64.c                        |  35 +-
 target/arm/tcg/hflags.c                            |  38 ++
 target/arm/tcg/mte_helper.c                        |   2 +-
 target/arm/tcg/op_helper.c                         |  11 +-
 target/arm/tcg/tlb-insns.c                         |  47 ++-
 target/arm/tcg/tlb_helper.c                        |  18 +-
 target/arm/tcg/translate-a64.c                     | 438 +++++++++++++++++++--
 target/arm/tcg/translate.c                         |  78 +++-
 tests/tcg/aarch64/gcspushm.c                       |  71 ++++
 tests/tcg/aarch64/gcsss.c                          |  74 ++++
 tests/tcg/aarch64/gcsstr.c                         |  48 +++
 target/arm/meson.build                             |   9 +-
 .../functional/aarch64/test_device_passthrough.py  |   4 +-
 tests/functional/aarch64/test_rme_sbsaref.py       |   4 +-
 tests/functional/aarch64/test_rme_virt.py          |   4 +-
 tests/tcg/aarch64/Makefile.target                  |   5 +
 48 files changed, 2810 insertions(+), 610 deletions(-)
 create mode 100644 linux-user/aarch64/gcs-internal.h
 create mode 100644 target/arm/mmuidx-internal.h
 create mode 100644 target/arm/mmuidx.h
 create mode 100644 tests/tcg/aarch64/gcs.h
 create mode 100644 target/arm/cpregs-gcs.c
 create mode 100644 target/arm/mmuidx.c
 create mode 100644 tests/tcg/aarch64/gcspushm.c
 create mode 100644 tests/tcg/aarch64/gcsss.c
 create mode 100644 tests/tcg/aarch64/gcsstr.c


^ permalink raw reply	[flat|nested] 80+ messages in thread

end of thread, other threads:[~2025-10-12 19:59 UTC | newest]

Thread overview: 80+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-10-10 13:04 [PULL 00/76] target-arm queue Peter Maydell
2025-10-10 13:04 ` [PULL 01/76] tests/functional: update tests using TF-A/TF-RMM to support FEAT_GCS Peter Maydell
2025-10-10 13:04 ` [PULL 02/76] target/arm: Add isar feature test for FEAT_S1PIE, FEAT_S2PIE Peter Maydell
2025-10-10 13:04 ` [PULL 03/76] target/arm: Enable TCR2_ELx.PIE Peter Maydell
2025-10-10 13:04 ` [PULL 04/76] target/arm: Implement PIR_ELx, PIRE0_ELx, S2PIR_EL2 registers Peter Maydell
2025-10-10 13:04 ` [PULL 05/76] target/arm: Force HPD for stage2 translations Peter Maydell
2025-10-10 13:04 ` [PULL 06/76] target/arm: Cache NV1 early in get_phys_addr_lpae Peter Maydell
2025-10-10 13:04 ` [PULL 07/76] target/arm: Populate PIE in aa64_va_parameters Peter Maydell
2025-10-10 13:04 ` [PULL 08/76] target/arm: Implement get_S1prot_indirect Peter Maydell
2025-10-10 13:04 ` [PULL 09/76] target/arm: Implement get_S2prot_indirect Peter Maydell
2025-10-10 13:04 ` [PULL 10/76] target/arm: Expand CPUARMState.exception.syndrome to 64 bits Peter Maydell
2025-10-10 13:04 ` [PULL 11/76] target/arm: Expand syndrome parameter to raise_exception* Peter Maydell
2025-10-10 13:04 ` [PULL 12/76] target/arm: Implement dirtybit check for PIE Peter Maydell
2025-10-10 13:04 ` [PULL 13/76] target/arm: Enable FEAT_S1PIE and FEAT_S2PIE on -cpu max Peter Maydell
2025-10-10 13:04 ` [PULL 14/76] include/exec/memopidx: Adjust for 32 mmu indexes Peter Maydell
2025-10-10 13:04 ` [PULL 15/76] include/hw/core/cpu: Widen MMUIdxMap Peter Maydell
2025-10-10 13:04 ` [PULL 16/76] target/arm: Split out mmuidx.h from cpu.h Peter Maydell
2025-10-10 13:04 ` [PULL 17/76] target/arm: Convert arm_mmu_idx_to_el from switch to table Peter Maydell
2025-10-10 13:04 ` [PULL 18/76] target/arm: Remove unused env argument from regime_el Peter Maydell
2025-10-10 13:04 ` [PULL 19/76] target/arm: Convert regime_el from switch to table Peter Maydell
2025-10-10 13:04 ` [PULL 20/76] target/arm: Convert regime_has_2_ranges " Peter Maydell
2025-10-10 13:04 ` [PULL 21/76] target/arm: Remove unused env argument from regime_is_pan Peter Maydell
2025-10-10 13:04 ` [PULL 22/76] target/arm: Convert regime_is_pan from switch to table Peter Maydell
2025-10-10 13:04 ` [PULL 23/76] target/arm: Remove unused env argument from regime_is_user Peter Maydell
2025-10-10 13:04 ` [PULL 24/76] target/arm: Convert regime_is_user from switch to table Peter Maydell
2025-10-10 13:04 ` [PULL 25/76] target/arm: Convert arm_mmu_idx_is_stage1_of_2 " Peter Maydell
2025-10-10 13:04 ` [PULL 26/76] target/arm: Convert regime_is_stage2 " Peter Maydell
2025-10-10 13:04 ` [PULL 27/76] target/arm: Introduce mmu indexes for GCS Peter Maydell
2025-10-10 13:04 ` [PULL 28/76] target/arm: Introduce regime_to_gcs Peter Maydell
2025-10-10 13:04 ` [PULL 29/76] target/arm: Support page protections for GCS mmu indexes Peter Maydell
2025-10-10 13:04 ` [PULL 30/76] target/arm: Implement gcs bit for data abort Peter Maydell
2025-10-10 13:04 ` [PULL 31/76] target/arm: Add GCS cpregs Peter Maydell
2025-10-10 13:04 ` [PULL 32/76] target/arm: Add GCS enable and trap levels to DisasContext Peter Maydell
2025-10-10 13:04 ` [PULL 33/76] target/arm: Implement FEAT_CHK Peter Maydell
2025-10-10 13:04 ` [PULL 34/76] target/arm: Make helper_exception_return system-only Peter Maydell
2025-10-10 13:04 ` [PULL 35/76] target/arm: Export cpsr_{read_for, write_from}_spsr_elx Peter Maydell
2025-10-10 13:04 ` [PULL 36/76] target/arm: Expand pstate to 64 bits Peter Maydell
2025-10-10 13:04 ` [PULL 37/76] target/arm: Add syndrome data for EC_GCS Peter Maydell
2025-10-10 13:04 ` [PULL 38/76] target/arm: Add arm_hcr_el2_nvx_eff Peter Maydell
2025-10-10 13:04 ` [PULL 39/76] target/arm: Use arm_hcr_el2_nvx_eff in access_nv1 Peter Maydell
2025-10-10 13:04 ` [PULL 40/76] target/arm: Split out access_nv1_with_nvx Peter Maydell
2025-10-10 13:04 ` [PULL 41/76] target/arm: Implement EXLOCKException for ELR_ELx and SPSR_ELx Peter Maydell
2025-10-10 13:04 ` [PULL 42/76] target/arm: Split {full,core}_a64_user_mem_index Peter Maydell
2025-10-10 13:04 ` [PULL 43/76] target/arm: Introduce delay_exception{_el} Peter Maydell
2025-10-10 13:04 ` [PULL 44/76] target/arm: Emit HSTR trap exception out of line Peter Maydell
2025-10-10 13:04 ` [PULL 45/76] target/arm: Emit v7m LTPSIZE " Peter Maydell
2025-10-10 13:04 ` [PULL 46/76] target/arm: Implement GCSSTR, GCSSTTR Peter Maydell
2025-10-10 13:04 ` [PULL 47/76] target/arm: Implement GCSB Peter Maydell
2025-10-10 13:04 ` [PULL 48/76] target/arm: Implement GCSPUSHM Peter Maydell
2025-10-10 13:05 ` [PULL 49/76] target/arm: Implement GCSPOPM Peter Maydell
2025-10-10 13:05 ` [PULL 50/76] target/arm: Implement GCSPUSHX Peter Maydell
2025-10-10 13:05 ` [PULL 51/76] target/arm: Implement GCSPOPX Peter Maydell
2025-10-10 13:05 ` [PULL 52/76] target/arm: Implement GCSPOPCX Peter Maydell
2025-10-10 13:05 ` [PULL 53/76] target/arm: Implement GCSSS1 Peter Maydell
2025-10-10 13:05 ` [PULL 54/76] target/arm: Implement GCSSS2 Peter Maydell
2025-10-10 13:05 ` [PULL 55/76] target/arm: Add gcs record for BL Peter Maydell
2025-10-10 13:05 ` [PULL 56/76] target/arm: Add gcs record for BLR Peter Maydell
2025-10-10 13:05 ` [PULL 57/76] target/arm: Add gcs record for BLR with PAuth Peter Maydell
2025-10-10 13:05 ` [PULL 58/76] target/arm: Load gcs record for RET Peter Maydell
2025-10-10 13:05 ` [PULL 59/76] target/arm: Load gcs record for RET with PAuth Peter Maydell
2025-10-10 13:05 ` [PULL 60/76] target/arm: Copy EXLOCKEn to EXLOCK on exception to the same EL Peter Maydell
2025-10-10 13:05 ` [PULL 61/76] target/arm: Implement EXLOCK check during exception return Peter Maydell
2025-10-10 13:05 ` [PULL 62/76] target/arm: Enable FEAT_GCS with -cpu max Peter Maydell
2025-10-10 13:05 ` [PULL 63/76] linux-user/aarch64: Implement prctls for GCS Peter Maydell
2025-10-10 13:05 ` [PULL 64/76] linux-user/aarch64: Allocate new gcs stack on clone Peter Maydell
2025-10-10 13:05 ` [PULL 65/76] linux-user/aarch64: Release gcs stack on thread exit Peter Maydell
2025-10-10 13:05 ` [PULL 66/76] linux-user/aarch64: Implement map_shadow_stack syscall Peter Maydell
2025-10-10 13:05 ` [PULL 67/76] target/arm: Enable GCSPR_EL0 for read in user-mode Peter Maydell
2025-10-10 13:05 ` [PULL 68/76] linux-user/aarch64: Inject SIGSEGV for GCS faults Peter Maydell
2025-10-10 13:05 ` [PULL 69/76] linux-user/aarch64: Generate GCS signal records Peter Maydell
2025-10-10 13:05 ` [PULL 70/76] linux-user/aarch64: Enable GCS in HWCAP Peter Maydell
2025-10-10 13:05 ` [PULL 71/76] tests/tcg/aarch64: Add gcsstr Peter Maydell
2025-10-10 13:05 ` [PULL 72/76] tests/tcg/aarch64: Add gcspushm Peter Maydell
2025-10-10 13:05 ` [PULL 73/76] tests/tcg/aarch64: Add gcsss Peter Maydell
2025-10-10 13:05 ` [PULL 74/76] target/arm: Add a cpreg flag to indicate no trap in NV Peter Maydell
2025-10-10 13:05 ` [PULL 75/76] target/arm: Implement FEAT_MEC registers Peter Maydell
2025-10-10 13:05 ` [PULL 76/76] target/arm: Enable FEAT_MEC in -cpu max Peter Maydell
2025-10-10 19:03 ` [PULL 00/76] target-arm queue Richard Henderson
2025-10-10 19:58   ` Gustavo Romero
2025-10-12 19:58     ` Peter Maydell

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).