Markus Rechberger wrote: > this patch adds support for the lbr MSR emulation, it also enables > support for Windows XP 64bit guests. > > Signed-off-by: Joerg Roedel <[EMAIL PROTECTED]> > Signed-off-by: Markus Rechberger <[EMAIL PROTECTED]> > @@ -1171,6 +1187,19 @@ > if (data != 0) > goto unhandled; > break; > + case MSR_IA32_DEBUGCTLMSR: > + svm->vmcb->save.dbgctl = data; > + if (svm->vmcb->save.dbgctl && svm_has(SVM_FEATURE_LBRV)) { > + void *msrpm_va; >
blank line > + svm->vmcb->control.lbr_ctl = 1; > + msrpm_va = page_address(pfn_to_page(msrpm_base >> > PAGE_SHIFT)); > + set_msr_interception(msrpm_va, MSR_IA32_DEBUGCTLMSR, 0, > 0); > + set_msr_interception(msrpm_va, > MSR_IA32_LASTBRANCHFROMIP, 0, 0); > + set_msr_interception(msrpm_va, MSR_IA32_LASTBRANCHTOIP, > 0, 0); > + set_msr_interception(msrpm_va, MSR_IA32_LASTINTFROMIP, > 0, 0); > + set_msr_interception(msrpm_va, MSR_IA32_LASTINTTOIP, 0, > 0); > + } > + break; > default: > unhandled: What is the performance impact (for example, on user/test/x86/vmexit.flat when modified to set a bit in debugctl)? Is it not better to enable LBR virtualization only when the guest enables LBR (but avoid it when other bits are enabled)? Can we disable LBR virtualization when the guest disables LBR? -- error compiling committee.c: too many arguments to function ------------------------------------------------------------------------- This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ _______________________________________________ kvm-devel mailing list kvm-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/kvm-devel