summaryrefslogtreecommitdiff
path: root/tools/perf/scripts/python/export-to-sqlite.py
diff options
context:
space:
mode:
authorMarc Zyngier <maz@kernel.org>2021-03-23 19:08:18 +0300
committerMarc Zyngier <maz@kernel.org>2021-03-24 20:26:38 +0300
commitaf22df997d71c32304d6835a8b690281063b8010 (patch)
tree9a295c9d662c7ad3a958c281b6686cb5133f368a /tools/perf/scripts/python/export-to-sqlite.py
parenta354a64d91eec3e0f8ef0eed575b480fd75b999c (diff)
downloadlinux-af22df997d71c32304d6835a8b690281063b8010.tar.xz
KVM: arm64: Fix CPU interface MMIO compatibility detection
In order to detect whether a GICv3 CPU interface is MMIO capable, we switch ICC_SRE_EL1.SRE to 0 and check whether it sticks. However, this is only possible if *ALL* of the HCR_EL2 interrupt overrides are set, and the CPU is perfectly allowed to ignore the write to ICC_SRE_EL1 otherwise. This leads KVM to pretend that a whole bunch of ARMv8.0 CPUs aren't MMIO-capable, and breaks VMs that should work correctly otherwise. Fix this by setting IMO/FMO/IMO before touching ICC_SRE_EL1, and clear them afterwards. This allows us to reliably detect the CPU interface capabilities. Tested-by: Shameerali Kolothum Thodi <shameerali.kolothum.thodi@huawei.com> Fixes: 9739f6ef053f ("KVM: arm64: Workaround firmware wrongly advertising GICv2-on-v3 compatibility") Signed-off-by: Marc Zyngier <maz@kernel.org>
Diffstat (limited to 'tools/perf/scripts/python/export-to-sqlite.py')
0 files changed, 0 insertions, 0 deletions