Re: [PATCH] Handle guest access to BBL_CR_CTL3 MSR

Avi Kivity
2011-01-09T12:25:11Z

On 01/08/2011 07:05 AM, john cooper wrote:
> A correction to Intel cpu model CPUID data (patch queued)
> caused winxp-64 to BSOD when booted with a Penryn model.
> This was traced to the CPUID "model" field correction from
> 6 -> 23 (as is proper for a Penryn class of cpu). Only in
> this case does the problem surface.
>
> The cause for this failure is winxp accessing the BBL_CR_CTL3
> MSR which is unsupported by current kvm, appears to be a
> legacy MSR not fully characterized yet existing in current
> silicon, and is apparently carried forward in MSR space to
> accommodate vintage code as here. It is not yet conclusive
> whether this MSR implements any of its legacy functionality
> or is just an ornamental dud for compatibility. While I
> found no silicon version specific documentation link to
> this MSR, a general description exists in Intel's developer's
> reference which agrees with the functional behavior of
> other bootloader/kernel code I've examined accessing
> BBL_CR_CTL3. Regrettably winxp-64 appears to be setting bit #19
> called out as "reserved" in the above document.
>
> So to minimally accommodate this MSR, kvm msr get will provide
> the equivalent mock data and kvm msr write will simply toss the
> guest passed data without interpretation. While this treatment
> of BBL_CR_CTL3 addresses the immediate problem, the approach may
> be modified pending clarification from Intel.
>

Looks reasonable.

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