[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH] xen: Fake out the Bus Unit Config MSR on revF AMD CPUs



>>> On 08.03.12 at 12:13, George Dunlap <george.dunlap@xxxxxxxxxx> wrote:
> On Thu, 2012-03-08 at 10:14 +0000, Jan Beulich wrote:
>> >>> On 07.03.12 at 18:59, George Dunlap <george.dunlap@xxxxxxxxxxxxx> wrote:
>> > Win2k8 x64 reads this MSR on revF chips, where it wasn't publically
>> > available; it uses a magic constant in %rdi as a password, which we
>> > don't have in rdmsr_safe().  Since we'll ignore the later writes, just
>> > use a plausible value here (the reset value from rev10h chips) if the
>> > real CPU didn't provide one.
>> > 
>> > Signed-off-by: George Dunlap <george.dunlap@xxxxxxxxxxxxx>
>> > 
>> > diff --git a/xen/arch/x86/hvm/svm/svm.c b/xen/arch/x86/hvm/svm/svm.c
>> > --- a/xen/arch/x86/hvm/svm/svm.c
>> > +++ b/xen/arch/x86/hvm/svm/svm.c
>> > @@ -1516,6 +1516,18 @@ static int svm_msr_read_intercept(unsign
>> >          if ( rdmsr_safe(msr, *msr_content) == 0 )
>> >              break;
>> >  
>> > +        if ( msr == MSR_F10_BU_CFG )
>> 
>> As you're aiming at revF only, shouldn't you check at least the CPU
>> family here? With the MSR being model specific, you otherwise risk
>> to return (bogus) data for something completely different on future
>> CPU families.
> 
> I think that makes sense, but a quick glance through arch/x86/cpu/amd.c
> doesn't suggest to me the most concise way of making that test... could
> you give me a suggestion?

Just check boot_cpu_data.x86 == 0xf - I don't think we (or they) are
prepared to handle mixed family systems (mixed model already being
questionable in some places).

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.