aboutsummaryrefslogtreecommitdiff
path: root/arch/x86/hyperv/ivm.c
diff options
context:
space:
mode:
authorGravatar Dexuan Cui <decui@microsoft.com> 2023-08-24 01:07:03 -0700
committerGravatar Wei Liu <wei.liu@kernel.org> 2023-08-25 00:04:56 +0000
commit08e9d12077fcc7c4c4579d7dcd8093b59b01369e (patch)
tree95784ca8040bc7c12a548bd874c51234ac32e11f /arch/x86/hyperv/ivm.c
parentx86/hyperv: Fix undefined reference to isolation_type_en_snp without CONFIG_H... (diff)
downloadlinux-08e9d12077fcc7c4c4579d7dcd8093b59b01369e.tar.gz
linux-08e9d12077fcc7c4c4579d7dcd8093b59b01369e.tar.bz2
linux-08e9d12077fcc7c4c4579d7dcd8093b59b01369e.zip
x86/hyperv: Add hv_isolation_type_tdx() to detect TDX guests
No logic change to SNP/VBS guests. hv_isolation_type_tdx() will be used to instruct a TDX guest on Hyper-V to do some TDX-specific operations, e.g. for a fully enlightened TDX guest (i.e. without the paravisor), hv_do_hypercall() should use __tdx_hypercall() and such a guest on Hyper-V should handle the Hyper-V Event/Message/Monitor pages specially. Reviewed-by: Michael Kelley <mikelley@microsoft.com> Reviewed-by: Tianyu Lan <tiala@microsoft.com> Signed-off-by: Dexuan Cui <decui@microsoft.com> Signed-off-by: Wei Liu <wei.liu@kernel.org> Link: https://lore.kernel.org/r/20230824080712.30327-2-decui@microsoft.com
Diffstat (limited to 'arch/x86/hyperv/ivm.c')
-rw-r--r--arch/x86/hyperv/ivm.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/arch/x86/hyperv/ivm.c b/arch/x86/hyperv/ivm.c
index cbbd3af4c3da..afdae1a8a117 100644
--- a/arch/x86/hyperv/ivm.c
+++ b/arch/x86/hyperv/ivm.c
@@ -562,3 +562,12 @@ bool hv_isolation_type_en_snp(void)
return static_branch_unlikely(&isolation_type_en_snp);
}
+DEFINE_STATIC_KEY_FALSE(isolation_type_tdx);
+/*
+ * hv_isolation_type_tdx - Check if the system runs in an Intel TDX based
+ * isolated VM.
+ */
+bool hv_isolation_type_tdx(void)
+{
+ return static_branch_unlikely(&isolation_type_tdx);
+}