This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
Home Products Support Community News


[Xen-devel] Intel: Overly restrictive test for availablility of CPUID ma

To: xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxx>
Subject: [Xen-devel] Intel: Overly restrictive test for availablility of CPUID masking MSRs?
From: Ian Campbell <Ian.Campbell@xxxxxxxxxx>
Date: Tue, 2 Mar 2010 14:01:40 +0000
Cc: Jun Nakajima <nakajima.jun@xxxxxxxxx>, Rob Hoes <Rob.Hoes@xxxxxxxxxx>, Liping Ke <liping.ke@xxxxxxxxx>
Delivery-date: Tue, 02 Mar 2010 06:02:14 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Organization: Citrix Systems, Inc.
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx

http://xenbits.xensource.com/xen-unstable.hg?rev/aab9fbd6ffa0 from
restricts the CPUID masking feature to model 0x1d or model 0x17 with
stepping >=4:
        if (!((model == 0x1d) || ((model == 0x17) && ((eax & 0xf) >=
        4)))) {
                /* fail ... */
A Xeon E5520 which is supposed to have FlexMigration has family 6, model
26 (0x1a) and stepping 5 fails the existing test and we think it should
be allowed.

Is there a more precise way of detecting the presence of this
capability? I've seen:
        family > 0x6 || (model > 0x17 || (model = 0x17 && stepping >= 4))
suggested but this looks like it matches exactly the same set of
processors as the "eax < 0x00010674" in the code before aab9fbd6ffa0
which was apparently too lenient?


Xen-devel mailing list

<Prev in Thread] Current Thread [Next in Thread>