Commit 17a703cb authored by Joerg Roedel's avatar Joerg Roedel Committed by Avi Kivity

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: default avatarJoerg Roedel <joerg.roedel@amd.com>
Signed-off-by: default avatarAvi Kivity <avi@redhat.com>
parent 72214b96
...@@ -194,6 +194,7 @@ enum { ...@@ -194,6 +194,7 @@ enum {
VMCB_NPT, /* npt_en, nCR3, gPAT */ VMCB_NPT, /* npt_en, nCR3, gPAT */
VMCB_CR, /* CR0, CR3, CR4, EFER */ VMCB_CR, /* CR0, CR3, CR4, EFER */
VMCB_DR, /* DR6, DR7 */ VMCB_DR, /* DR6, DR7 */
VMCB_DT, /* GDT, IDT */
VMCB_DIRTY_MAX, VMCB_DIRTY_MAX,
}; };
...@@ -1304,6 +1305,7 @@ static void svm_set_idt(struct kvm_vcpu *vcpu, struct desc_ptr *dt) ...@@ -1304,6 +1305,7 @@ static void svm_set_idt(struct kvm_vcpu *vcpu, struct desc_ptr *dt)
svm->vmcb->save.idtr.limit = dt->size; svm->vmcb->save.idtr.limit = dt->size;
svm->vmcb->save.idtr.base = dt->address ; svm->vmcb->save.idtr.base = dt->address ;
mark_dirty(svm->vmcb, VMCB_DT);
} }
static void svm_get_gdt(struct kvm_vcpu *vcpu, struct desc_ptr *dt) static 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,6 +1322,7 @@ static void svm_set_gdt(struct kvm_vcpu *vcpu, struct desc_ptr *dt)
svm->vmcb->save.gdtr.limit = dt->size; svm->vmcb->save.gdtr.limit = dt->size;
svm->vmcb->save.gdtr.base = dt->address ; svm->vmcb->save.gdtr.base = dt->address ;
mark_dirty(svm->vmcb, VMCB_DT);
} }
static void svm_decache_cr0_guest_bits(struct kvm_vcpu *vcpu) static void svm_decache_cr0_guest_bits(struct kvm_vcpu *vcpu)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment