aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoerg Roedel <joerg.roedel@amd.com>2010-12-03 05:45:56 -0500
committerAvi Kivity <avi@redhat.com>2011-01-12 04:30:33 -0500
commit17a703cb14055c5dac7f34672d368c4d8f6ffe49 (patch)
tree9352263f7e7f790b42cf560da34bddc4691531f7
parent72214b9601f2b6c8343ea57b0e405f9da7a92d29 (diff)
KVM: SVM: Add clean-bit for GDT and IDT
This patch implements the clean-bit for the base and limit of the gdt and idt in the vmcb. Signed-off-by: Joerg Roedel <joerg.roedel@amd.com> Signed-off-by: Avi Kivity <avi@redhat.com>
-rw-r--r--arch/x86/kvm/svm.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/x86/kvm/svm.c b/arch/x86/kvm/svm.c
index e9224ca090a1..cbfb2ac8b4da 100644
--- a/arch/x86/kvm/svm.c
+++ b/arch/x86/kvm/svm.c
@@ -194,6 +194,7 @@ enum {
194 VMCB_NPT, /* npt_en, nCR3, gPAT */ 194 VMCB_NPT, /* npt_en, nCR3, gPAT */
195 VMCB_CR, /* CR0, CR3, CR4, EFER */ 195 VMCB_CR, /* CR0, CR3, CR4, EFER */
196 VMCB_DR, /* DR6, DR7 */ 196 VMCB_DR, /* DR6, DR7 */
197 VMCB_DT, /* GDT, IDT */
197 VMCB_DIRTY_MAX, 198 VMCB_DIRTY_MAX,
198}; 199};
199 200
@@ -1304,6 +1305,7 @@ static void svm_set_idt(struct kvm_vcpu *vcpu, struct desc_ptr *dt)
1304 1305
1305 svm->vmcb->save.idtr.limit = dt->size; 1306 svm->vmcb->save.idtr.limit = dt->size;
1306 svm->vmcb->save.idtr.base = dt->address ; 1307 svm->vmcb->save.idtr.base = dt->address ;
1308 mark_dirty(svm->vmcb, VMCB_DT);
1307} 1309}
1308 1310
1309static void svm_get_gdt(struct kvm_vcpu *vcpu, struct desc_ptr *dt) 1311static void svm_get_gdt(struct kvm_vcpu *vcpu, struct desc_ptr *dt)
@@ -1320,6 +1322,7 @@ static void svm_set_gdt(struct kvm_vcpu *vcpu, struct desc_ptr *dt)
1320 1322
1321 svm->vmcb->save.gdtr.limit = dt->size; 1323 svm->vmcb->save.gdtr.limit = dt->size;
1322 svm->vmcb->save.gdtr.base = dt->address ; 1324 svm->vmcb->save.gdtr.base = dt->address ;
1325 mark_dirty(svm->vmcb, VMCB_DT);
1323} 1326}
1324 1327
1325static void svm_decache_cr0_guest_bits(struct kvm_vcpu *vcpu) 1328static void svm_decache_cr0_guest_bits(struct kvm_vcpu *vcpu)