Ich habe in meinem Kernel Mehrprozessorsupport (noch nicht vollständig, z.b. habe ich noch keinen Mehrprozessor Scheduler). Grundsätzlich muss man im BIOS Datenbereich nach einer Struktur mit Prozessorinformationen suchen, den lokalen APIC benutzen, um sie zu booten und mit ihnen zu kommunizieren (über IPCs - Inter-Processor Interrupts, verhalten sich wie normale Interrupts). Dann kann man noch den IO APIC nutzen, um IRQs zu ihnen weiterzuleiten.
Informationen gibts darüber in der Intel Multiprocessor Specification, im Intel Manual Nr. 3 und durch Tutorials (z.B. auf osdever.net) und Sourcebeispiele.