Re: [patch 37/53] x86/cpu: Detect real BSP on crash kernels

From: Thomas Gleixner
Date: Mon Jan 08 2024 - 11:13:42 EST


On Mon, Jan 08 2024 at 15:54, Thomas Gleixner wrote:

> On Mon, Jan 08 2024 at 14:11, Zhang, Rui wrote:
>>> +static __init void check_for_kdump_kernel(void)
>>> +{
>>> +       u32 bsp_apicid;
>>> +
>>> +       /*
>>> +        * There is no real good way to detect whether this a kdump()
>>> +        * kernel, but except on the Voyager SMP monstrosity which is
>>> not
>>> +        * longer supported, the real BSP has always the lowest
>>> numbered
>>> +        * APIC ID. If a crash happened on an AP, which then ends up
>>> as
>>> +        * boot CPU in the kdump() kernel, then sending INIT to the
>>> real
>>> +        * BSP would reset the whole system.
>>> +        */
>>
>>
>> Hi, Thomas,
>>
>> Unfortunately this causes a regression on Intel Meteorlake platform,
>> where the BSP APIC ID is NOT the lowest numbered APIC ID (instead,
>> CPU12, the first Ecore CPU, has APIC ID 0).
>
> Bah. Let me think about that.

In which order are the APICs/CPUs enumerated by ACPI?