]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
x86/virt/tdx: Enable TDX module runtime updates
authorChao Gao <chao.gao@intel.com>
Wed, 20 May 2026 22:29:13 +0000 (15:29 -0700)
committerDave Hansen <dave.hansen@linux.intel.com>
Wed, 3 Jun 2026 15:59:44 +0000 (08:59 -0700)
All pieces of TDX module runtime updates are in place. Enable it if it
is supported.

Signed-off-by: Chao Gao <chao.gao@intel.com>
Signed-off-by: Dave Hansen <dave.hansen@linux.intel.com>
Reviewed-by: Xu Yilun <yilun.xu@linux.intel.com>
Reviewed-by: Tony Lindgren <tony.lindgren@linux.intel.com>
Reviewed-by: Kiryl Shutsemau (Meta) <kas@kernel.org>
Reviewed-by: Rick Edgecombe <rick.p.edgecombe@intel.com>
Link: https://patch.msgid.link/20260520133909.409394-24-chao.gao@intel.com
arch/x86/include/asm/tdx.h

index 5d750fe53669c4e330a382a8f8407467e69ae88d..e5a9cf656c072ae759a6a80f097d65a7640552ca 100644 (file)
@@ -33,6 +33,7 @@
 #define TDX_RND_NO_ENTROPY     0x8000020300000000ULL
 
 /* Bit definitions of TDX_FEATURES0 metadata field */
+#define TDX_FEATURES0_TD_PRESERVING    BIT_ULL(1)
 #define TDX_FEATURES0_NO_RBP_MOD       BIT_ULL(18)
 
 #ifndef __ASSEMBLER__
@@ -113,8 +114,7 @@ const struct tdx_sys_info *tdx_get_sysinfo(void);
 
 static inline bool tdx_supports_runtime_update(const struct tdx_sys_info *sysinfo)
 {
-       /* To be enabled when kernel is ready. */
-       return false;
+       return sysinfo->features.tdx_features0 & TDX_FEATURES0_TD_PRESERVING;
 }
 
 int tdx_guest_keyid_alloc(void);