mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-08-21 06:50:25 +00:00
KVM: arm64: Sanitise ID_AA64MMFR3_EL1
Add the missing sanitisation of ID_AA64MMFR3_EL1, making sure we solely expose S1POE and TCRX (we currently don't support anything else). [joey: Took Marc's patch for S1PIE, and changed it for S1POE] Signed-off-by: Marc Zyngier <maz@kernel.org> Signed-off-by: Joey Gouly <joey.gouly@arm.com> Link: https://lore.kernel.org/r/20240822151113.1479789-11-joey.gouly@arm.com Signed-off-by: Will Deacon <will@kernel.org>
This commit is contained in:
parent
55f4b215fb
commit
70ed723829
1 changed files with 5 additions and 1 deletions
|
@ -1556,6 +1556,9 @@ static u64 __kvm_read_sanitised_id_reg(const struct kvm_vcpu *vcpu,
|
||||||
case SYS_ID_AA64MMFR2_EL1:
|
case SYS_ID_AA64MMFR2_EL1:
|
||||||
val &= ~ID_AA64MMFR2_EL1_CCIDX_MASK;
|
val &= ~ID_AA64MMFR2_EL1_CCIDX_MASK;
|
||||||
break;
|
break;
|
||||||
|
case SYS_ID_AA64MMFR3_EL1:
|
||||||
|
val &= ID_AA64MMFR3_EL1_TCRX | ID_AA64MMFR3_EL1_S1POE;
|
||||||
|
break;
|
||||||
case SYS_ID_MMFR4_EL1:
|
case SYS_ID_MMFR4_EL1:
|
||||||
val &= ~ARM64_FEATURE_MASK(ID_MMFR4_EL1_CCIDX);
|
val &= ~ARM64_FEATURE_MASK(ID_MMFR4_EL1_CCIDX);
|
||||||
break;
|
break;
|
||||||
|
@ -2427,7 +2430,8 @@ static const struct sys_reg_desc sys_reg_descs[] = {
|
||||||
ID_AA64MMFR2_EL1_IDS |
|
ID_AA64MMFR2_EL1_IDS |
|
||||||
ID_AA64MMFR2_EL1_NV |
|
ID_AA64MMFR2_EL1_NV |
|
||||||
ID_AA64MMFR2_EL1_CCIDX)),
|
ID_AA64MMFR2_EL1_CCIDX)),
|
||||||
ID_SANITISED(ID_AA64MMFR3_EL1),
|
ID_WRITABLE(ID_AA64MMFR3_EL1, (ID_AA64MMFR3_EL1_TCRX |
|
||||||
|
ID_AA64MMFR3_EL1_S1POE)),
|
||||||
ID_SANITISED(ID_AA64MMFR4_EL1),
|
ID_SANITISED(ID_AA64MMFR4_EL1),
|
||||||
ID_UNALLOCATED(7,5),
|
ID_UNALLOCATED(7,5),
|
||||||
ID_UNALLOCATED(7,6),
|
ID_UNALLOCATED(7,6),
|
||||||
|
|
Loading…
Add table
Reference in a new issue