Commit e891432c authored by Marc Zyngier's avatar Marc Zyngier
Browse files

KVM: arm64: nv: Advertise the lack of AArch32 EL0 support



Although we never supported 32bit anywhere in NV, we fail to
advertise so for EL0, probably owing to the relative lack of
hardware supporting both NV2 and 32bit EL0.

Add some sanitising to ID_AA64PFR0_EL1.EL0, and reaffirm that
"in 64bit-only we trust".

Reported-by: default avatarOliver Upton <oliver.upton@linux.dev>
Acked-by: default avatarOliver Upton <oliver.upton@linux.dev>
Signed-off-by: default avatarMarc Zyngier <maz@kernel.org>
parent 78d4f34e
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -830,8 +830,10 @@ static void limit_nv_id_regs(struct kvm *kvm)
		 NV_FTR(PFR0, RAS)	|
		 NV_FTR(PFR0, EL3)	|
		 NV_FTR(PFR0, EL2)	|
		 NV_FTR(PFR0, EL1));
	/* 64bit EL1/EL2/EL3 only */
		 NV_FTR(PFR0, EL1)	|
		 NV_FTR(PFR0, EL0));
	/* 64bit only at any EL */
	val |= FIELD_PREP(NV_FTR(PFR0, EL0), 0b0001);
	val |= FIELD_PREP(NV_FTR(PFR0, EL1), 0b0001);
	val |= FIELD_PREP(NV_FTR(PFR0, EL2), 0b0001);
	val |= FIELD_PREP(NV_FTR(PFR0, EL3), 0b0001);