Markus Rechberger wrote:
> this patch discards MSR writes to the Performance Event-Select 
> Registers, this is the first issue why vista seems to fail although 
> now vista ends up in an endless loop a bit later.
> Qemu currently also discards those writes.
>
> Signed-off-by: Joerg Roedel <[EMAIL PROTECTED]>
> Signed-off-by: Markus Rechberger <[EMAIL PROTECTED]>
> diff --git a/drivers/kvm/svm.c b/drivers/kvm/svm.c
> index 1c3cc3e..1f34501 100644
> --- a/drivers/kvm/svm.c
> +++ b/drivers/kvm/svm.c
> @@ -1143,6 +1143,12 @@ static int svm_set_msr(struct kvm_vcpu *vcpu, unsigned 
> ecx, u64 data)
>       case MSR_SYSCALL_MASK:
>               svm->vmcb->save.sfmask = data;
>               break;
> +     case MSR_K7_EVNTSEL0:
> +     case MSR_K7_EVNTSEL1:
> +     case MSR_K7_EVNTSEL2:
> +     case MSR_K7_EVNTSEL3:
> +             /* discard those writes for now, required by vista 64bit */
> +             break;
>  #endif
>       case MSR_IA32_SYSENTER_CS:
>               svm->vmcb->save.sysenter_cs = data;

What value is actually written into those MSRs?  If the value causes the 
counter to be disabled (e.g. the interrupt enabled bit is cleared) we 
can be more clever: discard the write if it disables interrupts, and 
print a message and return -ESOMETHING if it enables interrupts.  This 
way, if some other guest depends on the performance counters, we'll have 
some indication that something is wrong.

btw, is this Vista x86 or x64?



-- 
error compiling committee.c: too many arguments to function


-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
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