From 7376c976d9e971c5ae737a95e5520eb457413e5b Mon Sep 17 00:00:00 2001 From: Avi Kivity Date: Mon, 26 Jul 2010 18:32:38 +0300 Subject: [PATCH] --- yaml --- r: 202427 b: refs/heads/master c: 3444d7da1839b851eefedd372978d8a982316c36 h: refs/heads/master i: 202425: b4f3a2e723b90237e3ce1fe28ca1a74861cd708d 202423: 3cee4446d355c1a3aa1c407e0de4716856334956 v: v3 --- [refs] | 2 +- trunk/arch/x86/kvm/vmx.c | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index f054d7029195..2c8e20f9d05c 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 9a3aad70572c3f4d55e7f09ac4eb313d41d0a484 +refs/heads/master: 3444d7da1839b851eefedd372978d8a982316c36 diff --git a/trunk/arch/x86/kvm/vmx.c b/trunk/arch/x86/kvm/vmx.c index 2fdcc9819f36..27a0222c2946 100644 --- a/trunk/arch/x86/kvm/vmx.c +++ b/trunk/arch/x86/kvm/vmx.c @@ -185,6 +185,7 @@ static void kvm_cpu_vmxoff(void); static DEFINE_PER_CPU(struct vmcs *, vmxarea); static DEFINE_PER_CPU(struct vmcs *, current_vmcs); static DEFINE_PER_CPU(struct list_head, vcpus_on_cpu); +static DEFINE_PER_CPU(struct desc_ptr, host_gdt); static unsigned long *vmx_io_bitmap_a; static unsigned long *vmx_io_bitmap_b; @@ -871,6 +872,7 @@ static void __vmx_load_host_state(struct vcpu_vmx *vmx) #endif if (current_thread_info()->status & TS_USEDFPU) clts(); + load_gdt(&__get_cpu_var(host_gdt)); } static void vmx_load_host_state(struct vcpu_vmx *vmx) @@ -1379,6 +1381,8 @@ static int hardware_enable(void *garbage) ept_sync_global(); } + store_gdt(&__get_cpu_var(host_gdt)); + return 0; }