diff options
Diffstat (limited to 'arch/x86/kvm/svm.c')
-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 { | |||
197 | VMCB_DT, /* GDT, IDT */ | 197 | VMCB_DT, /* GDT, IDT */ |
198 | VMCB_SEG, /* CS, DS, SS, ES, CPL */ | 198 | VMCB_SEG, /* CS, DS, SS, ES, CPL */ |
199 | VMCB_CR2, /* CR2 only */ | 199 | VMCB_CR2, /* CR2 only */ |
200 | VMCB_LBR, /* DBGCTL, BR_FROM, BR_TO, LAST_EX_FROM, LAST_EX_TO */ | ||
200 | VMCB_DIRTY_MAX, | 201 | VMCB_DIRTY_MAX, |
201 | }; | 202 | }; |
202 | 203 | ||
@@ -2847,6 +2848,7 @@ static int svm_set_msr(struct kvm_vcpu *vcpu, unsigned ecx, u64 data) | |||
2847 | return 1; | 2848 | return 1; |
2848 | 2849 | ||
2849 | svm->vmcb->save.dbgctl = data; | 2850 | svm->vmcb->save.dbgctl = data; |
2851 | mark_dirty(svm->vmcb, VMCB_LBR); | ||
2850 | if (data & (1ULL<<0)) | 2852 | if (data & (1ULL<<0)) |
2851 | svm_enable_lbrv(svm); | 2853 | svm_enable_lbrv(svm); |
2852 | else | 2854 | else |