[PATCH v1 2/2] x86, apic: Disable BSP if boot cpu is AP
H. Peter Anvin
hpa at zytor.com
Mon Oct 22 16:16:40 EDT 2012
On 10/22/2012 01:04 PM, Eric W. Biederman wrote:
> HATAYAMA Daisuke <d.hatayama at jp.fujitsu.com> writes:
>> We disable BSP if boot cpu is AP.
>> INIT-INIT-SIPI sequence, a protocal to initiate AP, cannot be used for
>> BSP since it causes BSP jump to BIOS init code; typical visible
>> behaviour is hang or immediate reset, depending on the BIOS init code.
>> INIT can be used to reset AP in a fatal system error state as
>> described in MP spec 3.7.3 Processor-specific INIT. In contrast, there
>> is no processor-specific INIT for BSP to initilize from a fatal system
>> error. It might be possible to do so by NMI plus any hand-crafted
>> reset code that is carefully designed, but at least I have no idea in
>> this direction now.
> Has anyone looked at clearing bit 8 of the IA32_APIC_BASE_MSR (0x1B) on
> the bootstrap processor? Bit 8 being the bit that indicates we are a
> bootstrap processor.
> If we can clear that bit INIT will always place the processor in
> wait-for-startup-ipi mode and we won't have this problem.
> That would also solve the hotunplug the bootstrap processor without
> using an NMI as well.
IIRC Fenghua experimented with that and it didn't work. Not all BIOSes
use that bit to determine BSP-ness.
More information about the kexec