Re: [RFT] Fix for unhandled msr c0000081 problems under Intel cpus

Avi Kivity
2006-12-28T14:09:21Z

Ingo Molnar wrote:
> * Avi Kivity <avi-atKUWr5tajBWk0Htik3J/w@public.gmane.org> wrote:
>
>
>>> that did the trick. The only messages remaining are:
>>>
>>> kvm: unhandled wrmsr: 0xc1
>>> inject_general_protection: rip 0xc011b8ae
>>>
>>>
>>>
>> That's a performance counter. What guest triggers it?
>>
>
> a 32-bit Linux bzImage:
>
> c011b8ae: 0f 30 wrmsr
>
> (gdb) list *0xc011b8ae
> 0xc011b8ae is in setup_apic_nmi_watchdog (include/asm/msr.h:36).
> 31 static inline void wrmsrl (unsigned long msr, unsigned long long val)
> 32 {
> 33 unsigned long lo, hi;
> 34 lo = (unsigned long) val;
> 35 hi = val >> 32;
> 36 wrmsr (msr, lo, hi);
> 37 }
> 38
> 39 /* wrmsr with exception handling */
> 40 #define wrmsr_safe(msr,a,b) ({ int ret__;
>
> the guest also obviously crashes due to this #GPF.
>

The wary ones use wrmsr_safe().

> [ 2.6.20-rc2-rt2 kernel of course ;-) ]
>
>

Who's the caller? I boot 2.6.18 variants regularly and they don't touch
that msr.

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