x86: nVMX: Load actual GS.base for both guest and host
Load KUT's actual GS.base on VM-Entry and VM-Exit so that the VMX tests
can access per-cpu data. A future commit will track xAPIC vs. x2APIC ops
on a per-cpu basis.
Signed-off-by: Sean Christopherson <seanjc@google.com>
Message-Id: <20220121231852.1439917-3-seanjc@google.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
diff --git a/x86/vmx.c b/x86/vmx.c
index 51eed8c..093da5e 100644
--- a/x86/vmx.c
+++ b/x86/vmx.c
@@ -1209,7 +1209,7 @@
vmcs_write(HOST_BASE_GDTR, gdt_descr.base);
vmcs_write(HOST_BASE_IDTR, idt_descr.base);
vmcs_write(HOST_BASE_FS, 0);
- vmcs_write(HOST_BASE_GS, 0);
+ vmcs_write(HOST_BASE_GS, rdmsr(MSR_GS_BASE));
/* Set other vmcs area */
vmcs_write(PF_ERROR_MASK, 0);
@@ -1261,7 +1261,7 @@
vmcs_write(GUEST_BASE_SS, 0);
vmcs_write(GUEST_BASE_DS, 0);
vmcs_write(GUEST_BASE_FS, 0);
- vmcs_write(GUEST_BASE_GS, 0);
+ vmcs_write(GUEST_BASE_GS, rdmsr(MSR_GS_BASE));
vmcs_write(GUEST_BASE_TR, get_gdt_entry_base(tss_descr));
vmcs_write(GUEST_BASE_LDTR, 0);