diff options
author | Joerg Roedel <joerg.roedel@amd.com> | 2010-12-03 05:45:57 -0500 |
---|---|---|
committer | Avi Kivity <avi@redhat.com> | 2011-01-12 04:30:34 -0500 |
commit | 060d0c9a2ee2b1d2cf10afc11d8a0b2d97d8f3e3 (patch) | |
tree | 691443dac81f86f096fbb4dbbc1299b5e68adf94 | |
parent | 17a703cb14055c5dac7f34672d368c4d8f6ffe49 (diff) |
KVM: SVM: Add clean-bit for Segements and CPL
This patch implements the clean-bit defined for the cs, ds,
ss, an es segemnts and the current cpl saved 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.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/x86/kvm/svm.c b/arch/x86/kvm/svm.c index cbfb2ac8b4da..4db7157c5dea 100644 --- a/arch/x86/kvm/svm.c +++ b/arch/x86/kvm/svm.c | |||
@@ -195,6 +195,7 @@ enum { | |||
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_DT, /* GDT, IDT */ |
198 | VMCB_SEG, /* CS, DS, SS, ES, CPL */ | ||
198 | VMCB_DIRTY_MAX, | 199 | VMCB_DIRTY_MAX, |
199 | }; | 200 | }; |
200 | 201 | ||
@@ -1457,6 +1458,7 @@ static void svm_set_segment(struct kvm_vcpu *vcpu, | |||
1457 | = (svm->vmcb->save.cs.attrib | 1458 | = (svm->vmcb->save.cs.attrib |
1458 | >> SVM_SELECTOR_DPL_SHIFT) & 3; | 1459 | >> SVM_SELECTOR_DPL_SHIFT) & 3; |
1459 | 1460 | ||
1461 | mark_dirty(svm->vmcb, VMCB_SEG); | ||
1460 | } | 1462 | } |
1461 | 1463 | ||
1462 | static void update_db_intercept(struct kvm_vcpu *vcpu) | 1464 | static void update_db_intercept(struct kvm_vcpu *vcpu) |