From nobody Thu Apr 9 14:59:18 2026 Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.11]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B0BB437DE97; Tue, 3 Mar 2026 03:16:45 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=198.175.65.11 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772507807; cv=none; b=iAQbFAy/9lxBRL+QZ0oWWz38uBhW2/+cOj6Aogmqm/Eaqg6gZquSvBbOX0r8PWz4N10nt91W/eTXMqo+zQ9hY4+yf7I0ZmrUS9UrdNujkJezKUvgchW82zFlOZM3GlAWGE6PqDUXW728gCDj/eug/HY8p6ArVD6h9IALUu3IJ6k= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772507807; c=relaxed/simple; bh=IbCfjAR1kaOoaqHNjlo/eRgvjaAUGZc5tpaeXhcuHZM=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Jlgv6MHj9Cz5Lz8z/Sdp4hIbF1QAWCB9A2N2k7LhJOJK4PHWbRnZvm6wniwo/MaebRPse52VJyT4Fl6xd0FHBAHCZJvTcEcu7Z0yQbVzRakLYfOg4EweFqP6bQR6S5ILNZTz1lggn73f+9l9600yFNL+fmv8tkCaiXdcFb/y+HQ= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com; spf=pass smtp.mailfrom=intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=l+f334Fa; arc=none smtp.client-ip=198.175.65.11 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=intel.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="l+f334Fa" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1772507805; x=1804043805; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=IbCfjAR1kaOoaqHNjlo/eRgvjaAUGZc5tpaeXhcuHZM=; b=l+f334FalVAcrukkJGLl7KnkPSUG38tuK3o5UdKUGCv6dDL/hosg81bQ /KkqEkNAZ2qFiSeitmNVTb9gslCiuv5vBel34aWX6ShVPWBWntbNiz+QV wZV9svgoaFk3ACiLCIo2EFAwvMvEg2EDWEvWcJV/9JXvREJrB5eT1EkXA pbIaIKjuDSDRIZZz4zHjAjYLMmt33kYUomsz5RjOnCiO/ZMMNn6boYTG0 VqvCu7kH7exH88AMb5BaQ0Bqsw3M6IfphBI3kS078ekTS+/E8fZ+kh4px WF7ssK20shvUPZRkJHDwnlRnFBogNLBR1ynZ5s3dKrSp+VCfaEImuQOUn w==; X-CSE-ConnectionGUID: bveDPfaNRamd/byNBRAA/A== X-CSE-MsgGUID: qUQlB7twRia1RRRY5LNDIQ== X-IronPort-AV: E=McAfee;i="6800,10657,11717"; a="83869720" X-IronPort-AV: E=Sophos;i="6.21,321,1763452800"; d="scan'208";a="83869720" Received: from orviesa006.jf.intel.com ([10.64.159.146]) by orvoesa103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Mar 2026 19:16:45 -0800 X-CSE-ConnectionGUID: aAWS0l08RTeTYBar/mv2bA== X-CSE-MsgGUID: DJHPvESqT+uFE1u8TYKvXg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.21,321,1763452800"; d="scan'208";a="216988903" Received: from lxy-clx-4s.sh.intel.com ([10.239.48.22]) by orviesa006.jf.intel.com with ESMTP; 02 Mar 2026 19:16:42 -0800 From: Xiaoyao Li To: Dave Hansen , Kiryl Shutsemau , Sean Christopherson , Paolo Bonzini Cc: Thomas Gleixner , Ingo Molnar , Borislav Petkov , "H. Peter Anvin" , linux-coco@lists.linux.dev, kvm@vger.kernel.org, linux-kernel@vger.kernel.org, x86@kernel.org, Rick Edgecombe , Kai Huang , binbin.wu@linux.intel.com, Tony Lindgren , xiaoyao.li@intel.com Subject: [PATCH v4 1/4] x86/tdx: Fix the typo in TDX_ATTR_MIGRTABLE Date: Tue, 3 Mar 2026 11:03:32 +0800 Message-ID: <20260303030335.766779-2-xiaoyao.li@intel.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260303030335.766779-1-xiaoyao.li@intel.com> References: <20260303030335.766779-1-xiaoyao.li@intel.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The TD scoped TDCS attributes are defined by bit positions. In the guest side of the TDX code, the 'tdx_attributes' string array holds pretty print names for these attributes, which are generated via macros and defines. Today these pretty print names are only used to print the attribute names to dmesg. Unfortunately there is a typo in the define for the migratable bit. Change the defines TDX_ATTR_MIGRTABLE* to TDX_ATTR_MIGRATABLE*. Update the sole user, the tdx_attributes array, to use the fixed name. Since these defines control the string printed to dmesg, the change is user visible. But the risk of breakage is almost zero since it is not exposed in any interface expected to be consumed programmatically. Fixes: 564ea84c8c14 ("x86/tdx: Dump attributes and TD_CTLS on boot") Signed-off-by: Xiaoyao Li Reviewed-by: Kirill A. Shutemov Reviewed-by: Kai Huang Acked-by: Sean Christopherson Reviewed-by: Nikolay Borisov --- Changes in v3: - Use the rewritten changelog from Rick. Changes in v2: - Add the impact of the change in the commit message. (provided by Rick) --- arch/x86/coco/tdx/debug.c | 2 +- arch/x86/include/asm/shared/tdx.h | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/arch/x86/coco/tdx/debug.c b/arch/x86/coco/tdx/debug.c index cef847c8bb67..28990c2ab0a1 100644 --- a/arch/x86/coco/tdx/debug.c +++ b/arch/x86/coco/tdx/debug.c @@ -17,7 +17,7 @@ static __initdata const char *tdx_attributes[] =3D { DEF_TDX_ATTR_NAME(ICSSD), DEF_TDX_ATTR_NAME(LASS), DEF_TDX_ATTR_NAME(SEPT_VE_DISABLE), - DEF_TDX_ATTR_NAME(MIGRTABLE), + DEF_TDX_ATTR_NAME(MIGRATABLE), DEF_TDX_ATTR_NAME(PKS), DEF_TDX_ATTR_NAME(KL), DEF_TDX_ATTR_NAME(TPA), diff --git a/arch/x86/include/asm/shared/tdx.h b/arch/x86/include/asm/share= d/tdx.h index 8bc074c8d7c6..11f3cf30b1ac 100644 --- a/arch/x86/include/asm/shared/tdx.h +++ b/arch/x86/include/asm/shared/tdx.h @@ -35,8 +35,8 @@ #define TDX_ATTR_LASS BIT_ULL(TDX_ATTR_LASS_BIT) #define TDX_ATTR_SEPT_VE_DISABLE_BIT 28 #define TDX_ATTR_SEPT_VE_DISABLE BIT_ULL(TDX_ATTR_SEPT_VE_DISABLE_BIT) -#define TDX_ATTR_MIGRTABLE_BIT 29 -#define TDX_ATTR_MIGRTABLE BIT_ULL(TDX_ATTR_MIGRTABLE_BIT) +#define TDX_ATTR_MIGRATABLE_BIT 29 +#define TDX_ATTR_MIGRATABLE BIT_ULL(TDX_ATTR_MIGRATABLE_BIT) #define TDX_ATTR_PKS_BIT 30 #define TDX_ATTR_PKS BIT_ULL(TDX_ATTR_PKS_BIT) #define TDX_ATTR_KL_BIT 31 --=20 2.43.0 From nobody Thu Apr 9 14:59:18 2026 Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.11]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 57648374E4D; Tue, 3 Mar 2026 03:16:51 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=198.175.65.11 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772507812; cv=none; b=cGrDKSdiqbHcHxGYbCbnHT/ziHAFn/XSXD8DWyWzycHLW30wLSw2mo6J2QOrsqLTyQQk1Tshi4KsFGZi4XT7pbhFjHIrMPSqWniwHTSSUTRJ0rRy8ZOkSsNA2rF5SuxQPbm6pRNQJeHuPIUQaWJBRclp9IGuodUkWQM5CkM/cBU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772507812; c=relaxed/simple; bh=cO6gTo5gb/mRT/VUg5dkUUNUKelVmCsergc8KaPfF84=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=RcZr+dKFrMpye32fw0WfbcgfS4ZW8y6pQymBfX0WRplTg9ycGQ6Qtql/Ood4poQfzhbRNe/U3eBPcmrFbIwLyNDan6rpcV0XxsG+70/0eNwpdWOuItc6Rp98ZBxQNUO7wDD8EN/J4dOm799JE/j+o0cN1qbnXfAefYX2RWan7AY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com; spf=pass smtp.mailfrom=intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=Opfq9025; arc=none smtp.client-ip=198.175.65.11 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=intel.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="Opfq9025" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1772507811; x=1804043811; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=cO6gTo5gb/mRT/VUg5dkUUNUKelVmCsergc8KaPfF84=; b=Opfq9025pgguq0Vx2btjPdKM+nWeXtb8S4xNTzj4MUkB3ErUHOzX2ob8 NS0xQ4fDT9ch8YZdm12REsH+uPtMdBqr+gaRV0kNYjeA0JAoHBf5X/8zd x8uEIsfSqYhY597pHBlAciTBUUH5qV+XRI2iOOOHB9TC9UsBogzqp2klW ptrDZfmpMKlQvNFmzebN7U0IDn2EP7Li/p5U+EJQyzMOVLW/08Uo9xSBe rOPyLw5NvijYobbs9E5Ou4fGRNhOw5eJ8fBAKBKIByM3zKL+JzNB6ra+t iZljZiX2XcN1dP/92msy2xRabBSzAFA/z6QJlxy9bhCL8SMRxtHzqjCap Q==; X-CSE-ConnectionGUID: m0AZRi8gSlOlxr1t/LCXYg== X-CSE-MsgGUID: PyeXM+KBSWiP4YCsqs8hQA== X-IronPort-AV: E=McAfee;i="6800,10657,11717"; a="83869731" X-IronPort-AV: E=Sophos;i="6.21,321,1763452800"; d="scan'208";a="83869731" Received: from orviesa006.jf.intel.com ([10.64.159.146]) by orvoesa103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Mar 2026 19:16:49 -0800 X-CSE-ConnectionGUID: ZGydwWZXQmWOa2ogw1zOdw== X-CSE-MsgGUID: YUh1fIc1TcSPdb7H/5Aj0w== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.21,321,1763452800"; d="scan'208";a="216988911" Received: from lxy-clx-4s.sh.intel.com ([10.239.48.22]) by orviesa006.jf.intel.com with ESMTP; 02 Mar 2026 19:16:46 -0800 From: Xiaoyao Li To: Dave Hansen , Kiryl Shutsemau , Sean Christopherson , Paolo Bonzini Cc: Thomas Gleixner , Ingo Molnar , Borislav Petkov , "H. Peter Anvin" , linux-coco@lists.linux.dev, kvm@vger.kernel.org, linux-kernel@vger.kernel.org, x86@kernel.org, Rick Edgecombe , Kai Huang , binbin.wu@linux.intel.com, Tony Lindgren , xiaoyao.li@intel.com Subject: [PATCH v4 2/4] KVM: TDX: Remove redundant definitions of TDX_TD_ATTR_* Date: Tue, 3 Mar 2026 11:03:33 +0800 Message-ID: <20260303030335.766779-3-xiaoyao.li@intel.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260303030335.766779-1-xiaoyao.li@intel.com> References: <20260303030335.766779-1-xiaoyao.li@intel.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" There are definitions of TD attributes bits inside asm/shared/tdx.h as TDX_ATTR_*. Remove KVM's definitions and use the ones in asm/shared/tdx.h Signed-off-by: Xiaoyao Li Reviewed-by: Kirill A. Shutemov Reviewed-by: Kai Huang Reviewed-by: Rick Edgecombe Acked-by: Sean Christopherson Reviewed-by: Nikolay Borisov --- arch/x86/kvm/vmx/tdx.c | 4 ++-- arch/x86/kvm/vmx/tdx_arch.h | 6 ------ 2 files changed, 2 insertions(+), 8 deletions(-) diff --git a/arch/x86/kvm/vmx/tdx.c b/arch/x86/kvm/vmx/tdx.c index c5065f84b78b..f38e492fb3d5 100644 --- a/arch/x86/kvm/vmx/tdx.c +++ b/arch/x86/kvm/vmx/tdx.c @@ -75,7 +75,7 @@ void tdh_vp_wr_failed(struct vcpu_tdx *tdx, char *uclass,= char *op, u32 field, pr_err("TDH_VP_WR[%s.0x%x]%s0x%llx failed: 0x%llx\n", uclass, field, op, = val, err); } =20 -#define KVM_SUPPORTED_TD_ATTRS (TDX_TD_ATTR_SEPT_VE_DISABLE) +#define KVM_SUPPORTED_TD_ATTRS (TDX_ATTR_SEPT_VE_DISABLE) =20 static __always_inline struct kvm_tdx *to_kvm_tdx(struct kvm *kvm) { @@ -707,7 +707,7 @@ int tdx_vcpu_create(struct kvm_vcpu *vcpu) vcpu->arch.l1_tsc_scaling_ratio =3D kvm_tdx->tsc_multiplier; =20 vcpu->arch.guest_state_protected =3D - !(to_kvm_tdx(vcpu->kvm)->attributes & TDX_TD_ATTR_DEBUG); + !(to_kvm_tdx(vcpu->kvm)->attributes & TDX_ATTR_DEBUG); =20 if ((kvm_tdx->xfam & XFEATURE_MASK_XTILE) =3D=3D XFEATURE_MASK_XTILE) vcpu->arch.xfd_no_write_intercept =3D true; diff --git a/arch/x86/kvm/vmx/tdx_arch.h b/arch/x86/kvm/vmx/tdx_arch.h index a30e880849e3..350143b9b145 100644 --- a/arch/x86/kvm/vmx/tdx_arch.h +++ b/arch/x86/kvm/vmx/tdx_arch.h @@ -75,12 +75,6 @@ struct tdx_cpuid_value { u32 edx; } __packed; =20 -#define TDX_TD_ATTR_DEBUG BIT_ULL(0) -#define TDX_TD_ATTR_SEPT_VE_DISABLE BIT_ULL(28) -#define TDX_TD_ATTR_PKS BIT_ULL(30) -#define TDX_TD_ATTR_KL BIT_ULL(31) -#define TDX_TD_ATTR_PERFMON BIT_ULL(63) - #define TDX_EXT_EXIT_QUAL_TYPE_MASK GENMASK(3, 0) #define TDX_EXT_EXIT_QUAL_TYPE_PENDING_EPT_VIOLATION 6 /* --=20 2.43.0 From nobody Thu Apr 9 14:59:18 2026 Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.11]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A727537DEA1; Tue, 3 Mar 2026 03:16:53 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=198.175.65.11 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772507817; cv=none; b=KXkpUxeqqFvPmqtoa5fLlkYDKl4A2ce9ltiJGlnumPYWsYjPh16XlviKI8+3ID+mQ09JF2aP3wHqle1dbVZZxRBj3Pc4sZt4Utz8JHuOOMNJPH0vgqZfTewfeSOCzZTPN8J7gueIkxpEYZbtM0wNuFm4IIqqPSqSQZvWjj14Z4o= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772507817; c=relaxed/simple; bh=gOcQDg6tr6jYCIuV+GW76b897cYlMBwjBDsNGPU73lA=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=f+Y2U9fJDQXMlpwRH1t4gPYmOD7Su5DU9SmhvAdHfbuvPs6ZC4/KnkT10vaVKIsfJrBHljp5XNJpjc/Z1DtmRCvAjaOSJtCF6di+ttRFiFeKLj9hojcY3KMdNJ9TroGA1KN4EUv8fejHM3rsm6P57nnTWa+/ZDekAD4m7ratjFI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com; spf=pass smtp.mailfrom=intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=WRbtTr/g; arc=none smtp.client-ip=198.175.65.11 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=intel.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="WRbtTr/g" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1772507813; x=1804043813; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=gOcQDg6tr6jYCIuV+GW76b897cYlMBwjBDsNGPU73lA=; b=WRbtTr/guMJCM47prcW/i0lgMnYJt/wHAIxjIK3kyGaF6pyZEqXh0U1f zT/8pldrMMDZrB1mQtkZi/UIdPaewuI71S3vOnCsQyrw4ZVFMgRQaeg1Y 0GXr/9Btp2jz3GU6bTH6RXslTQOC6FSw/MEXn9YKwfKS/orHGk1RejLMQ JZEvL63BGYBNhVpcQZSjSLWTWFtxewQbvzTLm17eVzSYpxgxc8JrYMaNV hQ6JIxCi0n5Z33GIfIADTn6FriUYnLJrFhu6PHK8nCTargYs7lemCWmZS Kw6SPTMj+5OVYAoJQbM5lVsRWoFohJP6DzzENR/xyJA1cwb/q0sH2nRBi w==; X-CSE-ConnectionGUID: 2Jrl+SnMTk6b/lBeZpcIzw== X-CSE-MsgGUID: CZM5YeNkQY6m57kHS3sP0g== X-IronPort-AV: E=McAfee;i="6800,10657,11717"; a="83869742" X-IronPort-AV: E=Sophos;i="6.21,321,1763452800"; d="scan'208";a="83869742" Received: from orviesa006.jf.intel.com ([10.64.159.146]) by orvoesa103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Mar 2026 19:16:53 -0800 X-CSE-ConnectionGUID: eS2Py3QqQDucv00fcLcS6A== X-CSE-MsgGUID: 1nGTwpu5T9GkjJgeoFpxUw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.21,321,1763452800"; d="scan'208";a="216988919" Received: from lxy-clx-4s.sh.intel.com ([10.239.48.22]) by orviesa006.jf.intel.com with ESMTP; 02 Mar 2026 19:16:50 -0800 From: Xiaoyao Li To: Dave Hansen , Kiryl Shutsemau , Sean Christopherson , Paolo Bonzini Cc: Thomas Gleixner , Ingo Molnar , Borislav Petkov , "H. Peter Anvin" , linux-coco@lists.linux.dev, kvm@vger.kernel.org, linux-kernel@vger.kernel.org, x86@kernel.org, Rick Edgecombe , Kai Huang , binbin.wu@linux.intel.com, Tony Lindgren , xiaoyao.li@intel.com Subject: [PATCH v4 3/4] x86/tdx: Rename TDX_ATTR_* to TDX_TD_ATTR_* Date: Tue, 3 Mar 2026 11:03:34 +0800 Message-ID: <20260303030335.766779-4-xiaoyao.li@intel.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260303030335.766779-1-xiaoyao.li@intel.com> References: <20260303030335.766779-1-xiaoyao.li@intel.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The macros TDX_ATTR_* and DEF_TDX_ATTR_* are related to TD attributes, which are TD-scope attributes. Naming them as TDX_ATTR_* can be somewhat confusing and might mislead people into thinking they are TDX global things. Rename TDX_ATTR_* to TDX_TD_ATTR_* to explicitly clarify they are TD-scope things. Suggested-by: Rick Edgecombe Signed-off-by: Xiaoyao Li Reviewed-by: Rick Edgecombe Reviewed-by: Binbin Wu Reviewed-by: Kiryl Shutsemau Acked-by: Sean Christopherson Reviewed-by: Nikolay Borisov --- arch/x86/coco/tdx/debug.c | 26 ++++++++-------- arch/x86/coco/tdx/tdx.c | 8 ++--- arch/x86/include/asm/shared/tdx.h | 50 +++++++++++++++---------------- arch/x86/kvm/vmx/tdx.c | 4 +-- 4 files changed, 44 insertions(+), 44 deletions(-) diff --git a/arch/x86/coco/tdx/debug.c b/arch/x86/coco/tdx/debug.c index 28990c2ab0a1..8e477db4ce0a 100644 --- a/arch/x86/coco/tdx/debug.c +++ b/arch/x86/coco/tdx/debug.c @@ -7,21 +7,21 @@ #include #include =20 -#define DEF_TDX_ATTR_NAME(_name) [TDX_ATTR_##_name##_BIT] =3D __stringify(= _name) +#define DEF_TDX_TD_ATTR_NAME(_name) [TDX_TD_ATTR_##_name##_BIT] =3D __stri= ngify(_name) =20 static __initdata const char *tdx_attributes[] =3D { - DEF_TDX_ATTR_NAME(DEBUG), - DEF_TDX_ATTR_NAME(HGS_PLUS_PROF), - DEF_TDX_ATTR_NAME(PERF_PROF), - DEF_TDX_ATTR_NAME(PMT_PROF), - DEF_TDX_ATTR_NAME(ICSSD), - DEF_TDX_ATTR_NAME(LASS), - DEF_TDX_ATTR_NAME(SEPT_VE_DISABLE), - DEF_TDX_ATTR_NAME(MIGRATABLE), - DEF_TDX_ATTR_NAME(PKS), - DEF_TDX_ATTR_NAME(KL), - DEF_TDX_ATTR_NAME(TPA), - DEF_TDX_ATTR_NAME(PERFMON), + DEF_TDX_TD_ATTR_NAME(DEBUG), + DEF_TDX_TD_ATTR_NAME(HGS_PLUS_PROF), + DEF_TDX_TD_ATTR_NAME(PERF_PROF), + DEF_TDX_TD_ATTR_NAME(PMT_PROF), + DEF_TDX_TD_ATTR_NAME(ICSSD), + DEF_TDX_TD_ATTR_NAME(LASS), + DEF_TDX_TD_ATTR_NAME(SEPT_VE_DISABLE), + DEF_TDX_TD_ATTR_NAME(MIGRATABLE), + DEF_TDX_TD_ATTR_NAME(PKS), + DEF_TDX_TD_ATTR_NAME(KL), + DEF_TDX_TD_ATTR_NAME(TPA), + DEF_TDX_TD_ATTR_NAME(PERFMON), }; =20 #define DEF_TD_CTLS_NAME(_name) [TD_CTLS_##_name##_BIT] =3D __stringify(_n= ame) diff --git a/arch/x86/coco/tdx/tdx.c b/arch/x86/coco/tdx/tdx.c index 7b2833705d47..186915a17c50 100644 --- a/arch/x86/coco/tdx/tdx.c +++ b/arch/x86/coco/tdx/tdx.c @@ -238,14 +238,14 @@ static void __noreturn tdx_panic(const char *msg) * * TDX 1.0 does not allow the guest to disable SEPT #VE on its own. The VMM * controls if the guest will receive such #VE with TD attribute - * TDX_ATTR_SEPT_VE_DISABLE. + * TDX_TD_ATTR_SEPT_VE_DISABLE. * * Newer TDX modules allow the guest to control if it wants to receive SEPT * violation #VEs. * * Check if the feature is available and disable SEPT #VE if possible. * - * If the TD is allowed to disable/enable SEPT #VEs, the TDX_ATTR_SEPT_VE_= DISABLE + * If the TD is allowed to disable/enable SEPT #VEs, the TDX_TD_ATTR_SEPT_= VE_DISABLE * attribute is no longer reliable. It reflects the initial state of the * control for the TD, but it will not be updated if someone (e.g. bootloa= der) * changes it before the kernel starts. Kernel must check TDCS_TD_CTLS bit= to @@ -254,14 +254,14 @@ static void __noreturn tdx_panic(const char *msg) static void disable_sept_ve(u64 td_attr) { const char *msg =3D "TD misconfiguration: SEPT #VE has to be disabled"; - bool debug =3D td_attr & TDX_ATTR_DEBUG; + bool debug =3D td_attr & TDX_TD_ATTR_DEBUG; u64 config, controls; =20 /* Is this TD allowed to disable SEPT #VE */ tdg_vm_rd(TDCS_CONFIG_FLAGS, &config); if (!(config & TDCS_CONFIG_FLEXIBLE_PENDING_VE)) { /* No SEPT #VE controls for the guest: check the attribute */ - if (td_attr & TDX_ATTR_SEPT_VE_DISABLE) + if (td_attr & TDX_TD_ATTR_SEPT_VE_DISABLE) return; =20 /* Relax SEPT_VE_DISABLE check for debug TD for backtraces */ diff --git a/arch/x86/include/asm/shared/tdx.h b/arch/x86/include/asm/share= d/tdx.h index 11f3cf30b1ac..049638e3da74 100644 --- a/arch/x86/include/asm/shared/tdx.h +++ b/arch/x86/include/asm/shared/tdx.h @@ -20,31 +20,31 @@ #define TDG_VM_RD 7 #define TDG_VM_WR 8 =20 -/* TDX attributes */ -#define TDX_ATTR_DEBUG_BIT 0 -#define TDX_ATTR_DEBUG BIT_ULL(TDX_ATTR_DEBUG_BIT) -#define TDX_ATTR_HGS_PLUS_PROF_BIT 4 -#define TDX_ATTR_HGS_PLUS_PROF BIT_ULL(TDX_ATTR_HGS_PLUS_PROF_BIT) -#define TDX_ATTR_PERF_PROF_BIT 5 -#define TDX_ATTR_PERF_PROF BIT_ULL(TDX_ATTR_PERF_PROF_BIT) -#define TDX_ATTR_PMT_PROF_BIT 6 -#define TDX_ATTR_PMT_PROF BIT_ULL(TDX_ATTR_PMT_PROF_BIT) -#define TDX_ATTR_ICSSD_BIT 16 -#define TDX_ATTR_ICSSD BIT_ULL(TDX_ATTR_ICSSD_BIT) -#define TDX_ATTR_LASS_BIT 27 -#define TDX_ATTR_LASS BIT_ULL(TDX_ATTR_LASS_BIT) -#define TDX_ATTR_SEPT_VE_DISABLE_BIT 28 -#define TDX_ATTR_SEPT_VE_DISABLE BIT_ULL(TDX_ATTR_SEPT_VE_DISABLE_BIT) -#define TDX_ATTR_MIGRATABLE_BIT 29 -#define TDX_ATTR_MIGRATABLE BIT_ULL(TDX_ATTR_MIGRATABLE_BIT) -#define TDX_ATTR_PKS_BIT 30 -#define TDX_ATTR_PKS BIT_ULL(TDX_ATTR_PKS_BIT) -#define TDX_ATTR_KL_BIT 31 -#define TDX_ATTR_KL BIT_ULL(TDX_ATTR_KL_BIT) -#define TDX_ATTR_TPA_BIT 62 -#define TDX_ATTR_TPA BIT_ULL(TDX_ATTR_TPA_BIT) -#define TDX_ATTR_PERFMON_BIT 63 -#define TDX_ATTR_PERFMON BIT_ULL(TDX_ATTR_PERFMON_BIT) +/* TDX TD attributes */ +#define TDX_TD_ATTR_DEBUG_BIT 0 +#define TDX_TD_ATTR_DEBUG BIT_ULL(TDX_TD_ATTR_DEBUG_BIT) +#define TDX_TD_ATTR_HGS_PLUS_PROF_BIT 4 +#define TDX_TD_ATTR_HGS_PLUS_PROF BIT_ULL(TDX_TD_ATTR_HGS_PLUS_PROF_BIT) +#define TDX_TD_ATTR_PERF_PROF_BIT 5 +#define TDX_TD_ATTR_PERF_PROF BIT_ULL(TDX_TD_ATTR_PERF_PROF_BIT) +#define TDX_TD_ATTR_PMT_PROF_BIT 6 +#define TDX_TD_ATTR_PMT_PROF BIT_ULL(TDX_TD_ATTR_PMT_PROF_BIT) +#define TDX_TD_ATTR_ICSSD_BIT 16 +#define TDX_TD_ATTR_ICSSD BIT_ULL(TDX_TD_ATTR_ICSSD_BIT) +#define TDX_TD_ATTR_LASS_BIT 27 +#define TDX_TD_ATTR_LASS BIT_ULL(TDX_TD_ATTR_LASS_BIT) +#define TDX_TD_ATTR_SEPT_VE_DISABLE_BIT 28 +#define TDX_TD_ATTR_SEPT_VE_DISABLE BIT_ULL(TDX_TD_ATTR_SEPT_VE_DISABLE_BI= T) +#define TDX_TD_ATTR_MIGRATABLE_BIT 29 +#define TDX_TD_ATTR_MIGRATABLE BIT_ULL(TDX_TD_ATTR_MIGRATABLE_BIT) +#define TDX_TD_ATTR_PKS_BIT 30 +#define TDX_TD_ATTR_PKS BIT_ULL(TDX_TD_ATTR_PKS_BIT) +#define TDX_TD_ATTR_KL_BIT 31 +#define TDX_TD_ATTR_KL BIT_ULL(TDX_TD_ATTR_KL_BIT) +#define TDX_TD_ATTR_TPA_BIT 62 +#define TDX_TD_ATTR_TPA BIT_ULL(TDX_TD_ATTR_TPA_BIT) +#define TDX_TD_ATTR_PERFMON_BIT 63 +#define TDX_TD_ATTR_PERFMON BIT_ULL(TDX_TD_ATTR_PERFMON_BIT) =20 /* TDX TD-Scope Metadata. To be used by TDG.VM.WR and TDG.VM.RD */ #define TDCS_CONFIG_FLAGS 0x1110000300000016 diff --git a/arch/x86/kvm/vmx/tdx.c b/arch/x86/kvm/vmx/tdx.c index f38e492fb3d5..c5065f84b78b 100644 --- a/arch/x86/kvm/vmx/tdx.c +++ b/arch/x86/kvm/vmx/tdx.c @@ -75,7 +75,7 @@ void tdh_vp_wr_failed(struct vcpu_tdx *tdx, char *uclass,= char *op, u32 field, pr_err("TDH_VP_WR[%s.0x%x]%s0x%llx failed: 0x%llx\n", uclass, field, op, = val, err); } =20 -#define KVM_SUPPORTED_TD_ATTRS (TDX_ATTR_SEPT_VE_DISABLE) +#define KVM_SUPPORTED_TD_ATTRS (TDX_TD_ATTR_SEPT_VE_DISABLE) =20 static __always_inline struct kvm_tdx *to_kvm_tdx(struct kvm *kvm) { @@ -707,7 +707,7 @@ int tdx_vcpu_create(struct kvm_vcpu *vcpu) vcpu->arch.l1_tsc_scaling_ratio =3D kvm_tdx->tsc_multiplier; =20 vcpu->arch.guest_state_protected =3D - !(to_kvm_tdx(vcpu->kvm)->attributes & TDX_ATTR_DEBUG); + !(to_kvm_tdx(vcpu->kvm)->attributes & TDX_TD_ATTR_DEBUG); =20 if ((kvm_tdx->xfam & XFEATURE_MASK_XTILE) =3D=3D XFEATURE_MASK_XTILE) vcpu->arch.xfd_no_write_intercept =3D true; --=20 2.43.0 From nobody Thu Apr 9 14:59:18 2026 Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.11]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A70FC37DE86; Tue, 3 Mar 2026 03:16:57 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=198.175.65.11 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772507818; cv=none; b=T1YOl8EVleNJMIg7l8mRFFnlXrTO5peNpyVoESIJifbgvl5VMoEMlfi8rb1TSV+rViJNjVrTIkmXYr/9SNA4H6el8GnuyXcnQ0tPC/0SUHE4mj11ig6WlJLK1jLmDu5rBCnl7zn4dOAu/zFrYp+L/n22hPb3RGZkFz+2s3aqUN8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772507818; c=relaxed/simple; bh=iYVt9C5yvLI2eOsTWWG1TjQnrAOxXhw/BLhiSFLSju4=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=sgEqtMvfnzdlpTNXG7aWcV0q+ncdN2uDe8/bTMy/9lPGzsTUw+MwIo+4hgOp1qeXgbw1EqLKQaXJOgatY48eIECkQIGTy8fdLTZRr9OAkHDFjMBnf+z95I6C8Xtd9T9MJVli2T4hfBlHz9R7OwNaP2n8MKXJ6s0gJ0PzcBTZp30= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com; spf=pass smtp.mailfrom=intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=VLCtgPWr; arc=none smtp.client-ip=198.175.65.11 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=intel.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="VLCtgPWr" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1772507817; x=1804043817; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=iYVt9C5yvLI2eOsTWWG1TjQnrAOxXhw/BLhiSFLSju4=; b=VLCtgPWrIZwArviPJ9D1k4ZHM3mdnX80yBYAznGZCxM+kDt9ACcSLzIs SQKn0POg7r0uq9InsaAN8URnb9H27p70RdpgapnMlhOP76NpkvrPzNfhy INHtCQWDZWGcsHYvjPZaD6F9zfM1wbuT80rPujp9J6jeejDflAkv+MYFA Smz406vl9Yiv0iFIBEiQFWG7MJH7RgsZ+Wr86ZHZNJ//t+OB06adg01Z5 LRiBOy9QusV8bMPt+ONiA9BEvMhBbpVRRbebud5hulHDni8PyZ5n2bwe0 sZ4i1YS0V9A5oEXakD+B/ObsYvZpy6gcpq/DQjh1aasI6MIzmvQhOF7pK g==; X-CSE-ConnectionGUID: 4lficw6nRhSFGrB2oXxAtQ== X-CSE-MsgGUID: UVoOFlMRTrKO0UQbxh94+A== X-IronPort-AV: E=McAfee;i="6800,10657,11717"; a="83869751" X-IronPort-AV: E=Sophos;i="6.21,321,1763452800"; d="scan'208";a="83869751" Received: from orviesa006.jf.intel.com ([10.64.159.146]) by orvoesa103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Mar 2026 19:16:57 -0800 X-CSE-ConnectionGUID: Dkset0lMQlayXqdkFxfWiQ== X-CSE-MsgGUID: Cve+RGnASG+h2ppquqjd4g== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.21,321,1763452800"; d="scan'208";a="216988924" Received: from lxy-clx-4s.sh.intel.com ([10.239.48.22]) by orviesa006.jf.intel.com with ESMTP; 02 Mar 2026 19:16:54 -0800 From: Xiaoyao Li To: Dave Hansen , Kiryl Shutsemau , Sean Christopherson , Paolo Bonzini Cc: Thomas Gleixner , Ingo Molnar , Borislav Petkov , "H. Peter Anvin" , linux-coco@lists.linux.dev, kvm@vger.kernel.org, linux-kernel@vger.kernel.org, x86@kernel.org, Rick Edgecombe , Kai Huang , binbin.wu@linux.intel.com, Tony Lindgren , xiaoyao.li@intel.com Subject: [PATCH v4 4/4] KVM: TDX: Rename KVM_SUPPORTED_TD_ATTRS to KVM_SUPPORTED_TDX_TD_ATTRS Date: Tue, 3 Mar 2026 11:03:35 +0800 Message-ID: <20260303030335.766779-5-xiaoyao.li@intel.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260303030335.766779-1-xiaoyao.li@intel.com> References: <20260303030335.766779-1-xiaoyao.li@intel.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Rename KVM_SUPPORTED_TD_ATTRS to KVM_SUPPORTED_TDX_TD_ATTRS to include "TDX" in the name, making it clear that it pertains to TDX. Suggested-by: Sean Christopherson Signed-off-by: Xiaoyao Li Reviewed-by: Rick Edgecombe Reviewed-by: Kiryl Shutsemau Acked-by: Sean Christopherson Reviewed-by: Nikolay Borisov --- arch/x86/kvm/vmx/tdx.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/arch/x86/kvm/vmx/tdx.c b/arch/x86/kvm/vmx/tdx.c index c5065f84b78b..eaeda1cfb227 100644 --- a/arch/x86/kvm/vmx/tdx.c +++ b/arch/x86/kvm/vmx/tdx.c @@ -75,7 +75,7 @@ void tdh_vp_wr_failed(struct vcpu_tdx *tdx, char *uclass,= char *op, u32 field, pr_err("TDH_VP_WR[%s.0x%x]%s0x%llx failed: 0x%llx\n", uclass, field, op, = val, err); } =20 -#define KVM_SUPPORTED_TD_ATTRS (TDX_TD_ATTR_SEPT_VE_DISABLE) +#define KVM_SUPPORTED_TDX_TD_ATTRS (TDX_TD_ATTR_SEPT_VE_DISABLE) =20 static __always_inline struct kvm_tdx *to_kvm_tdx(struct kvm *kvm) { @@ -89,7 +89,7 @@ static __always_inline struct vcpu_tdx *to_tdx(struct kvm= _vcpu *vcpu) =20 static u64 tdx_get_supported_attrs(const struct tdx_sys_info_td_conf *td_c= onf) { - u64 val =3D KVM_SUPPORTED_TD_ATTRS; + u64 val =3D KVM_SUPPORTED_TDX_TD_ATTRS; =20 if ((val & td_conf->attributes_fixed1) !=3D td_conf->attributes_fixed1) return 0; --=20 2.43.0