All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 0/6] target/arm: Add aarch64 GPC3 bypass windows
@ 2026-06-03 18:26 Jim MacArthur
  2026-06-03 18:26 ` [PATCH v2 1/6] target/arm/tcg/cpu64.c: Extra test for GPC3 Jim MacArthur
                   ` (5 more replies)
  0 siblings, 6 replies; 15+ messages in thread
From: Jim MacArthur @ 2026-06-03 18:26 UTC (permalink / raw)
  To: qemu-devel; +Cc: Peter Maydell, qemu-arm, Jim MacArthur

Adds the GPC bypass windows defined in D9.2 of the Arm ARM. D9.8 (the 
APAS instruction) is not implemented yet.

A large part of this is testing. To test GPC effectively, we need to
check that memory accesses are causing exceptions, or not causing exceptions
as appropriate. For some tests, boot.S is altered to record certain
exceptions and continue executing the test. An alternative would be
to use gdbstub to break on locations inside the vector table and continue,
but this requires significant coordination between the C test binary and
Python test driver, so has been avoided for now.

Signed-off-by: Jim MacArthur <jim.macarthur@linaro.org>
---
Changes in v2:
- ptw.c changes have been rewritten after a number of faults were found
- boot.S: Align exception_log to page
- target/arm/helper.c: flush all caches and remove redundant mask
- Switch on of GPC3 moved after feature implementation
- Link to v1: https://lore.kernel.org/qemu-devel/20260528-jmac-gpc3b-v1-0-d34c46c5069f@linaro.org

---
Jim MacArthur (6):
      target/arm/tcg/cpu64.c: Extra test for GPC3.
      target/arm: Setup new registers for GPC3
      target/arm/ptw.c: Add Granule Bypass Windows
      target/arm/cpu-features.h: x-rme now means GPC3
      tests/tcg/aarch64/system: Alternative boot object for exception logging
      tests/tcg/aarch64/system/gpc-test.c: Basic test for granule protection check

 target/arm/cpu-features.h                 |   5 +
 target/arm/cpu.h                          |   7 ++
 target/arm/helper.c                       |  19 ++++
 target/arm/ptw.c                          |  81 +++++++++++++++
 target/arm/tcg/cpu64.c                    |   4 +-
 tests/tcg/aarch64/Makefile.softmmu-target |  22 +++-
 tests/tcg/aarch64/system/boot.S           |  62 +++++++++++
 tests/tcg/aarch64/system/boot.h           |  14 +++
 tests/tcg/aarch64/system/gpc-test.c       | 165 ++++++++++++++++++++++++++++++
 9 files changed, 372 insertions(+), 7 deletions(-)
---
base-commit: 405c32d2b18a683ba36301351af75125d9afda08
change-id: 20260528-jmac-gpc3b-187f9d7cf0dd

Best regards,
-- 
Jim MacArthur <jim.macarthur@linaro.org>



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

end of thread, other threads:[~2026-06-18 16:41 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-06-03 18:26 [PATCH v2 0/6] target/arm: Add aarch64 GPC3 bypass windows Jim MacArthur
2026-06-03 18:26 ` [PATCH v2 1/6] target/arm/tcg/cpu64.c: Extra test for GPC3 Jim MacArthur
2026-06-10 16:08   ` Richard Henderson
2026-06-03 18:26 ` [PATCH v2 2/6] target/arm: Setup new registers " Jim MacArthur
2026-06-10 16:17   ` Richard Henderson
2026-06-03 18:26 ` [PATCH v2 3/6] target/arm/ptw.c: Add Granule Bypass Windows Jim MacArthur
2026-06-10 16:41   ` Richard Henderson
2026-06-18 14:48     ` Jim MacArthur
2026-06-18 16:40       ` Richard Henderson
2026-06-03 18:26 ` [PATCH v2 4/6] target/arm/cpu-features.h: x-rme now means GPC3 Jim MacArthur
2026-06-10 16:42   ` Richard Henderson
2026-06-03 18:26 ` [PATCH v2 5/6] tests/tcg/aarch64/system: Alternative boot object for exception logging Jim MacArthur
2026-06-10 17:12   ` Richard Henderson
2026-06-03 18:26 ` [PATCH v2 6/6] tests/tcg/aarch64/system/gpc-test.c: Basic test for granule protection check Jim MacArthur
2026-06-10 17:15   ` Richard Henderson

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.