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>
Reviewed-by: Chao Gao <chao.gao@intel.com>
Cc: Chao Gao <chao.gao@intel.com>
Cc: Rick Edgecombe <rick.p.edgecombe@intel.com>
Cc: Kai Huang <kai.huang@intel.com>
Cc: Dave Hansen <dave.hansen@linux.intel.com>
Cc: Dan Williams <dan.j.williams@intel.com>
Link: https://lore.kernel.org/all/CAGtprH8eXwi-TcH2+-Fo5YdbEwGmgLBh9ggcDvd6N=bsKEJ_WQ@mail.gmail.com/ # [1]
Link: https://lore.kernel.org/all/6b5553756f56a8e3222bfc36d0bdb3e5192137b7.1731318868.git.kai.huang@intel.com # [2]
---
arch/x86/virt/vmx/tdx/tdx_global_metadata.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/arch/x86/virt/vmx/tdx/tdx_global_metadata.c b/arch/x86/virt/vmx/tdx/tdx_global_metadata.c
index 0454124803f3..4c9917a9c2c3 100644
--- a/arch/x86/virt/vmx/tdx/tdx_global_metadata.c
+++ b/arch/x86/virt/vmx/tdx/tdx_global_metadata.c
@@ -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);
--
2.52.0
On Fri, Jan 09, 2026 at 12:14:31PM -0700, Vishal Verma wrote: > 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. Reviewed-by: Tony Lindgren <tony.lindgren@linux.intel.com>
On Fri, Jan 09, 2026 at 12:14:31PM -0700, Vishal Verma wrote: > 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> > Reviewed-by: Chao Gao <chao.gao@intel.com> > Cc: Chao Gao <chao.gao@intel.com> > Cc: Rick Edgecombe <rick.p.edgecombe@intel.com> > Cc: Kai Huang <kai.huang@intel.com> > Cc: Dave Hansen <dave.hansen@linux.intel.com> > Cc: Dan Williams <dan.j.williams@intel.com> > Link: https://lore.kernel.org/all/CAGtprH8eXwi-TcH2+-Fo5YdbEwGmgLBh9ggcDvd6N=bsKEJ_WQ@mail.gmail.com/ # [1] > Link: https://lore.kernel.org/all/6b5553756f56a8e3222bfc36d0bdb3e5192137b7.1731318868.git.kai.huang@intel.com # [2] Reviewed-by: Kiryl Shutsemau <kas@kernel.org> -- Kiryl Shutsemau / Kirill A. Shutemov
On 1/10/2026 3:14 AM, Vishal Verma wrote:
> 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]
Reviewed-by: Binbin Wu <binbin.wu@linux.intel.com>
One nit below.
>
> Signed-off-by: Vishal Verma <vishal.l.verma@intel.com>
> Reviewed-by: Chao Gao <chao.gao@intel.com>
> Cc: Chao Gao <chao.gao@intel.com>
> Cc: Rick Edgecombe <rick.p.edgecombe@intel.com>
> Cc: Kai Huang <kai.huang@intel.com>
> Cc: Dave Hansen <dave.hansen@linux.intel.com>
> Cc: Dan Williams <dan.j.williams@intel.com>
> Link: https://lore.kernel.org/all/CAGtprH8eXwi-TcH2+-Fo5YdbEwGmgLBh9ggcDvd6N=bsKEJ_WQ@mail.gmail.com/ # [1]
> Link: https://lore.kernel.org/all/6b5553756f56a8e3222bfc36d0bdb3e5192137b7.1731318868.git.kai.huang@intel.com # [2]
> ---
> arch/x86/virt/vmx/tdx/tdx_global_metadata.c | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> diff --git a/arch/x86/virt/vmx/tdx/tdx_global_metadata.c b/arch/x86/virt/vmx/tdx/tdx_global_metadata.c
> index 0454124803f3..4c9917a9c2c3 100644
> --- a/arch/x86/virt/vmx/tdx/tdx_global_metadata.c
> +++ b/arch/x86/virt/vmx/tdx/tdx_global_metadata.c
> @@ -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);
> +
Nit:
There is a mismatch b/t the change log and the code.
The printed message will be
virt/tdx: Module version: x.x.xx
instead of the format in the change log
virt/tdx: TDX module version: x.x.xx
> 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);
>
On 1/10/2026 3:14 AM, Vishal Verma wrote:
> 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>
> Reviewed-by: Chao Gao <chao.gao@intel.com>
Reviewed-by: Xiaoyao Li <xiaoyao.li@intel.com>
> Cc: Chao Gao <chao.gao@intel.com>
> Cc: Rick Edgecombe <rick.p.edgecombe@intel.com>
> Cc: Kai Huang <kai.huang@intel.com>
> Cc: Dave Hansen <dave.hansen@linux.intel.com>
> Cc: Dan Williams <dan.j.williams@intel.com>
> Link: https://lore.kernel.org/all/CAGtprH8eXwi-TcH2+-Fo5YdbEwGmgLBh9ggcDvd6N=bsKEJ_WQ@mail.gmail.com/ # [1]
> Link: https://lore.kernel.org/all/6b5553756f56a8e3222bfc36d0bdb3e5192137b7.1731318868.git.kai.huang@intel.com # [2]
> ---
> arch/x86/virt/vmx/tdx/tdx_global_metadata.c | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> diff --git a/arch/x86/virt/vmx/tdx/tdx_global_metadata.c b/arch/x86/virt/vmx/tdx/tdx_global_metadata.c
> index 0454124803f3..4c9917a9c2c3 100644
> --- a/arch/x86/virt/vmx/tdx/tdx_global_metadata.c
> +++ b/arch/x86/virt/vmx/tdx/tdx_global_metadata.c
> @@ -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);
>
On Fri, 2026-01-09 at 12:14 -0700, Vishal Verma wrote: > 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> > Reviewed-by: Chao Gao <chao.gao@intel.com> > Cc: Chao Gao <chao.gao@intel.com> > Cc: Rick Edgecombe <rick.p.edgecombe@intel.com> > Cc: Kai Huang <kai.huang@intel.com> > Cc: Dave Hansen <dave.hansen@linux.intel.com> > Cc: Dan Williams <dan.j.williams@intel.com> > Link: https://lore.kernel.org/all/CAGtprH8eXwi-TcH2+-Fo5YdbEwGmgLBh9ggcDvd6N=bsKEJ_WQ@mail.gmail.com/ # [1] > Link: https://lore.kernel.org/all/6b5553756f56a8e3222bfc36d0bdb3e5192137b7.1731318868.git.kai.huang@intel.com # [2] > --- Reviewed-by: Rick Edgecombe <rick.p.edgecombe@intel.com>
© 2016 - 2026 Red Hat, Inc.