From mboxrd@z Thu Jan 1 00:00:00 1970 From: Keir Fraser Subject: Re: [PATCH] libxc: set CPUID topology leaf as unsupported for PV guests Date: Thu, 14 Jul 2011 14:30:28 +0100 Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: David Vrabel , xen-devel@lists.xensource.com List-Id: xen-devel@lists.xenproject.org On 14/07/2011 12:50, "David Vrabel" wrote: > # HG changeset patch > # User David Vrabel > # Date 1310643124 -3600 > # Branch cpuid > # Node ID b3705aae543b95fd7f6bb38c21b5f1edd2b70609 > # Parent 98701b1276c034b2bbbc8c7a975cf4c361caaa63 > 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. For future reference, you also need to modify xen/arch/x86/traps.c:pv_cpuid(), for dom0. -- Keir > 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 > > diff -r 98701b1276c0 -r b3705aae543b tools/libxc/xc_cpuid_x86.c > --- a/tools/libxc/xc_cpuid_x86.c Thu Jul 14 09:43:37 2011 +0100 > +++ b/tools/libxc/xc_cpuid_x86.c Thu Jul 14 12:32:04 2011 +0100 > @@ -487,6 +487,11 @@ static void xc_cpuid_pv_policy( > regs[0] = regs[2] = regs[3] = 0; > break; > > + case 0x0000000b: > + /* Extended Topology Enumeration leaf is unsupported. */ > + regs[0] = regs[1] = regs[2] = regs[3] = 0; > + break; > + > case 0x0000000d: > xc_cpuid_config_xsave(xch, domid, xfeature_mask, input, regs); > break; > > _______________________________________________ > Xen-devel mailing list > Xen-devel@lists.xensource.com > http://lists.xensource.com/xen-devel