summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoerg Roedel <joerg.roedel@amd.com>2010-12-03 10:45:57 (GMT)
committerAvi Kivity <avi@redhat.com>2011-01-12 09:30:34 (GMT)
commit060d0c9a2ee2b1d2cf10afc11d8a0b2d97d8f3e3 (patch)
tree691443dac81f86f096fbb4dbbc1299b5e68adf94
parent17a703cb14055c5dac7f34672d368c4d8f6ffe49 (diff)
downloadlinux-060d0c9a2ee2b1d2cf10afc11d8a0b2d97d8f3e3.tar.xz
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.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/x86/kvm/svm.c b/arch/x86/kvm/svm.c
index cbfb2ac..4db7157 100644
--- a/arch/x86/kvm/svm.c
+++ b/arch/x86/kvm/svm.c
@@ -195,6 +195,7 @@ enum {
VMCB_CR, /* CR0, CR3, CR4, EFER */
VMCB_DR, /* DR6, DR7 */
VMCB_DT, /* GDT, IDT */
+ VMCB_SEG, /* CS, DS, SS, ES, CPL */
VMCB_DIRTY_MAX,
};
@@ -1457,6 +1458,7 @@ static void svm_set_segment(struct kvm_vcpu *vcpu,
= (svm->vmcb->save.cs.attrib
>> SVM_SELECTOR_DPL_SHIFT) & 3;
+ mark_dirty(svm->vmcb, VMCB_SEG);
}
static void update_db_intercept(struct kvm_vcpu *vcpu)