From f8ffcf1d1043edf3e220d39d406a7c3c66628637 Mon Sep 17 00:00:00 2001 From: Roger Pau Monne Date: Wed, 21 May 2025 17:28:47 +0200 Subject: [PATCH] x86/boot: print CPU and APIC ID in bring up failure MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Print the CPU and APIC ID that fails to respond to the init sequence, or that didn't manage to reach the "callin" state. Expand a bit the printed error messages. Otherwise the "Not responding." message is not easy to understand by users. Reported-by: Andrew Cooper Signed-off-by: Roger Pau Monné Reviewed-by: Andrew Cooper --- xen/arch/x86/smpboot.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/xen/arch/x86/smpboot.c b/xen/arch/x86/smpboot.c index 41fe67d43c..adcaec6899 100644 --- a/xen/arch/x86/smpboot.c +++ b/xen/arch/x86/smpboot.c @@ -621,10 +621,12 @@ static int do_boot_cpu(int apicid, int cpu) smp_mb(); if ( bootsym(trampoline_cpu_started) == 0xA5 ) /* trampoline started but...? */ - printk("Stuck ??\n"); + printk("APIC ID %#x (CPU%u) didn't finish start sequence\n", + apicid, cpu); else /* trampoline code not run */ - printk("Not responding.\n"); + printk("APIC ID %#x (CPU%u) didn't respond to SIPI\n", + apicid, cpu); } }