aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorOliver Upton <oliver.upton@linux.dev>2023-10-03 23:04:05 +0000
committerOliver Upton <oliver.upton@linux.dev>2023-10-04 17:11:50 +0000
commitf89fbb350dd76d6b5f080954309b9dec5ad220ac (patch)
tree205124ab6cd474bd75687a3a20fbb8c7f1bad6ee
parentKVM: arm64: Allow userspace to change ID_AA64PFR0_EL1 (diff)
downloadwireguard-linux-f89fbb350dd76d6b5f080954309b9dec5ad220ac.tar.xz
wireguard-linux-f89fbb350dd76d6b5f080954309b9dec5ad220ac.zip
KVM: arm64: Allow userspace to change ID_AA64ZFR0_EL1
All known fields in ID_AA64ZFR0_EL1 describe the unprivileged instructions supported by the PE's SVE implementation. Allow userspace to pick and choose the advertised feature set, though nothing stops the guest from using undisclosed instructions. Reviewed-by: Marc Zyngier <maz@kernel.org> Link: https://lore.kernel.org/r/20231003230408.3405722-10-oliver.upton@linux.dev Signed-off-by: Oliver Upton <oliver.upton@linux.dev>
-rw-r--r--arch/arm64/kvm/sys_regs.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/arm64/kvm/sys_regs.c b/arch/arm64/kvm/sys_regs.c
index dbf915f88b17..57c8190d5438 100644
--- a/arch/arm64/kvm/sys_regs.c
+++ b/arch/arm64/kvm/sys_regs.c
@@ -2067,7 +2067,7 @@ static const struct sys_reg_desc sys_reg_descs[] = {
ID_SANITISED(ID_AA64PFR1_EL1),
ID_UNALLOCATED(4,2),
ID_UNALLOCATED(4,3),
- ID_SANITISED(ID_AA64ZFR0_EL1),
+ ID_WRITABLE(ID_AA64ZFR0_EL1, ~ID_AA64ZFR0_EL1_RES0),
ID_HIDDEN(ID_AA64SMFR0_EL1),
ID_UNALLOCATED(4,6),
ID_UNALLOCATED(4,7),