APPLIED Re: [Q:linux][PATCH 0/8] Support TDX host in questing

Timo Aaltonen tjaalton at ubuntu.com
Mon Sep 8 06:20:28 UTC 2025


Thibault Ferrante kirjoitti 3.9.2025 klo 14.05:
> BugLink: https://bugs.launchpad.net/bugs/2121873
> 
> Since 6.16, TDX host is supported in the kernel but is incompatible with kexec. A cache
> flush is required in case TDX has been enabled before doing a kexec to avoid silent
> memory corruption in the new kernel.
> 
> An upstream submission [0] fix this. The upstream submission is now a v8 and is likely
> to be merged soon. 4 conditions are required at runtime to enable TDX Host:
> - Hibernation disabled.
> - TDX enabled in the bios.
> - kvm_intel.tdx=1 set in the bootcommand line.
> - Hardware support.
> 
> Two limitation are coming with this submission:
> - In specific platforms (SPR/EMR), enabling TDX (all conditions fulfilled)
> will disable kexec due to hardware limitations.
> - After kexec, TDX can't be used. This error will manifest by having a dmesg entry
> similar to:
> 
> virt/tdx: SEAMCALL (0x0000000000000021) failed: 0xc000050000000000
> 
> This has been applied on top of questing Ubuntu-6.17.0-3.3 and tested on supported
> hardware by enabling TDX and using kexec/kdump.
> 
> [0] : https://lore.kernel.org/all/20250901160930.1785244-1-pbonzini@redhat.com/
> 
> Kai Huang (7):
>    UBUNTU: SAUCE: x86/kexec: Consolidate relocate_kernel() function
>      parameters
>    UBUNTU: SAUCE: x86/sme: Use percpu boolean to control WBINVD during
>      kexec
>    UBUNTU: SAUCE: x86/virt/tdx: Mark memory cache state incoherent when
>      making SEAMCALL
>    UBUNTU: SAUCE: x86/kexec: Disable kexec/kdump on platforms with TDX
>      partial write erratum
>    UBUNTU: SAUCE: x86/virt/tdx: Remove the !KEXEC_CORE dependency
>    UBUNTU: SAUCE: x86/virt/tdx: Update the kexec section in the TDX
>      documentation
>    UBUNTU: SAUCE: KVM: TDX: Explicitly do WBINVD when no more TDX
>      SEAMCALLs
> 
> Thibault Ferrante (1):
>    UBUNTU: [Config] enable TDX host support
> 
>   Documentation/arch/x86/tdx.rst       | 14 ++++-----
>   arch/x86/Kconfig                     |  1 -
>   arch/x86/include/asm/kexec.h         | 12 ++++++--
>   arch/x86/include/asm/processor.h     |  2 ++
>   arch/x86/include/asm/tdx.h           | 31 +++++++++++++++++++-
>   arch/x86/kernel/cpu/amd.c            | 17 +++++++++++
>   arch/x86/kernel/machine_kexec_64.c   | 44 ++++++++++++++++++++++------
>   arch/x86/kernel/process.c            | 24 +++++++--------
>   arch/x86/kernel/relocate_kernel_64.S | 36 +++++++++++++++--------
>   arch/x86/kvm/vmx/tdx.c               | 10 +++++++
>   arch/x86/virt/vmx/tdx/tdx.c          | 23 +++++++++++++--
>   debian.master/config/annotations     |  4 ++-
>   12 files changed, 170 insertions(+), 48 deletions(-)
> 

applied to questing, thanks
-- 
t




More information about the kernel-team mailing list