linux/tools/testing
Raghavendra Rao Ananta c8631ea59b KVM: arm64: selftests: Explicitly set the page attrs to Inner-Shareable
Atomic instructions such as 'ldset' in the guest have been observed to
cause an EL1 data abort with FSC 0x35 (IMPLEMENTATION DEFINED fault
(Unsupported Exclusive or Atomic access)) on Neoverse-N3.

Per DDI0487L.a B2.2.6, atomic instructions are only architecturally
guaranteed for Inner/Outer Shareable Normal Write-Back memory. For
anything else the behavior is IMPLEMENTATION DEFINED and can lose
atomicity, or, in this case, generate an abort.

It would appear that selftests sets up the stage-1 mappings as Non
Shareable, leading to the observed abort. Explicitly set the
Shareability field to Inner Shareable for non-LPA2 page tables. Note
that for the LPA2 page table format, translations for cacheable memory
inherit the shareability attribute of the PTW, i.e. TCR_ELx.SH{0,1}.

Suggested-by: Oliver Upton <oupton@google.com>
Signed-off-by: Raghavendra Rao Ananta <rananta@google.com>
Link: https://lore.kernel.org/r/20250405001042.1470552-3-rananta@google.com
[oliver: Rephrase changelog]
Signed-off-by: Oliver Upton <oliver.upton@linux.dev>
2025-04-06 11:13:50 -07:00
..
crypto/chacha20-s390
cxl cxl changes for v6.14 2025-01-29 11:23:22 -08:00
fault-injection
ktest
kunit The various patchsets are summarized below. Plus of course many 2025-01-26 18:36:23 -08:00
memblock
nvdimm
radix-tree Xarray: do not return sibling entries from xas_find_marked() 2025-01-24 22:47:27 -08:00
scatterlist
selftests KVM: arm64: selftests: Explicitly set the page attrs to Inner-Shareable 2025-04-06 11:13:50 -07:00
shared tools: fix atomic_set() definition to set the value correctly 2025-01-12 19:03:35 -08:00
vma tools: add VM_WARN_ON_VMG definition 2025-01-25 20:22:46 -08:00
vsock vsock/test: Add test for SO_LINGER null ptr deref 2025-02-12 20:01:29 -08:00