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] which cpuid bits are exposed to pv guest OS and why?

To: "Xen-Devel (E-mail)" <xen-devel@xxxxxxxxxxxxxxxxxxx>
Subject: [Xen-devel] which cpuid bits are exposed to pv guest OS and why?
From: Dan Magenheimer <dan.magenheimer@xxxxxxxxxx>
Date: Wed, 18 Nov 2009 14:01:51 -0800 (PST)
Delivery-date: Wed, 18 Nov 2009 14:03:24 -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>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Is there any documentation of the logic behind what
cpuid bits are exposed to a PV guest OS?

It was reported to me that /proc/cpuinfo in a 32-bit PV
guest running on a 64-bit Xen on a 64-bit hardware platform
does NOT report "lm" (64-bit hardware).  Although this
might seem to make sense, since the cpuid instruction
is unprivileged, userland apps testing the same cpuid
bit will observe that the hardware is indeed 64-bit,
even though the OS (which uses "pvcpuid") does not.
This difference confused a user.

So I compared /proc/cpuinfo in a 32-bit guest running on
a 64-bit, ahem, distinguished competitor's hypervisor,
on a 64-bit hardware platform vs the same on Xen on
identical hardware.

The differences were:

The "other" hypervisor reported these features that
Xen did not:  vme, pse, mtrr, pge, mca, pse36, lm.

Xen reported these features that the "other" hypervisor
did not: ht (only).

I'm far from an x86 expert, so would need to look up
most of these and all the differences may be perfectly
defensible, but I thought I would ask the question so
that the real x86 experts could comment, and possibly
fix anything necessary prior to Xen 4.0.

Unfortunately, I didn't test an hvm domain on the Xen
system and no longer have access to the "other"
hypervisor to run further tests.


Xen-devel mailing list

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