From: Uros Bizjak <[email protected]> Sent: Friday, November 21, 2025 6:14 AM > > Use standard savesegment() utility macro to save segment registers.
Patch 1 of this series was included in the tip tree. But this patch (Patch 2) and Patch 3 have not been picked up anywhere. Wei Liu -- could you pick these two up in the hyperv tree? Michael > > Signed-off-by: Uros Bizjak <[email protected]> > Acked-by: Wei Liu <[email protected]> > Tested-by: Michael Kelley <[email protected]> > Cc: "K. Y. Srinivasan" <[email protected]> > Cc: Haiyang Zhang <[email protected]> > Cc: Dexuan Cui <[email protected]> > Cc: Thomas Gleixner <[email protected]> > Cc: Ingo Molnar <[email protected]> > Cc: Borislav Petkov <[email protected]> > Cc: Dave Hansen <[email protected]> > Cc: "H. Peter Anvin" <[email protected]> > --- > arch/x86/hyperv/ivm.c | 9 +++++---- > 1 file changed, 5 insertions(+), 4 deletions(-) > > diff --git a/arch/x86/hyperv/ivm.c b/arch/x86/hyperv/ivm.c > index 651771534cae..7365d8f43181 100644 > --- a/arch/x86/hyperv/ivm.c > +++ b/arch/x86/hyperv/ivm.c > @@ -25,6 +25,7 @@ > #include <asm/e820/api.h> > #include <asm/desc.h> > #include <asm/msr.h> > +#include <asm/segment.h> > #include <uapi/asm/vmx.h> > > #ifdef CONFIG_AMD_MEM_ENCRYPT > @@ -315,16 +316,16 @@ int hv_snp_boot_ap(u32 apic_id, unsigned long start_ip, > unsigned int cpu) > vmsa->gdtr.base = gdtr.address; > vmsa->gdtr.limit = gdtr.size; > > - asm volatile("movl %%es, %%eax;" : "=a" (vmsa->es.selector)); > + savesegment(es, vmsa->es.selector); > hv_populate_vmcb_seg(vmsa->es, vmsa->gdtr.base); > > - asm volatile("movl %%cs, %%eax;" : "=a" (vmsa->cs.selector)); > + savesegment(cs, vmsa->cs.selector); > hv_populate_vmcb_seg(vmsa->cs, vmsa->gdtr.base); > > - asm volatile("movl %%ss, %%eax;" : "=a" (vmsa->ss.selector)); > + savesegment(ss, vmsa->ss.selector); > hv_populate_vmcb_seg(vmsa->ss, vmsa->gdtr.base); > > - asm volatile("movl %%ds, %%eax;" : "=a" (vmsa->ds.selector)); > + savesegment(ds, vmsa->ds.selector); > hv_populate_vmcb_seg(vmsa->ds, vmsa->gdtr.base); > > vmsa->efer = native_read_msr(MSR_EFER); > -- > 2.51.1
