diff options
author | Joerg Roedel <joerg.roedel@amd.com> | 2010-12-03 11:45:59 +0100 |
---|---|---|
committer | Avi Kivity <avi@redhat.com> | 2011-01-12 10:30:37 +0100 |
commit | b53ba3f9cc0b5ac21a86a95c702768f871b02610 (patch) | |
tree | e81261bc5549cba13238c9aca2f90a90e756cb4f /arch/x86/kvm/svm.c | |
parent | KVM: SVM: Add clean-bit for CR2 register (diff) | |
download | linux-b53ba3f9cc0b5ac21a86a95c702768f871b02610.tar.xz linux-b53ba3f9cc0b5ac21a86a95c702768f871b02610.zip |
KVM: SVM: Add clean-bit for LBR state
This patch implements the clean-bit for all LBR related
state. This includes the debugctl, br_from, br_to,
last_excp_from, and last_excp_to msrs.
Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
Signed-off-by: Avi Kivity <avi@redhat.com>
Diffstat (limited to '')
-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 d2ddad9ca630..58cabb550afd 100644 --- a/arch/x86/kvm/svm.c +++ b/arch/x86/kvm/svm.c @@ -197,6 +197,7 @@ enum { VMCB_DT, /* GDT, IDT */ VMCB_SEG, /* CS, DS, SS, ES, CPL */ VMCB_CR2, /* CR2 only */ + VMCB_LBR, /* DBGCTL, BR_FROM, BR_TO, LAST_EX_FROM, LAST_EX_TO */ VMCB_DIRTY_MAX, }; @@ -2847,6 +2848,7 @@ static int svm_set_msr(struct kvm_vcpu *vcpu, unsigned ecx, u64 data) return 1; svm->vmcb->save.dbgctl = data; + mark_dirty(svm->vmcb, VMCB_LBR); if (data & (1ULL<<0)) svm_enable_lbrv(svm); else |