]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph-client.git/commit
KVM: arm64: pkvm: Don't reprobe for ICH_VTR_EL2.TDS on CPU hotplug
authorMarc Zyngier <maz@kernel.org>
Tue, 10 Mar 2026 08:54:33 +0000 (08:54 +0000)
committerMarc Zyngier <maz@kernel.org>
Tue, 10 Mar 2026 09:48:45 +0000 (09:48 +0000)
commita79f7b4aeb8e7562cd6dbf9c223e2c2a04b1a85f
treee8663def3333c048eeb32ce1dce04f8d517116dc
parent6da5e537f5afe091658e846da1949d7e557d2ade
KVM: arm64: pkvm: Don't reprobe for ICH_VTR_EL2.TDS on CPU hotplug

Hotplugging a CPU off and back on fails with pKVM, as we try to
probe for ICH_VTR_EL2.TDS. In a non-VHE setup, this is achieved
by using an EL2 stub helper. However, the stubs are out of reach
once pKVM has deprivileged the kernel. The CPU never boots.

Since pKVM doesn't allow late onlining of CPUs, we can detect
that protected mode is enforced early on, and return the current
state of the capability.

Fixes: 2a28810cbb8b2 ("KVM: arm64: GICv3: Detect and work around the lack of ICV_DIR_EL1 trapping")
Reported-by: Vincent Donnefort <vdonnefort@google.com>
Tested-by: Vincent Donnefort <vdonnefort@google.com>
Reviewed-by: Suzuki K Poulose <suzuki.poulose@arm.com>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://patch.msgid.link/20260310085433.3936742-1-maz@kernel.org
Cc: stable@vger.kernel.org
arch/arm64/kernel/cpufeature.c