You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Merge branch kvm-arm64/ampere1-hafdbs-mitigation into kvmarm/next
* kvm-arm64/ampere1-hafdbs-mitigation:
: AmpereOne erratum AC03_CPU_38 mitigation
:
: AmpereOne does not advertise support for FEAT_HAFDBS due to an
: underlying erratum in the feature. The associated control bits do not
: have RES0 behavior as required by the architecture.
:
: Introduce mitigations to prevent KVM from enabling the feature at
: stage-2 as well as preventing KVM guests from enabling HAFDBS at
: stage-1.
KVM: arm64: Prevent guests from enabling HA/HD on Ampere1
KVM: arm64: Refactor HFGxTR configuration into separate helpers
arm64: errata: Mitigate Ampere1 erratum AC03_CPU_38 at stage-2
Signed-off-by: Oliver Upton <oliver.upton@linux.dev>
Copy file name to clipboardExpand all lines: arch/arm64/Kconfig
+19Lines changed: 19 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -407,6 +407,25 @@ menu "Kernel Features"
407
407
408
408
menu "ARM errata workarounds via the alternatives framework"
409
409
410
+
config AMPERE_ERRATUM_AC03_CPU_38
411
+
bool "AmpereOne: AC03_CPU_38: Certain bits in the Virtualization Translation Control Register and Translation Control Registers do not follow RES0 semantics"
412
+
default y
413
+
help
414
+
This option adds an alternative code sequence to work around Ampere
415
+
erratum AC03_CPU_38 on AmpereOne.
416
+
417
+
The affected design reports FEAT_HAFDBS as not implemented in
418
+
ID_AA64MMFR1_EL1.HAFDBS, but (V)TCR_ELx.{HA,HD} are not RES0
419
+
as required by the architecture. The unadvertised HAFDBS
420
+
implementation suffers from an additional erratum where hardware
421
+
A/D updates can occur after a PTE has been marked invalid.
422
+
423
+
The workaround forces KVM to explicitly set VTCR_EL2.HA to 0,
424
+
which avoids enabling unadvertised hardware Access Flag management
0 commit comments