Add support for Symmetric Multiprocessing (SMP) #26

Merged
harraiken merged 33 commits from smp into master 2026-05-18 18:44:54 +02:00
Showing only changes of commit 42bbdc9b26 - Show all commits

View File

@@ -254,13 +254,16 @@ _ArStartApplicationProcessor:
movw %ax, %ds movw %ax, %ds
movw %ax, %es movw %ax, %es
movw %ax, %ss movw %ax, %ss
movw $0x1000, %sp
/* Calculate absolute physical base address */ /* Calculate absolute physical base address */
xorl %ebx, %ebx xorl %ebx, %ebx
movw %cs, %bx movw %cs, %bx
shll $4, %ebx shll $4, %ebx
/* Set up a temporary stack for the AP initialization */
movl %ebx, %esp
addl $0x1000, %esp
/* Load the temporary Global Descriptor Table */ /* Load the temporary Global Descriptor Table */
leal (ApTemporaryGdtDesc - _ArStartApplicationProcessor)(%ebx), %eax leal (ApTemporaryGdtDesc - _ArStartApplicationProcessor)(%ebx), %eax
movl %eax, (ApTemporaryGdtBase - _ArStartApplicationProcessor) movl %eax, (ApTemporaryGdtBase - _ArStartApplicationProcessor)