|
@@ -484,7 +484,7 @@ static void reload_tss(void)
|
|
|
struct descriptor_table gdt;
|
|
|
struct desc_struct *descs;
|
|
|
|
|
|
- get_gdt(&gdt);
|
|
|
+ kvm_get_gdt(&gdt);
|
|
|
descs = (void *)gdt.base;
|
|
|
descs[GDT_ENTRY_TSS].type = 9; /* available TSS */
|
|
|
load_TR_desc();
|
|
@@ -540,9 +540,9 @@ static void vmx_save_host_state(struct kvm_vcpu *vcpu)
|
|
|
* Set host fs and gs selectors. Unfortunately, 22.2.3 does not
|
|
|
* allow segment selectors with cpl > 0 or ti == 1.
|
|
|
*/
|
|
|
- vmx->host_state.ldt_sel = read_ldt();
|
|
|
+ vmx->host_state.ldt_sel = kvm_read_ldt();
|
|
|
vmx->host_state.gs_ldt_reload_needed = vmx->host_state.ldt_sel;
|
|
|
- vmx->host_state.fs_sel = read_fs();
|
|
|
+ vmx->host_state.fs_sel = kvm_read_fs();
|
|
|
if (!(vmx->host_state.fs_sel & 7)) {
|
|
|
vmcs_write16(HOST_FS_SELECTOR, vmx->host_state.fs_sel);
|
|
|
vmx->host_state.fs_reload_needed = 0;
|
|
@@ -550,7 +550,7 @@ static void vmx_save_host_state(struct kvm_vcpu *vcpu)
|
|
|
vmcs_write16(HOST_FS_SELECTOR, 0);
|
|
|
vmx->host_state.fs_reload_needed = 1;
|
|
|
}
|
|
|
- vmx->host_state.gs_sel = read_gs();
|
|
|
+ vmx->host_state.gs_sel = kvm_read_gs();
|
|
|
if (!(vmx->host_state.gs_sel & 7))
|
|
|
vmcs_write16(HOST_GS_SELECTOR, vmx->host_state.gs_sel);
|
|
|
else {
|
|
@@ -586,15 +586,15 @@ static void __vmx_load_host_state(struct vcpu_vmx *vmx)
|
|
|
++vmx->vcpu.stat.host_state_reload;
|
|
|
vmx->host_state.loaded = 0;
|
|
|
if (vmx->host_state.fs_reload_needed)
|
|
|
- load_fs(vmx->host_state.fs_sel);
|
|
|
+ kvm_load_fs(vmx->host_state.fs_sel);
|
|
|
if (vmx->host_state.gs_ldt_reload_needed) {
|
|
|
- load_ldt(vmx->host_state.ldt_sel);
|
|
|
+ kvm_load_ldt(vmx->host_state.ldt_sel);
|
|
|
/*
|
|
|
* If we have to reload gs, we must take care to
|
|
|
* preserve our gs base.
|
|
|
*/
|
|
|
local_irq_save(flags);
|
|
|
- load_gs(vmx->host_state.gs_sel);
|
|
|
+ kvm_load_gs(vmx->host_state.gs_sel);
|
|
|
#ifdef CONFIG_X86_64
|
|
|
wrmsrl(MSR_GS_BASE, vmcs_readl(HOST_GS_BASE));
|
|
|
#endif
|
|
@@ -654,8 +654,8 @@ static void vmx_vcpu_load(struct kvm_vcpu *vcpu, int cpu)
|
|
|
* Linux uses per-cpu TSS and GDT, so set these when switching
|
|
|
* processors.
|
|
|
*/
|
|
|
- vmcs_writel(HOST_TR_BASE, read_tr_base()); /* 22.2.4 */
|
|
|
- get_gdt(&dt);
|
|
|
+ vmcs_writel(HOST_TR_BASE, kvm_read_tr_base()); /* 22.2.4 */
|
|
|
+ kvm_get_gdt(&dt);
|
|
|
vmcs_writel(HOST_GDTR_BASE, dt.base); /* 22.2.4 */
|
|
|
|
|
|
rdmsrl(MSR_IA32_SYSENTER_ESP, sysenter_esp);
|
|
@@ -1943,8 +1943,8 @@ static int vmx_vcpu_setup(struct vcpu_vmx *vmx)
|
|
|
vmcs_write16(HOST_CS_SELECTOR, __KERNEL_CS); /* 22.2.4 */
|
|
|
vmcs_write16(HOST_DS_SELECTOR, __KERNEL_DS); /* 22.2.4 */
|
|
|
vmcs_write16(HOST_ES_SELECTOR, __KERNEL_DS); /* 22.2.4 */
|
|
|
- vmcs_write16(HOST_FS_SELECTOR, read_fs()); /* 22.2.4 */
|
|
|
- vmcs_write16(HOST_GS_SELECTOR, read_gs()); /* 22.2.4 */
|
|
|
+ vmcs_write16(HOST_FS_SELECTOR, kvm_read_fs()); /* 22.2.4 */
|
|
|
+ vmcs_write16(HOST_GS_SELECTOR, kvm_read_gs()); /* 22.2.4 */
|
|
|
vmcs_write16(HOST_SS_SELECTOR, __KERNEL_DS); /* 22.2.4 */
|
|
|
#ifdef CONFIG_X86_64
|
|
|
rdmsrl(MSR_FS_BASE, a);
|
|
@@ -1958,7 +1958,7 @@ static int vmx_vcpu_setup(struct vcpu_vmx *vmx)
|
|
|
|
|
|
vmcs_write16(HOST_TR_SELECTOR, GDT_ENTRY_TSS*8); /* 22.2.4 */
|
|
|
|
|
|
- get_idt(&dt);
|
|
|
+ kvm_get_idt(&dt);
|
|
|
vmcs_writel(HOST_IDTR_BASE, dt.base); /* 22.2.4 */
|
|
|
|
|
|
asm("mov $.Lkvm_vmx_return, %0" : "=r"(kvm_vmx_return));
|