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

Reply via email to