Hi Sagi, On 10/28/25 2:20 PM, Sagi Shahar wrote: > Since the rip register is inaccessible for TDX VMs, we need a different > way to set the guest entry point for TDX VMs. This is done by writing > the guest code address to a predefined location in the guest memory and > loading it into rip as part of the TDX boot code.
Check the changelog for code impersonation, imperative tone, and matching the KVM requirements. > > Signed-off-by: Sagi Shahar <[email protected]> > --- > tools/testing/selftests/kvm/lib/x86/processor.c | 10 +++++++--- > 1 file changed, 7 insertions(+), 3 deletions(-) > > diff --git a/tools/testing/selftests/kvm/lib/x86/processor.c > b/tools/testing/selftests/kvm/lib/x86/processor.c > index 036875fe140f..17f5a381fe43 100644 > --- a/tools/testing/selftests/kvm/lib/x86/processor.c > +++ b/tools/testing/selftests/kvm/lib/x86/processor.c > @@ -691,9 +691,13 @@ void vcpu_arch_set_entry_point(struct kvm_vcpu *vcpu, > void *guest_code) > { > struct kvm_regs regs; > > - vcpu_regs_get(vcpu, ®s); > - regs.rip = (unsigned long) guest_code; > - vcpu_regs_set(vcpu, ®s); > + if (is_tdx_vm(vcpu->vm)) > + vm_tdx_set_vcpu_entry_point(vcpu, guest_code); Please use braces around both branches. (for reference "Placing Braces and Spaces" in Documentation/process/coding-style.rst) > + else { > + vcpu_regs_get(vcpu, ®s); > + regs.rip = (unsigned long) guest_code; You can drop the space after the cast above. > + vcpu_regs_set(vcpu, ®s); > + } > } > > vm_vaddr_t kvm_allocate_vcpu_stack(struct kvm_vm *vm) Reinette

