All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sean Christopherson <seanjc@google.com>
To: Ira Weiny <ira.weiny@intel.com>
Cc: Sagi Shahar <sagis@google.com>,
	linux-kselftest@vger.kernel.org,
	 Paolo Bonzini <pbonzini@redhat.com>,
	Shuah Khan <shuah@kernel.org>,
	 Ackerley Tng <ackerleytng@google.com>,
	Ryan Afranji <afranji@google.com>,
	 Andrew Jones <ajones@ventanamicro.com>,
	Isaku Yamahata <isaku.yamahata@intel.com>,
	 Erdem Aktas <erdemaktas@google.com>,
	Rick Edgecombe <rick.p.edgecombe@intel.com>,
	 Roger Wang <runanwang@google.com>,
	Binbin Wu <binbin.wu@linux.intel.com>,
	 Oliver Upton <oliver.upton@linux.dev>,
	"Pratik R. Sampat" <pratikrajesh.sampat@amd.com>,
	 Reinette Chatre <reinette.chatre@intel.com>,
	Chao Gao <chao.gao@intel.com>,
	 Chenyi Qiang <chenyi.qiang@intel.com>,
	linux-kernel@vger.kernel.org, kvm@vger.kernel.org
Subject: Re: [PATCH v11 21/21] KVM: selftests: Add TDX lifecycle test
Date: Mon, 27 Oct 2025 16:42:10 -0700	[thread overview]
Message-ID: <aQADUmrDSRAydBhI@google.com> (raw)
In-Reply-To: <68fff9328b74_1ffdeb100d8@iweiny-mobl.notmuch>

On Mon, Oct 27, 2025, Ira Weiny wrote:
> Sean Christopherson wrote:
> > diff --git a/tools/testing/selftests/kvm/include/kvm_util.h b/tools/testing/selftests/kvm/include/kvm_util.h
> > index af52cd938b50..af0b53987c06 100644
> > --- a/tools/testing/selftests/kvm/include/kvm_util.h
> > +++ b/tools/testing/selftests/kvm/include/kvm_util.h
> > @@ -210,6 +210,20 @@ kvm_static_assert(sizeof(struct vm_shape) == sizeof(uint64_t));
> >  	shape;					\
> >  })
> >  
> > +#define __VM_TYPE(__mode, __type)		\
> > +({						\
> > +	struct vm_shape shape = {		\
> > +		.mode = (__mode),		\
> > +		.type = (__type)		\
> > +	};					\
> > +						\
> > +	shape;					\
> > +})
> > +
> > +#define VM_TYPE(__type)				\
> > +	__VM_TYPE(VM_MODE_DEFAULT, __type)
> 
> We already have VM_SHAPE()?  Why do we need this as well?

VM_SHAPE() takes the "mode", and assumes a default type.  The alternative would
be something like __VM_SHAPE(__type, __mode), but that's annoying, especially on
x86 which only has one mode.

And __VM_SHAPE(__type) + ____VM_SHAPE(__type, __mode) feels even more weird.

I'm definitely open to more ideas, VM_TYPE() isn't great either, just the least
awful option I came up with.

> >  #if defined(__aarch64__)
> >  
> >  extern enum vm_guest_mode vm_mode_default;
> > diff --git a/tools/testing/selftests/kvm/include/x86/processor.h b/tools/testing/selftests/kvm/include/x86/processor.h
> > index 51cd84b9ca66..dd21e11e1908 100644
> > --- a/tools/testing/selftests/kvm/include/x86/processor.h
> > +++ b/tools/testing/selftests/kvm/include/x86/processor.h
> > @@ -362,6 +362,10 @@ static inline unsigned int x86_model(unsigned int eax)
> >  	return ((eax >> 12) & 0xf0) | ((eax >> 4) & 0x0f);
> >  }
> >  
> > +#define VM_SHAPE_SEV		VM_TYPE(KVM_X86_SEV_VM)
> > +#define VM_SHAPE_SEV_ES		VM_TYPE(KVM_X86_SEV_ES_VM)
> > +#define VM_SHAPE_SNP		VM_TYPE(KVM_X86_SNP_VM)
> 
> FWIW I think the SEV bits should be pulled apart from the TDX bits and the
> TDX bits squashed back into this series with the SEV as a per-cursor patch.

