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

[Xen-changelog] [xen-4.0-testing] xen/libxc: set CPUID topology leaf as unsupported for PV guests



# HG changeset patch
# User David Vrabel <david.vrabel@xxxxxxxxxx>
# Date 1310805297 -3600
# Node ID fd9e72e1b1c3633c3ae0618d7e0f4606e7813bd9
# Parent  a353b8304f7a630fd3160fd88e31133fa0fc7bd2
xen/libxc: set CPUID topology leaf as unsupported for PV guests

The result of a CPUID Extended Topology Enumeration leaf for PV guests
is invalid as the level in ECX is ignored.  This can cause some guests
to loop endlessly when trying to enumerate the topology.

Since the physical topology isn't useful to PV guests set the topology
leaf as unsupported.

Guests affected include Linux kernels prior 2.6.32 where a workaround
was applied ("xen: mask extended topology info in cpu",
82d6469916c6fcfa345636a49004c9d1753905d1).

Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx>
xen-unstable changeset:   23700:867bb675b57b
xen-unstable date:        Sat Jul 16 09:05:45 2011 +0100
---


diff -r a353b8304f7a -r fd9e72e1b1c3 tools/libxc/xc_cpuid_x86.c
--- a/tools/libxc/xc_cpuid_x86.c        Fri Jul 08 09:02:03 2011 +0100
+++ b/tools/libxc/xc_cpuid_x86.c        Sat Jul 16 09:34:57 2011 +0100
@@ -349,6 +349,7 @@
     case 0xd: /* XSAVE */
     case 5: /* MONITOR/MWAIT */
     case 0xa: /* Architectural Performance Monitor Features */
+    case 0x0000000b: /* Extended Topology Enumeration */
     case 0x8000000a: /* SVM revision and features */
     case 0x8000001b: /* Instruction Based Sampling */
     case 0x8000001c: /* Light Weight Profiling */
diff -r a353b8304f7a -r fd9e72e1b1c3 xen/arch/x86/traps.c
--- a/xen/arch/x86/traps.c      Fri Jul 08 09:02:03 2011 +0100
+++ b/xen/arch/x86/traps.c      Sat Jul 16 09:34:57 2011 +0100
@@ -829,6 +829,7 @@
     case 0xd: /* XSAVE */
     case 5: /* MONITOR/MWAIT */
     case 0xa: /* Architectural Performance Monitor Features */
+    case 0x0000000b: /* Extended Topology Enumeration */
     case 0x8000000a: /* SVM revision and features */
     case 0x8000001b: /* Instruction Based Sampling */
     case 0x8000001c: /* Light Weight Profiling */

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


 


Rackspace

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