summaryrefslogtreecommitdiff
path: root/scripts/lib
diff options
context:
space:
mode:
authorRaghavendra Rao Ananta <rananta@google.com>2025-04-05 03:10:42 +0300
committerOliver Upton <oliver.upton@linux.dev>2025-04-06 21:13:50 +0300
commitc8631ea59b6523035ffb607634eef7bacc8947fe (patch)
treea8f445f64f5393193babb10eed802cd3ff0a4d69 /scripts/lib
parentd8d78398e550039295e0237eafb703e2d21f7d57 (diff)
downloadlinux-c8631ea59b6523035ffb607634eef7bacc8947fe.tar.xz
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>
Diffstat (limited to 'scripts/lib')
0 files changed, 0 insertions, 0 deletions