aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/arch/arm64/kvm/sys_regs.c
diff options
context:
space:
mode:
authorMarc Zyngier <maz@kernel.org>2022-05-04 09:42:16 +0100
committerMarc Zyngier <maz@kernel.org>2022-05-04 09:42:16 +0100
commitb2c4caf3316ce535af333bbd2cd99ad96f991074 (patch)
tree33bd05ec99caab3a0cab27f7f65f2fed2b64d9f2 /arch/arm64/kvm/sys_regs.c
parentMerge remote-tracking branch 'arm64/for-next/sme' into kvmarm-master/next (diff)
parentKVM: arm64: Expose the WFXT feature to guests (diff)
downloadwireguard-linux-b2c4caf3316ce535af333bbd2cd99ad96f991074.tar.xz
wireguard-linux-b2c4caf3316ce535af333bbd2cd99ad96f991074.zip
Merge branch kvm-arm64/wfxt into kvmarm-master/next
* kvm-arm64/wfxt: : . : Add support for the WFET/WFIT instructions that provide the same : service as WFE/WFI, only with a timeout. : . KVM: arm64: Expose the WFXT feature to guests KVM: arm64: Offer early resume for non-blocking WFxT instructions KVM: arm64: Handle blocking WFIT instruction KVM: arm64: Introduce kvm_counter_compute_delta() helper KVM: arm64: Simplify kvm_cpu_has_pending_timer() arm64: Use WFxT for __delay() when possible arm64: Add wfet()/wfit() helpers arm64: Add HWCAP advertising FEAT_WFXT arm64: Add RV and RN fields for ESR_ELx_WFx_ISS arm64: Expand ESR_ELx_WFx_ISS_TI to match its ARMv8.7 definition Signed-off-by: Marc Zyngier <maz@kernel.org>
Diffstat (limited to 'arch/arm64/kvm/sys_regs.c')
-rw-r--r--arch/arm64/kvm/sys_regs.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/arm64/kvm/sys_regs.c b/arch/arm64/kvm/sys_regs.c
index 689e53dd4cb1..f455e53dd59b 100644
--- a/arch/arm64/kvm/sys_regs.c
+++ b/arch/arm64/kvm/sys_regs.c
@@ -1146,6 +1146,8 @@ static u64 read_id_reg(const struct kvm_vcpu *vcpu,
if (!vcpu_has_ptrauth(vcpu))
val &= ~(ARM64_FEATURE_MASK(ID_AA64ISAR2_APA3) |
ARM64_FEATURE_MASK(ID_AA64ISAR2_GPA3));
+ if (!cpus_have_final_cap(ARM64_HAS_WFXT))
+ val &= ~ARM64_FEATURE_MASK(ID_AA64ISAR2_WFXT);
break;
case SYS_ID_AA64DFR0_EL1:
/* Limit debug to ARMv8.0 */