MP Specification
This page or section is a work in progress and may thus be incomplete. Its content may be changed in the near future. |
Introduction
The MP specification is designed to make multiprocessing OEM independent. This allows OS support without an OEM driver. Therefore, it makes multiprocessing and all it's problems open to the hobbyist. it is aimed at X86. Please note that X86 multiprocessing is strictly SMP.
Parts
MP Hardware
MP is implemented as PC-AT compatible. One processor runs at boot time, the BSP (Boot System Processor). All other CPUs, APs (Application Processors), are disabled either by hardware or the BIOS (or both). The APs have to be enabled by the OS (hence AT compatibility), via APIC IPIs (INIT & STARTUP). Before enabling, they are in a halt state with interrupts disabled (however INIT & STARTUP IPIs are not masked).
MP BIOS
The BIOS has to construct MP tables based on the detected/known configuration. These are then used by a MP-capable OS.