]> git.ipfire.org Git - thirdparty/linux.git/commit
arch/x86: mshyperv: Discover Confidential VMBus availability
authorRoman Kisel <romank@linux.microsoft.com>
Wed, 8 Oct 2025 23:34:05 +0000 (16:34 -0700)
committerWei Liu <wei.liu@kernel.org>
Sat, 15 Nov 2025 06:18:14 +0000 (06:18 +0000)
commit7c8b6c326d830ca5c6b95f390c703966e14167e6
treecc24bc24b928663a7e91600348834e64f8a94564
parent6802d8af47d1dccd9a74a1f708fb9129244ef843
arch/x86: mshyperv: Discover Confidential VMBus availability

Confidential VMBus requires enabling paravisor SynIC, and
the x86_64 guest has to inspect the Virtualization Stack (VS)
CPUID leaf to see if Confidential VMBus is available. If it is,
the guest shall enable the paravisor SynIC.

Read the relevant data from the VS CPUID leaf. Refactor the
code to avoid repeating CPUID and add flags to the struct
ms_hyperv_info. For ARM64, the flag for Confidential VMBus
is not set which provides the desired behaviour for now as
it is not available on ARM64 just yet. Once ARM64 CCA guests
are supported, this flag will be set unconditionally when
running such a guest.

Signed-off-by: Roman Kisel <romank@linux.microsoft.com>
Reviewed-by: Michael Kelley <mhklinux@outlook.com>
Signed-off-by: Wei Liu <wei.liu@kernel.org>
arch/x86/kernel/cpu/mshyperv.c
include/asm-generic/mshyperv.h