Intel 64 and IA-32 Architectures Software Developers Manual Volume 3B, System Programming Guide Part 2

Table Of Contents
C-2 Vol. 3
MP INITIALIZATION FOR P6 FAMILY PROCESSORS
Final Boot IPI (FIPI)—Initiates the BIOS initialization procedure for the BSP. This
IPI is broadcast to all the processors on the system bus, but only the BSP
responds to it. The BSP responds by beginning execution of the BIOS initialization
code at the reset vector.
Startup IPI (SIPI)—Initiates the initialization procedure for an AP. The SIPI
message contains a vector to the AP initialization code in the BIOS.
Table C-1 describes the various fields of the boot phase IPIs.
For BIPI messages, the lower 4 bits of the vector field contain the APIC ID of the
processor issuing the message and the upper 4 bits contain the “generation ID” of
the message. All P6 family processor will have a generation ID of 4H. BIPIs will there-
fore use vector values ranging from 40H to 4EH (4FH can not be used because FH is
not a valid APIC ID).
C.2 MP INITIALIZATION PROTOCOL ALGORITHM
Following a power-up or RESET of a system, the P6 family processors in the system
execute the MP initialization protocol algorithm to initialize each of the processors on
the system bus. In the course of executing this algorithm, the following boot-up and
initialization operations are carried out:
1. Each processor on the system bus is assigned a unique APIC ID, based on system
topology (see Section 7.5.5, “Identifying Logical Processors in an MP System”).
This ID is written into the local APIC ID register for each processor.
2. Each processor executes its internal BIST simultaneously with the other
processors on the system bus. Upon completion of the BIST (at T0), each
processor broadcasts a BIPI to “all including self” (see Figure 1).
3. APIC arbitration hardware causes all the APICs to respond to the BIPIs one at a
time (at T1, T2, T3, and T4).
4. When the first BIPI is received (at time T1), each APIC compares the four least
significant bits of the BIPI’s vector field with its APIC ID. If the vector and APIC ID
match, the processor selects itself as the BSP by setting the BSP flag in its
Table C-1. Boot Phase IPI Message Format
Type
Destination
Field
Destination
Shorthand
Trigger
Mode Level
Destination
Mode
Delivery
Mode
Vector
(Hex)
BIPI Not used All including
self
Edge Deassert Don’t Care Fixed
(000)
40 to 4E*
FIPI Not used All including
self
Edge Deassert Don’t Care Fixed
(000)
10
SIPI Used All excluding
self
Edge Assert Physical StartUp
(110)
00 to FF
NOTE:
* For all P6 family processors.