From: Xiaoyao Li <xiaoyao.li@intel.com>
To: Peter Fang <peter.fang@intel.com>
Cc: Lisa Wang <wyihan@google.com>,
Andrew Jones <ajones@ventanamicro.com>,
Ackerley Tng <ackerleytng@google.com>,
Binbin Wu <binbin.wu@linux.intel.com>,
Chao Gao <chao.gao@intel.com>,
Chenyi Qiang <chenyi.qiang@intel.com>,
Dave Hansen <dave.hansen@linux.intel.com>,
Erdem Aktas <erdemaktas@google.com>,
Ira Weiny <ira.weiny@intel.com>,
Isaku Yamahata <isaku.yamahata@intel.com>,
Kiryl Shutsemau <kas@kernel.org>,
linux-kselftest@vger.kernel.org,
Paolo Bonzini <pbonzini@redhat.com>,
"Pratik R. Sampat" <pratikrajesh.sampat@amd.com>,
Reinette Chatre <reinette.chatre@intel.com>,
Rick Edgecombe <rick.p.edgecombe@intel.com>,
Roger Wang <runanwang@google.com>,
Ryan Afranji <afranji@google.com>, Sagi Shahar <sagis@google.com>,
Sean Christopherson <seanjc@google.com>,
Shuah Khan <shuah@kernel.org>, Oliver Upton <oupton@kernel.org>,
Jeremiah McReynolds <jmcrey@google.com>,
kvm@vger.kernel.org, linux-coco@lists.linux.dev,
linux-kernel@vger.kernel.org, x86@kernel.org
Subject: Re: [PATCH v14 21/22] KVM: selftests: Add ucall support for TDX
Date: Fri, 28 Aug 2026 10:31:14 +0800 [thread overview]
Message-ID: <b4cffa34-864d-4fd0-9fc7-a7d4514075b2@intel.com> (raw)
In-Reply-To: <20260828020612.GF33657@pedri>
On 8/28/2026 10:06 AM, Peter Fang wrote:
> On Mon, Aug 17, 2026 at 04:38:49PM +0800, Xiaoyao Li wrote:
>>> +
>>> +static u8 vm_type;
>>> +static gpa_t ucall_mmio_gpa;
>>> +
>>> +void ucall_arch_init(struct kvm_vm *vm, gpa_t mmio_gpa)
>>> +{
>>> + vm_type = vm->type;
>
> vm_type is u8 but vm->type is unsigned long
>
>>> + sync_global_to_guest(vm, vm_type);
>>
>> It works and it looks simple. But we have the architectural approach to test
>> if a guest is TD guest, by checking the CPUID 0x21.
>>
>> Since checking CPUID 0x21 is not complex, and as a bonus it can help test if
>> TDX module behaves correctly for CPUID leaf 0x21, I think we should switch
>> to use CPUID 0x21 to check if it is TDX VM in guest code?
>
> Hmm... This makes me wonder if vm->arch.s_bit below could be replaced
> with the same architectural approach. GPAW is available through
> TDG.VP.INFO or the initial RBX value. This does require a bit more
> plumbing though.
I'm afraid not. Because below is host code, and vm->arch.s_bit is not
used in guest code.
Or are suggesting something like dropping the
if (is_tdx_vm(vm)) {
ucall_mmio_gpa = UCALL_MMIO_GPA | vm->arch.s_bit;
sync_global_to_guest(vm, ucall_mmio_gpa);
}
entirely and use below hardcoded value instead in guest code?
UCALL_MMIO_GPA | 1 << (GPAW - 1)
>>
>>> + if (is_tdx_vm(vm)) {
>>> + ucall_mmio_gpa = UCALL_MMIO_GPA | vm->arch.s_bit;
>>
>> So the passed-in @mmio_gpa is not used. Why cannot use the mmio_gpa,
>>
>> slot0->region.guest_phys_addr + slot0->region.memory_size
>>
>> chosen by __vm_create()?
>
> Looks like this was discussed previously [1]. Maybe at least a comment
> here would help?
yeah. A comment surely will help.
> [1] https://lore.kernel.org/all/ajGaMb6Lrk3OS8B4@google.com/
>
>>
next prev parent reply other threads:[~2026-08-28 2:31 UTC|newest]
Thread overview: 76+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-07-22 23:13 [PATCH v14 00/22] TDX KVM selftests Lisa Wang
2026-07-22 23:13 ` [PATCH v14 01/22] KVM: selftests: Add macros to simplify creating VM shapes for non-default types Lisa Wang
2026-08-19 7:44 ` Peter Fang
2026-07-22 23:13 ` [PATCH v14 02/22] KVM: selftests: Update kvm_init_vm_address_properties() for TDX Lisa Wang
2026-08-13 23:17 ` Edgecombe, Rick P
2026-07-22 23:13 ` [PATCH v14 03/22] KVM: selftests: Initialize the TDX VM Lisa Wang
2026-07-23 8:44 ` Xiaoyao Li
2026-08-13 23:41 ` Edgecombe, Rick P
2026-08-15 9:17 ` Xiaoyao Li
2026-08-13 23:41 ` Edgecombe, Rick P
2026-08-14 21:18 ` Peter Fang
2026-08-20 8:46 ` Peter Fang
2026-07-22 23:13 ` [PATCH v14 04/22] KVM: selftests: TDX: Use KVM_TDX_CAPABILITIES to validate TDs' attribute configuration Lisa Wang
2026-08-13 23:45 ` Edgecombe, Rick P
2026-07-22 23:13 ` [PATCH v14 05/22] KVM: selftests: Expose segment definitions to assembly files Lisa Wang
2026-08-13 23:50 ` Edgecombe, Rick P
2026-07-22 23:13 ` [PATCH v14 06/22] tools: include: Add kbuild.h for assembly structure offsets Lisa Wang
2026-07-22 23:13 ` [PATCH v14 07/22] KVM: selftests: Introduce structures for TDX guest boot parameters Lisa Wang
2026-07-22 23:13 ` [PATCH v14 08/22] KVM: selftests: Add TDX boot code Lisa Wang
2026-07-23 11:17 ` Xiaoyao Li
2026-08-21 5:16 ` Peter Fang
2026-07-22 23:13 ` [PATCH v14 09/22] KVM: selftests: Expose functions to get default sregs values Lisa Wang
2026-07-23 10:19 ` Xiaoyao Li
2026-08-14 0:44 ` Edgecombe, Rick P
2026-08-14 2:36 ` Xiaoyao Li
2026-08-14 15:14 ` Edgecombe, Rick P
2026-07-22 23:13 ` [PATCH v14 10/22] KVM: selftests: Set up TDX boot code region Lisa Wang
2026-07-23 10:24 ` Xiaoyao Li
2026-08-24 19:27 ` Peter Fang
2026-08-24 20:00 ` Sean Christopherson
2026-08-26 8:31 ` Peter Fang
2026-07-22 23:13 ` [PATCH v14 11/22] KVM: selftests: Set up TDX boot parameters region Lisa Wang
2026-07-23 10:34 ` Xiaoyao Li
2026-08-11 6:32 ` Binbin Wu
2026-08-25 8:14 ` Peter Fang
2026-07-22 23:13 ` [PATCH v14 12/22] KVM: selftests: Require guest_memfd for TDX VMs Lisa Wang
2026-08-11 7:43 ` Binbin Wu
2026-08-14 7:42 ` Xiaoyao Li
2026-07-22 23:13 ` [PATCH v14 13/22] KVM: selftests: Support guest_memfd in-place conversion Lisa Wang
2026-08-18 8:17 ` Xiaoyao Li
2026-08-25 21:53 ` Peter Fang
2026-07-22 23:13 ` [PATCH v14 14/22] KVM: selftests: Expose function to allocate vCPU stack Lisa Wang
2026-08-14 8:10 ` Xiaoyao Li
2026-07-22 23:13 ` [PATCH v14 15/22] KVM: selftests: Call KVM_TDX_INIT_VCPU when creating a new TDX vcpu Lisa Wang
2026-08-14 8:32 ` Xiaoyao Li
2026-08-18 8:58 ` Binbin Wu
2026-08-26 21:22 ` Peter Fang
2026-07-22 23:13 ` [PATCH v14 16/22] KVM: selftests: Load per-vCPU guest stack in TDX boot parameters Lisa Wang
2026-08-14 8:39 ` Xiaoyao Li
2026-08-26 22:17 ` Peter Fang
2026-07-22 23:13 ` [PATCH v14 17/22] KVM: selftests: Set entry point for TDX guest code Lisa Wang
2026-08-14 8:43 ` Xiaoyao Li
2026-08-18 9:04 ` Binbin Wu
2026-07-22 23:13 ` [PATCH v14 18/22] KVM: selftests: Add helpers to init TDX memory and finalize VM Lisa Wang
2026-08-17 6:47 ` Xiaoyao Li
2026-08-17 13:52 ` Ackerley Tng
2026-08-18 7:33 ` Xiaoyao Li
2026-07-22 23:13 ` [PATCH v14 19/22] KVM: selftests: Finalize TD memory as part of kvm_arch_vm_finalize_vcpus Lisa Wang
2026-08-17 7:04 ` Xiaoyao Li
2026-08-27 7:51 ` Peter Fang
2026-07-22 23:13 ` [PATCH v14 20/22] KVM: selftests: Implement MMIO WRITE for the TDX VM Lisa Wang
2026-07-28 22:56 ` Ackerley Tng
2026-08-17 8:56 ` Xiaoyao Li
2026-08-27 9:19 ` Peter Fang
2026-07-22 23:13 ` [PATCH v14 21/22] KVM: selftests: Add ucall support for TDX Lisa Wang
2026-08-17 8:38 ` Xiaoyao Li
2026-08-28 2:06 ` Peter Fang
2026-08-28 2:31 ` Xiaoyao Li [this message]
2026-08-28 4:20 ` Peter Fang
2026-07-22 23:13 ` [PATCH v14 22/22] KVM: selftests: Add TDX lifecycle test Lisa Wang
2026-08-17 9:04 ` Xiaoyao Li
2026-08-28 4:33 ` Peter Fang
2026-08-13 22:47 ` [PATCH v14 00/22] TDX KVM selftests Edgecombe, Rick P
2026-08-13 23:05 ` Edgecombe, Rick P
2026-08-17 4:19 ` Ackerley Tng
2026-08-17 17:54 ` Edgecombe, Rick P
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=b4cffa34-864d-4fd0-9fc7-a7d4514075b2@intel.com \
--to=xiaoyao.li@intel.com \
--cc=ackerleytng@google.com \
--cc=afranji@google.com \
--cc=ajones@ventanamicro.com \
--cc=binbin.wu@linux.intel.com \
--cc=chao.gao@intel.com \
--cc=chenyi.qiang@intel.com \
--cc=dave.hansen@linux.intel.com \
--cc=erdemaktas@google.com \
--cc=ira.weiny@intel.com \
--cc=isaku.yamahata@intel.com \
--cc=jmcrey@google.com \
--cc=kas@kernel.org \
--cc=kvm@vger.kernel.org \
--cc=linux-coco@lists.linux.dev \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-kselftest@vger.kernel.org \
--cc=oupton@kernel.org \
--cc=pbonzini@redhat.com \
--cc=peter.fang@intel.com \
--cc=pratikrajesh.sampat@amd.com \
--cc=reinette.chatre@intel.com \
--cc=rick.p.edgecombe@intel.com \
--cc=runanwang@google.com \
--cc=sagis@google.com \
--cc=seanjc@google.com \
--cc=shuah@kernel.org \
--cc=wyihan@google.com \
--cc=x86@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox