diff options
| author | Mark Brown <broonie@kernel.org> | 2026-09-29 12:57:58 +0100 |
|---|---|---|
| committer | Marc Zyngier <maz@kernel.org> | 2026-09-30 09:15:27 +0100 |
| commit | 19868b67e3e73c34493efdd5b0791ccfdc7bf192 (patch) | |
| tree | e5c5c60ede5823fa808e784a550c6eaabb21472d /tools/perf/scripts/python/stackcollapse.py | |
| parent | fd73f4a6659897191fa0d40695fe370925dd3780 (diff) | |
| download | linux-next-19868b67e3e73c34493efdd5b0791ccfdc7bf192.tar.gz linux-next-19868b67e3e73c34493efdd5b0791ccfdc7bf192.zip | |
KVM: arm64: Finalize guest-wide sysregs prior to per-vCPU sysregs
In commit d82d09d5ba4b ("KVM: arm64: Don't skip per-vcpu NV
initialisation") the NV register sanitisation was moved earlier in
kvm_finalize_sys_regs() so that it runs for each vCPU rather than only
once per guest. This means that for the first vCPU it runs prior to vGIC
finalization, but the vGIC finalization updates the ID registers which
the NV initialization uses so we may end up with a mismatch. For
example, HFGRTR_EL2.ICC_IGRPENn_EL1 depends on GICv3 being enabled in
ID_AA64PFR0_EL1.GIC so may be mistakenly marked or not marked as RES0.
Split the initialization which runs once per guest into a separate
function and run that before the per-vCPU initialisation for NV,
renaming the per-vCPU function to make it clear that it does per-vCPU
setup.
Fixes: d82d09d5ba4b ("KVM: arm64: Don't skip per-vcpu NV initialisation")
Reviewed-by: Fuad Tabba <fuad.tabba@linux.dev>
Tested-by: Fuad Tabba <fuad.tabba@linux.dev>
Reviewed-by: Lorenzo Stoakes (ARM) <ljs@kernel.org>
Tested-by: Lorenzo Stoakes (ARM) <ljs@kernel.org>
Signed-off-by: Mark Brown <broonie@kernel.org>
Reviewed-by: Oliver Upton <oupton@kernel.org>
Link: https://patch.msgid.link/20260929-kvm-arm64-idreg-final-v4-1-75296dde994d@kernel.org
Signed-off-by: Marc Zyngier <maz@kernel.org>
Diffstat (limited to 'tools/perf/scripts/python/stackcollapse.py')
0 files changed, 0 insertions, 0 deletions
