On 21/05/2025 5:55 pm, Roger Pau Monne wrote:
> Print the CPU 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 <andrew.cooper3@citrix.com>
> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
> ---
> xen/arch/x86/smpboot.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/xen/arch/x86/smpboot.c b/xen/arch/x86/smpboot.c
> index 0189d6c332a4..48ce996ba414 100644
> --- a/xen/arch/x86/smpboot.c
> +++ b/xen/arch/x86/smpboot.c
> @@ -618,10 +618,10 @@ static int do_boot_cpu(int apicid, int cpu)
> smp_mb();
> if ( bootsym(trampoline_cpu_started) == 0xA5 )
> /* trampoline started but...? */
> - printk("Stuck ??\n");
> + printk("CPU%u: Didn't finish startup sequence\n", cpu);
> else
> /* trampoline code not run */
> - printk("Not responding.\n");
> + printk("CPU%u: Not responding to startup\n", cpu);
> }
> }
>
I'd suggest printing the APIC_ID too. The next step here is always to
cross-reference with the MADT.
~Andrew