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

Re: [Xen-devel] Xen-unstable: Bisected Host boot failure on AMD Phenom



On 02/03/17 14:42, Sander Eikelenboom wrote:
> Hi Andrew / Jan,
>
> While testing current xen-unstable staging i ran into my host rebooting in 
> early kernel boot. 
> Bisection has turned up:
>     5cecf60f439e828f4bc0d2a368ced9a73b130cb7 is the first bad commit
>     Author: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
>     Date:   Fri Feb 17 17:10:50 2017 +0000
>
>     x86/cpuid: Handle leaf 0x1 in guest_cpuid()
>
> Hardware is a AMD phenom x6.
> Below is the output of serial console of a failed boot.

Hmm.  Sorry for breaking this (although my AMD servers are booting fine).

It is unfortunately not entirely obvious what Linux is objecting to, and
must be related to something visible in the emulated view.

Does this delta make any difference?

diff --git a/xen/arch/x86/cpuid.c b/xen/arch/x86/cpuid.c
index 0dd35dc..c8fabe9 100644
--- a/xen/arch/x86/cpuid.c
+++ b/xen/arch/x86/cpuid.c
@@ -747,9 +747,14 @@ void guest_cpuid(const struct vcpu *v, uint32_t leaf,
         const struct cpu_user_regs *regs;
 
     case 0x1:
-        /* TODO: Rework topology logic. */
-        res->b &= 0x00ffffffu;
-        res->b |= (v->vcpu_id * 2) << 24;
+        if ( is_hardware_domain(d) )
+            res->b = cpuid_ebx(0x1);
+        else
+        {
+            /* TODO: Rework topology logic. */
+            res->b &= 0x00ffffffu;
+            res->b |= (v->vcpu_id * 2) << 24;
+        }
 
         /* TODO: Rework vPMU control in terms of toolstack choices. */
         if ( vpmu_available(v) &&


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel

 


Rackspace

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