<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="/source/rss.xsl.xml"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
    <title>Changes in tdx_errno.h</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>b7d2173946efa20434aefd7421b46a90f1080fbe - x86/virt/tdx: Add SEAMCALL wrapper for TDH.SYS.DISABLE</title>
        <link>http://kernelsources.org:8080/source/history/linux/arch/x86/include/asm/shared/tdx_errno.h#b7d2173946efa20434aefd7421b46a90f1080fbe</link>
        <description>x86/virt/tdx: Add SEAMCALL wrapper for TDH.SYS.DISABLESome early TDX-capable platforms have an erratum where a partial writeto TDX private memory can cause a machine check on a subsequent read.On these platforms, kexec and kdump have been disabled in these cases,because the old kernel cannot safely hand off TDX state to the newkernel. Later TDX modules support the TDH.SYS.DISABLE SEAMCALL, whichprovides a way to cleanly disable TDX and allow kexec to proceed.The new SEAMCALL has an enumeration bit, but that is ignored. It isexpected that users will be using the latest TDX module, and the failuremode for running the missing SEAMCALL on an older module is not fatal.This can be a long running operation, and the time needed largelydepends on the amount of memory that has been allocated to TDs. If allTDs have been destroyed prior to the sys_disable call, then it is fast,with only needing to override the TDX module memory.After the SEAMCALL completes, the TDX module is disabled and all memoryresources allocated to TDX are freed and reset. The next kernel can thenre-initialize the TDX module from scratch via the normal TDX bring-upsequence.The SEAMCALL can return two different error codes that expect a retry. - TDX_INTERRUPTED_RESUMABLE can be returned in the case of a host   interrupt. However, it will not return until it makes some forward   progress, so we can expect to complete even in the case of interrupt   storms. - TDX_SYS_BUSY will be returned on contention with other TDH.SYS.*   SEAMCALLs, however a side effect of TDH.SYS.DISABLE is that it will   block other SEAMCALLs once it gets going. So this contention will be   short lived.So loop infinitely on either of these error codes, until success or othererror.An error is printed if the SEAMCALL fails with anything other than theerror codes that cause retries, or &apos;synthesized&apos; error codes producedfor #GP or #UD. e.g., an old module that has been properly initialized,that doesn&apos;t implement SYS_DISABLE, returns TDX_OPERAND_INVALID. Thisprints:  virt/tdx: TDH.SYS.DISABLE failed: 0xc000010000000000But a system that doesn&apos;t have any TDX support at all doesn&apos;t printanything.Co-developed-by: Rick Edgecombe &lt;rick.p.edgecombe@intel.com&gt;Signed-off-by: Rick Edgecombe &lt;rick.p.edgecombe@intel.com&gt;Signed-off-by: Vishal Verma &lt;vishal.l.verma@intel.com&gt;Signed-off-by: Dave Hansen &lt;dave.hansen@linux.intel.com&gt;Reviewed-by: Chao Gao &lt;chao.gao@intel.com&gt;Reviewed-by: Kiryl Shutsemau (Meta) &lt;kas@kernel.org&gt;Acked-by: Kai Huang &lt;kai.huang@intel.com&gt;Link: https://patch.msgid.link/20260402-fuller_tdx_kexec_support-v3-3-34438d7094bf@intel.com

            List of files:
            /linux/arch/x86/include/asm/shared/tdx_errno.h</description>
        <pubDate>Thu, 02 Apr 2026 08:32:03 +0200</pubDate>
        <dc:creator>Vishal Verma &lt;vishal.l.verma@intel.com&gt;</dc:creator>
    </item>
<item>
        <title>53642715861e838f328a3fbef99a1d315955221a - x86/tdx: Move TDX architectural error codes into &lt;asm/shared/tdx_errno.h&gt;</title>
        <link>http://kernelsources.org:8080/source/history/linux/arch/x86/include/asm/shared/tdx_errno.h#53642715861e838f328a3fbef99a1d315955221a</link>
        <description>x86/tdx: Move TDX architectural error codes into &lt;asm/shared/tdx_errno.h&gt;Today there are two separate locations where TDX error codes are defined:  arch/x86/include/asm/tdx.h  arch/x86/kvm/vmx/tdx_errno.hThey have some overlap that is already defined similarly. Reduce theduplication by unifying the architectural error codes at:  asm/shared/tdx_errno.h...and update the headers that contained the duplicated definitions toinclude the new unified header.&quot;asm/shared&quot; is used for sharing TDX code between the early compressedcode and the normal kernel code. While the compressed code for the guestdoesn&apos;t use these error code header definitions today, it does make thetypes of calls that return the values they define. So place the defines in&quot;shared&quot; location so that it can, but leave such cleanups for futurechanges.[Rick: enhance log][Vishal: reduce to a simple move of architectural defines only]Signed-off-by: Kirill A. Shutemov &lt;kirill.shutemov@linux.intel.com&gt;Signed-off-by: Rick Edgecombe &lt;rick.p.edgecombe@intel.com&gt;Signed-off-by: Vishal Verma &lt;vishal.l.verma@intel.com&gt;Signed-off-by: Dave Hansen &lt;dave.hansen@linux.intel.com&gt;Reviewed-by: Chao Gao &lt;chao.gao@intel.com&gt;Acked-by: Sean Christopherson &lt;seanjc@google.com&gt;Link: https://patch.msgid.link/20260402-fuller_tdx_kexec_support-v3-1-34438d7094bf@intel.com

            List of files:
            /linux/arch/x86/include/asm/shared/tdx_errno.h</description>
        <pubDate>Thu, 02 Apr 2026 08:32:01 +0200</pubDate>
        <dc:creator>Kirill A. Shutemov &lt;kirill.shutemov@linux.intel.com&gt;</dc:creator>
    </item>
</channel>
</rss>
