[extern gpMP_LocalAPIC]\r
[extern gaAPIC_to_CPU]\r
[extern gaCPUs]\r
+[extern giNumInitingCPUs]\r
lGDTPtr: ; Local GDT Pointer\r
dw 2*8-1\r
dd gGDT-KERNEL_BASE\r
mov cl, BYTE [gaAPIC_to_CPU+ecx]\r
; CL is now the CPU ID\r
mov BYTE [gaCPUs+ecx*8+1], 1\r
+ ; Decrement the remaining CPU count\r
+ dec DWORD [giNumInitingCPUs]\r
; CPU is now marked as initialised\r
sti\r
.hlt:\r