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

[Xen-devel] which cpuid bits are exposed to pv guest OS and why?



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.

Thanks,
Dan

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

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