summaryrefslogtreecommitdiffstats
path: root/arch/arm64/kvm
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 /arch/arm64/kvm
parent8cfd5be88ebe3d71be1a2c52fc72a355bb924b49 (diff)
downloadlinux-stable-f89fbb350dd76d6b5f080954309b9dec5ad220ac.tar.gz
linux-stable-f89fbb350dd76d6b5f080954309b9dec5ad220ac.tar.bz2
linux-stable-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>
Diffstat (limited to 'arch/arm64/kvm')
-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),