From: "Edgecombe, Rick P" <rick.p.edgecombe@intel.com>
To: "Aktas, Erdem" <erdemaktas@google.com>,
"Li, Xiaoyao" <xiaoyao.li@intel.com>,
"shuah@kernel.org" <shuah@kernel.org>,
"dave.hansen@linux.intel.com" <dave.hansen@linux.intel.com>,
"afranji@google.com" <afranji@google.com>,
"kas@kernel.org" <kas@kernel.org>,
"Chatre, Reinette" <reinette.chatre@intel.com>,
"seanjc@google.com" <seanjc@google.com>,
"pbonzini@redhat.com" <pbonzini@redhat.com>,
"binbin.wu@linux.intel.com" <binbin.wu@linux.intel.com>,
"isaku.yamahata@intel.com" <isaku.yamahata@intel.com>,
"ackerleytng@google.com" <ackerleytng@google.com>,
"pratikrajesh.sampat@amd.com" <pratikrajesh.sampat@amd.com>,
"oupton@kernel.org" <oupton@kernel.org>,
"wyihan@google.com" <wyihan@google.com>,
"ira.weiny@intel.com" <ira.weiny@intel.com>,
"sagis@google.com" <sagis@google.com>,
"Gao, Chao" <chao.gao@intel.com>,
"linux-kselftest@vger.kernel.org"
<linux-kselftest@vger.kernel.org>,
"Wang, Roger" <runanwang@google.com>,
"ajones@ventanamicro.com" <ajones@ventanamicro.com>,
"Qiang, Chenyi" <chenyi.qiang@intel.com>
Cc: "kvm@vger.kernel.org" <kvm@vger.kernel.org>,
"linux-coco@lists.linux.dev" <linux-coco@lists.linux.dev>,
"jmcrey@google.com" <jmcrey@google.com>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"Hunter, Adrian" <adrian.hunter@intel.com>,
"x86@kernel.org" <x86@kernel.org>
Subject: Re: [PATCH v14 00/22] TDX KVM selftests
Date: Mon, 17 Aug 2026 17:54:53 +0000 [thread overview]
Message-ID: <0782a971b1e6aa64c12ba76f9a4e68c8fe72bd2c.camel@intel.com> (raw)
In-Reply-To: <CAEvNRgELDhXvPFKaoz+w-yywoJn0WMWvA-Y2jfdnwJVSbCSWyw@mail.gmail.com>
On Sun, 2026-08-16 at 21:19 -0700, Ackerley Tng wrote:
> "Edgecombe, Rick P" <rick.p.edgecombe@intel.com> writes:
>
> > On Thu, 2026-08-13 at 15:47 -0700, Rick Edgecombe wrote:
> > > On Wed, 2026-07-22 at 23:13 +0000, Lisa Wang wrote:
> > > > v14 revision for TDX KVM selftests based on kvm/next and guest_memfd:
> > > > In-place conversion support[1]. This series needs some changes from
> > > > in-place conversion v9. For ease of testing, an extra hack commit has
> > > > been added. The complete code is available at:
> > > > https://github.com/googleprodkernel/linux-cc/commits/tdx-selftests-v14
> > >
> > > Are you able to get sashiko review on this? Or did you internally somehow?
> > > It seems the public sashiko cannot figure out this stack.
> >
> > Actually why is this on top of in-place conversion? I thought the idea was
> > to break the series apart to get something basic upstream:
> > https://lore.kernel.org/all/aJ-6JpHD6xhAvZPy@google.com/
> >
> > Adding in-place conversion tests seems to be going in the opposite
> > direction.
> >
>
> We wanted to have this series based on in-place conversion since
> non-in-place conversion is on a deprecation path.
Hmm, what kind of timeline do you see for the old interface actually getting
yanked out of the kernel? I was imagining it would be there for many years at
minimum, in which case it would need tests too.
The level of dependencies we have on coco stuff is pretty unfortunate I think.
Considering these tests should have ideally quickly followed the TDX base
upstreaming, it would be nice if we could avoid it here.
> Also, it makes the set up easier :)
Hmm, yea maybe. I'm just wishing to unblock this finally. And so it seems like
adding new roadblocks.
>
> At this point I don't think this series is going to make it for 7.3, so
> at best it makes it for 7.4 (together with in-place conversion), which I
> think works out?
>
> Sean, let us know what you think about scheduling. We can rebase without
> in-place conversion if necessary.
>
> >
> > Also, the branch does not build for me:
> > /usr/bin/ld: .../linux/tools/testing/selftests/kvm/lib/x86/tdx/td_boot.S:26:
> > undefined reference to `TD_BOOT_PARAMETERS_PER_VCPU'
> > /usr/bin/ld: .../linux/tools/testing/selftests/kvm/lib/x86/tdx/td_boot.S:30:
> > undefined reference to `TD_PER_VCPU_PARAMETERS_ESP_GVA'
> > /usr/bin/ld: .../linux/tools/testing/selftests/kvm/lib/x86/tdx/td_boot.S:33:
> > undefined reference to `TD_BOOT_PARAMETERS_GDT'
> > /usr/bin/ld: .../linux/tools/testing/selftests/kvm/lib/x86/tdx/td_boot.S:37:
> > undefined reference to `TD_BOOT_PARAMETERS_IDT'
> > /usr/bin/ld: .../linux/tools/testing/selftests/kvm/lib/x86/tdx/td_boot.S:44:
> > undefined reference to `TD_BOOT_PARAMETERS_CR4'
> > /usr/bin/ld: .../linux/tools/testing/selftests/kvm/lib/x86/tdx/td_boot.S:46:
> > undefined reference to `TD_BOOT_PARAMETERS_CR3'
> > /usr/bin/ld: .../linux/tools/testing/selftests/kvm/lib/x86/tdx/td_boot.S:48:
> > undefined reference to `TD_BOOT_PARAMETERS_CR0'
> > /usr/bin/ld: .../linux/tools/testing/selftests/kvm/lib/x86/tdx/td_boot.S:54:
> > undefined reference to `TD_PER_VCPU_PARAMETERS_GUEST_CODE'
> > collect2: error: ld returned 1 exit status
> > make: *** [Makefile.kvm:351:
> > .../linux/tools/testing/selftests/kvm/demand_paging_test] Error 1
> > make: *** Waiting for unfinished jobs....
> > /usr/bin/ld: .../linux/tools/testing/selftests/kvm/lib/x86/tdx/td_boot.o: in
> > function `td_boot':
> > .../linux/tools/testing/selftests/kvm/lib/x86/tdx/td_boot.S:24: undefined
> > reference to `SIZEOF_TD_PER_VCPU_PARAMETERS'
> > /usr/bin/ld: .../linux/tools/testing/selftests/kvm/lib/x86/tdx/td_boot.S:26:
> > undefined reference to `TD_BOOT_PARAMETERS_PER_VCPU'
> > /usr/bin/ld: .../linux/tools/testing/selftests/kvm/lib/x86/tdx/td_boot.S:30:
> > undefined reference to `TD_PER_VCPU_PARAMETERS_ESP_GVA'
> > /usr/bin/ld: .../linux/tools/testing/selftests/kvm/lib/x86/tdx/td_boot.S:33:
> > undefined reference to `TD_BOOT_PARAMETERS_GDT'
> > /usr/bin/ld: .../linux/tools/testing/selftests/kvm/lib/x86/tdx/td_boot.S:37:
> > undefined reference to `TD_BOOT_PARAMETERS_IDT'
> > /usr/bin/ld: .../linux/tools/testing/selftests/kvm/lib/x86/tdx/td_boot.S:44:
> > undefined reference to `TD_BOOT_PARAMETERS_CR4'
> > /usr/bin/ld: .../linux/tools/testing/selftests/kvm/lib/x86/tdx/td_boot.S:46:
> > undefined reference to `TD_BOOT_PARAMETERS_CR3'
> > /usr/bin/ld: .../linux/tools/testing/selftests/kvm/lib/x86/tdx/td_boot.S:48:
> > undefined reference to `TD_BOOT_PARAMETERS_CR0'
> > /usr/bin/ld: .../linux/tools/testing/selftests/kvm/lib/x86/tdx/td_boot.S:54:
> > undefined reference to `TD_PER_VCPU_PARAMETERS_GUEST_CODE'
> > collect2: error: ld returned 1 exit status
> > make: *** [Makefile.kvm:351:
> > .../linux/tools/testing/selftests/kvm/dirty_log_test] Error 1
> >
> > If I apply these patches on 8cf3969a0b7d4 from the branch, it builds though.
> > It looks like a few changes are missing from the branch:
> >
> > diff --git a/tools/testing/selftests/kvm/guest_memfd_test.c
> > b/tools/testing/selftests/kvm/guest_memfd_test.c
> > index d6528c6f5e031..b099b09cbae3d 100644
> > --- a/tools/testing/selftests/kvm/guest_memfd_test.c
> > +++ b/tools/testing/selftests/kvm/guest_memfd_test.c
> > @@ -14,7 +14,7 @@
> > #include <linux/bitmap.h>
> > #include <linux/falloc.h>
> > #include <linux/sizes.h>
> > -#include <sys/mman.h>
> > +#include <linux/mman.h>
>
> I recall a similar fix [1] you posted, I think both Lisa and I are
> relying on some LSP auto-including, we'll adopt <linux/mman.h>. Let me
> know you know a good way to configure the auto-includes.
>
> [1]
> https://lore.kernel.org/all/20260427204313.50741-1-rick.p.edgecombe@intel.com/
>
> What compiler/version are you using? We'd like to reproduce.
I don't have access to that computer today. I'll report back when I do. But it
seems the issue was caught and fixed in these posted patches. Just not in the
linked branch. So somehow it was noticed?
>
> > #include <sys/types.h>
> > #include <sys/stat.h>
> >
> > diff --git a/tools/testing/selftests/kvm/lib/x86/tdx/td_boot_offsets.c
> > b/tools/testing/selftests/kvm/lib/x86/tdx/td_boot_offsets.c
> > index b81cd16198ecf..7f76a3585b99a 100644
> > --- a/tools/testing/selftests/kvm/lib/x86/tdx/td_boot_offsets.c
> > +++ b/tools/testing/selftests/kvm/lib/x86/tdx/td_boot_offsets.c
> > @@ -5,7 +5,7 @@
> >
> > #include "tdx/td_boot.h"
> >
> > -static void __used common(void)
> > +static void __attribute__((used)) common(void)
>
> Not sure about this, I'll let Lisa look at this in more detail. I wonder
> if declaring __used is necessary at all.
>
> > {
> > OFFSET(TD_BOOT_PARAMETERS_CR0, td_boot_parameters, cr0);
> > OFFSET(TD_BOOT_PARAMETERS_CR3, td_boot_parameters, cr3);
prev parent reply other threads:[~2026-08-17 17:54 UTC|newest]
Thread overview: 60+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-07-22 23:13 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-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-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-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-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-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-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-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-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-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-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-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-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 [this message]
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=0782a971b1e6aa64c12ba76f9a4e68c8fe72bd2c.camel@intel.com \
--to=rick.p.edgecombe@intel.com \
--cc=ackerleytng@google.com \
--cc=adrian.hunter@intel.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=pratikrajesh.sampat@amd.com \
--cc=reinette.chatre@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 \
--cc=xiaoyao.li@intel.com \
/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
all inboxes | Powered by JetHome®