summaryrefslogtreecommitdiff
path: root/arch/arm64/kernel/image-vars.h
diff options
context:
space:
mode:
authorMarc Zyngier <maz@kernel.org>2021-03-05 21:52:51 +0300
committerPaolo Bonzini <pbonzini@redhat.com>2021-03-06 12:18:40 +0300
commitf27647b588c13647a60074b5a8dd39a86d919a1d (patch)
tree99a47bf8bf42dc6994eb98191dc0dd4dbbff080b /arch/arm64/kernel/image-vars.h
parent6b5b368fccd7109b052e45af8ba1464c8d140a49 (diff)
downloadlinux-f27647b588c13647a60074b5a8dd39a86d919a1d.tar.xz
KVM: arm64: Don't access PMSELR_EL0/PMUSERENR_EL0 when no PMU is available
When running under a nesting hypervisor, it isn't guaranteed that the virtual HW will include a PMU. In which case, let's not try to access the PMU registers in the world switch, as that'd be deadly. Reported-by: Andre Przywara <andre.przywara@arm.com> Signed-off-by: Marc Zyngier <maz@kernel.org> Reviewed-by: Alexandru Elisei <alexandru.elisei@arm.com> Link: https://lore.kernel.org/r/20210209114844.3278746-3-maz@kernel.org Message-Id: <20210305185254.3730990-6-maz@kernel.org> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'arch/arm64/kernel/image-vars.h')
-rw-r--r--arch/arm64/kernel/image-vars.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/arm64/kernel/image-vars.h b/arch/arm64/kernel/image-vars.h
index 23f1a557bd9f..5aa9ed1e9ec6 100644
--- a/arch/arm64/kernel/image-vars.h
+++ b/arch/arm64/kernel/image-vars.h
@@ -101,6 +101,9 @@ KVM_NVHE_ALIAS(__stop___kvm_ex_table);
/* Array containing bases of nVHE per-CPU memory regions. */
KVM_NVHE_ALIAS(kvm_arm_hyp_percpu_base);
+/* PMU available static key */
+KVM_NVHE_ALIAS(kvm_arm_pmu_available);
+
#endif /* CONFIG_KVM */
#endif /* __ARM64_KERNEL_IMAGE_VARS_H */