Ya, that's my intent, "officially" post and land this SEV+ change, then have the
TDX series build on top.  Or did you mean something else?

  reply	other threads:[~2025-10-27 23:42 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-09-25 17:28 [PATCH v11 00/21] TDX KVM selftests Sagi Shahar
2025-09-25 17:28 ` [PATCH v11 01/21] KVM: selftests: Allocate pgd in virt_map() as necessary Sagi Shahar
2025-09-25 17:28 ` [PATCH v11 02/21] KVM: selftests: Expose functions to get default sregs values Sagi Shahar
2025-09-25 17:28 ` [PATCH v11 03/21] KVM: selftests: Expose function to allocate guest vCPU stack Sagi Shahar
2025-09-25 17:28 ` [PATCH v11 04/21] KVM: selftests: Update kvm_init_vm_address_properties() for TDX Sagi Shahar
2025-09-25 17:28 ` [PATCH v11 05/21] KVM: selftests: Expose segment definitons to assembly files Sagi Shahar
2025-09-25 17:28 ` [PATCH v11 06/21] KVM: selftests: Add kbuild definitons Sagi Shahar
2025-09-25 17:28 ` [PATCH v11 07/21] KVM: selftests: Define structs to pass parameters to TDX boot code Sagi Shahar
2025-09-25 17:28 ` [PATCH v11 08/21] KVM: selftests: Add " Sagi Shahar
2025-09-25 17:28 ` [PATCH v11 09/21] KVM: selftests: Set up TDX boot code region Sagi Shahar
2025-09-25 17:28 ` [PATCH v11 10/21] KVM: selftests: Set up TDX boot parameters region Sagi Shahar
2025-09-25 17:28 ` [PATCH v11 11/21] KVM: selftests: Add helper to initialize TDX VM Sagi Shahar
2025-09-25 17:28 ` [PATCH v11 12/21] KVM: selftests: TDX: Use KVM_TDX_CAPABILITIES to validate TDs' attribute configuration Sagi Shahar
2025-09-25 17:28 ` [PATCH v11 13/21] KVM: selftests: Add helpers to init TDX memory and finalize VM Sagi Shahar
2025-10-15 16:27   ` Ira Weiny
2025-10-23 23:59     ` Sagi Shahar
2025-10-24 16:01       ` Sean Christopherson
2025-10-24 16:45         ` Sagi Shahar
2025-10-24 17:24           ` Sean Christopherson
2025-09-25 17:28 ` [PATCH v11 14/21] KVM: selftests: Call TDX init when creating a new TDX vm Sagi Shahar
2025-09-25 17:28 ` [PATCH v11 15/21] KVM: selftests: Setup memory regions for TDX on vm creation Sagi Shahar
2025-09-25 17:28 ` [PATCH v11 16/21] KVM: selftests: Call KVM_TDX_INIT_VCPU when creating a new TDX vcpu Sagi Shahar
2025-09-25 17:28 ` [PATCH v11 17/21] KVM: selftests: Set entry point for TDX guest code Sagi Shahar
2025-09-25 17:28 ` [PATCH v11 18/21] KVM: selftests: Add support for TDX TDCALL from guest Sagi Shahar
2025-09-25 17:28 ` [PATCH v11 19/21] KVM: selftests: Add wrapper for TDX MMIO " Sagi Shahar
2025-09-25 17:28 ` [PATCH v11 20/21] KVM: selftests: Add ucall support for TDX Sagi Shahar
2025-09-25 17:28 ` [PATCH v11 21/21] KVM: selftests: Add TDX lifecycle test Sagi Shahar
2025-10-24 16:18   ` Sean Christopherson
2025-10-27 22:58     ` Ira Weiny
2025-10-27 23:42       ` Sean Christopherson [this message]
2025-10-28  0:53         ` Sagi Shahar
2025-10-28 17:12           ` Ira Weiny
2025-10-28 14:56         ` Ira Weiny

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=aQADUmrDSRAydBhI@google.com \
    --to=seanjc@google.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=erdemaktas@google.com \
    --cc=ira.weiny@intel.com \
    --cc=isaku.yamahata@intel.com \
    --cc=kvm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-kselftest@vger.kernel.org \
    --cc=oliver.upton@linux.dev \
    --cc=pbonzini@redhat.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=shuah@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.