All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sean Christopherson <seanjc@google.com>
To: Yan Zhao <yan.y.zhao@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>,
	Ira Weiny <ira.weiny@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 v9 10/19] KVM: selftests: Set up TDX boot code region
Date: Tue, 26 Aug 2025 09:38:15 -0700	[thread overview]
Message-ID: <aK3i910ghgsaIkir@google.com> (raw)
In-Reply-To: <aKv1VNFiOPJZBN/T@yzhao56-desk.sh.intel.com>

On Mon, Aug 25, 2025, Yan Zhao wrote:
> > +	/*
> > +	 * Handcode "JMP rel8" at the RESET vector to jump back to the TD boot
> > +	 * code, as there are only 16 bytes at the RESET vector before RIP will
> > +	 * wrap back to zero.  Insert a trailing int3 so that the vCPU crashes
> > +	 * in case the JMP somehow falls through.  Note!  The target address is
> > +	 * relative to the end of the instruction!
> > +	 */
> > +	TEST_ASSERT(TD_BOOT_CODE_SIZE < 256,
> Looks TD_BOOT_CODE_SIZE needs to be <= 126, as the jump range is limited to -128
> to +127 for JMP rel8.

Gah, I managed to forget that relative targets obviously need to be signed values,
and I also forgot to account for the size of the JMP in the assert.  Go me.

Maybe express this as:

	TEST_ASSERT(TD_BOOT_CODE_SIZE + 2 < 128,
		    "TD boot code not addressable by 'JMP rel8'");
	
> > +		    "TD boot code not addressable by 'JMP rel8'");
> > +	hva[0] = 0xeb;
> > +	hva[1] = 256 - 2 - TD_BOOT_CODE_SIZE;

I think I lucked into getting this right though?

> > +	hva[2] = 0xcc;
> > +}
> > -- 
> > 2.51.0.rc1.193.gad69d77794-goog
> > 
> > 

  reply	other threads:[~2025-08-26 16:38 UTC|newest]

Thread overview: 63+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-08-21  4:28 [PATCH v9 00/19] TDX KVM selftests Sagi Shahar
2025-08-21  4:28 ` [PATCH v9 01/19] KVM: selftests: Include overflow.h instead of redefining is_signed_type() Sagi Shahar
2025-08-21 14:16   ` Sean Christopherson
2025-08-21 14:37   ` Ira Weiny
2025-08-21 14:42     ` Sean Christopherson
2025-08-21  4:28 ` [PATCH v9 02/19] KVM: selftests: Allocate pgd in virt_map() as necessary Sagi Shahar
2025-08-21 14:45   ` Ira Weiny
2025-08-26  2:36   ` Binbin Wu
2025-08-21  4:28 ` [PATCH v9 03/19] KVM: selftests: Expose functions to get default sregs values Sagi Shahar
2025-08-26  2:36   ` Binbin Wu
2025-08-26 14:05     ` Sean Christopherson
2025-08-21  4:28 ` [PATCH v9 04/19] KVM: selftests: Expose function to allocate guest vCPU stack Sagi Shahar
2025-08-21 22:00   ` Ira Weiny
2025-08-21 22:24     ` Sagi Shahar
2025-08-26  5:39   ` Binbin Wu
2025-08-26 16:00     ` Sagi Shahar
2025-08-26 17:16     ` Sean Christopherson
2025-08-21  4:28 ` [PATCH v9 05/19] KVM: selftests: Update kvm_init_vm_address_properties() for TDX Sagi Shahar
2025-08-21 22:05   ` Ira Weiny
2025-08-21 22:30     ` Sagi Shahar
2025-08-26  5:51   ` Binbin Wu
2025-08-26 16:04     ` Sagi Shahar
2025-08-21  4:28 ` [PATCH v9 06/19] KVM: selftests: Expose segment definitons to assembly files Sagi Shahar
2025-08-21 20:04   ` Ira Weiny
2025-08-21  4:29 ` [PATCH v9 07/19] KVM: selftests: Add kbuild definitons Sagi Shahar
2025-08-21  4:29 ` [PATCH v9 08/19] KVM: selftests: Define structs to pass parameters to TDX boot code Sagi Shahar
2025-08-26  6:52   ` Binbin Wu
2025-08-26 16:10     ` Sagi Shahar
2025-08-21  4:29 ` [PATCH v9 09/19] KVM: selftests: Add " Sagi Shahar
2025-08-21  4:29 ` [PATCH v9 10/19] KVM: selftests: Set up TDX boot code region Sagi Shahar
2025-08-25  5:32   ` Yan Zhao
2025-08-26 16:38     ` Sean Christopherson [this message]
2025-08-27  1:36       ` Yan Zhao
2025-08-21  4:29 ` [PATCH v9 11/19] KVM: selftests: Set up TDX boot parameters region Sagi Shahar
2025-08-26  8:36   ` Binbin Wu
2025-08-26 16:17     ` Sagi Shahar
2025-08-21  4:29 ` [PATCH v9 12/19] KVM: selftests: Add helper to initialize TDX VM Sagi Shahar
2025-08-21  4:29 ` [PATCH v9 13/19] KVM: selftests: TDX: Use KVM_TDX_CAPABILITIES to validate TDs' attribute configuration Sagi Shahar
2025-08-26  9:22   ` Binbin Wu
2025-09-04  3:57     ` Sagi Shahar
2025-08-21  4:29 ` [PATCH v9 14/19] KVM: selftests: Add helpers to init TDX memory and finalize VM Sagi Shahar
2025-08-25  8:40   ` Yan Zhao
2025-08-25 19:02     ` Sagi Shahar
2025-08-26  1:07       ` Yan Zhao
2025-08-27  2:24         ` Binbin Wu
2025-08-27  2:44           ` Yan Zhao
2025-08-27  3:52             ` Yan Zhao
2025-08-21  4:29 ` [PATCH v9 15/19] KVM: selftests: Hook TDX support to vm and vcpu creation Sagi Shahar
2025-08-26  8:28   ` Chenyi Qiang
2025-08-26 16:12     ` Sagi Shahar
2025-08-26 17:31   ` Sean Christopherson
2025-08-26 20:16     ` Ira Weiny
2025-08-26 20:29       ` Sagi Shahar
2025-08-26 20:30         ` Sagi Shahar
2025-08-26 21:31           ` Sean Christopherson
2025-08-26 21:38             ` Sagi Shahar
2025-08-21  4:29 ` [PATCH v9 16/19] KVM: selftests: Add support for TDX TDCALL from guest Sagi Shahar
2025-08-21  4:29 ` [PATCH v9 17/19] KVM: selftests: Add wrapper for TDX MMIO " Sagi Shahar
2025-08-21  4:29 ` [PATCH v9 18/19] KVM: selftests: Add ucall support for TDX Sagi Shahar
2025-08-27  7:18   ` Binbin Wu
2025-09-02 15:45     ` Sean Christopherson
2025-09-03  1:07       ` Binbin Wu
2025-08-21  4:29 ` [PATCH v9 19/19] KVM: selftests: Add TDX lifecycle test Sagi Shahar

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=aK3i910ghgsaIkir@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 \
    --cc=yan.y.zhao@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 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.