]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
x86/virt/tdx: Print TDX module version during init
authorVishal Verma <vishal.l.verma@intel.com>
Fri, 9 Jan 2026 19:14:31 +0000 (12:14 -0700)
committerDave Hansen <dave.hansen@linux.intel.com>
Wed, 25 Feb 2026 22:46:33 +0000 (14:46 -0800)
It is useful to print the TDX module version in dmesg logs. This is
currently the only way to determine the module version from the host. It
also creates a record for any future problems being investigated. This
was also requested in [1].

Include the version in the log messages during init, e.g.:

  virt/tdx: TDX module version: 1.5.24
  virt/tdx: 1034220 KB allocated for PAMT
  virt/tdx: module initialized

Print the version in get_tdx_sys_info(), right after the version
metadata is read, which makes it available even if there are subsequent
initialization failures.

Based on a patch by Kai Huang <kai.huang@intel.com> [2]

Signed-off-by: Vishal Verma <vishal.l.verma@intel.com>
Signed-off-by: Dave Hansen <dave.hansen@linux.intel.com>
Reviewed-by: Chao Gao <chao.gao@intel.com>
Reviewed-by: Tony Lindgren <tony.lindgren@linux.intel.com>
Reviewed-by: Kiryl Shutsemau <kas@kernel.org>
Reviewed-by: Binbin Wu <binbin.wu@linux.intel.com>
Reviewed-by: Xiaoyao Li <xiaoyao.li@intel.com>
Reviewed-by: Rick Edgecombe <rick.p.edgecombe@intel.com>
Reviewed-by: Kai Huang <kai.huang@intel.com>
Link: https://lore.kernel.org/all/CAGtprH8eXwi-TcH2+-Fo5YdbEwGmgLBh9ggcDvd6N=bsKEJ_WQ@mail.gmail.com/
Link: https://lore.kernel.org/all/6b5553756f56a8e3222bfc36d0bdb3e5192137b7.1731318868.git.kai.huang@intel.com
Link: https://patch.msgid.link/20260109-tdx_print_module_version-v2-2-e10e4ca5b450@intel.com
arch/x86/virt/vmx/tdx/tdx_global_metadata.c

index 0454124803f360c376aa8eccf8c96f4ef63e6c4c..4c9917a9c2c39ad727fb0bd20233d8ba4be9a76d 100644 (file)
@@ -105,6 +105,12 @@ static int get_tdx_sys_info(struct tdx_sys_info *sysinfo)
        int ret = 0;
 
        ret = ret ?: get_tdx_sys_info_version(&sysinfo->version);
+
+       pr_info("Module version: %u.%u.%02u\n",
+               sysinfo->version.major_version,
+               sysinfo->version.minor_version,
+               sysinfo->version.update_version);
+
        ret = ret ?: get_tdx_sys_info_features(&sysinfo->features);
        ret = ret ?: get_tdx_sys_info_tdmr(&sysinfo->tdmr);
        ret = ret ?: get_tdx_sys_info_td_ctrl(&sysinfo->td_ctrl);