summaryrefslogtreecommitdiff
path: root/i386/i386/intel_startCPU.c
diff options
context:
space:
mode:
Diffstat (limited to 'i386/i386/intel_startCPU.c')
-rw-r--r--i386/i386/intel_startCPU.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/i386/i386/intel_startCPU.c b/i386/i386/intel_startCPU.c
index 193a4dd1..0a418415 100644
--- a/i386/i386/intel_startCPU.c
+++ b/i386/i386/intel_startCPU.c
@@ -5,13 +5,20 @@
#include <i386/i386/pcb.h>
#include <i386/i386/tss.h>
+
static struct kmutex mp_cpu_boot_lock;
+extern int apic2kernel[];
+extern int kernel2apic[];
+
kern_return_t intel_startCPU(int slot_num)
{
- int lapic = cpu_to_lapic[slot_num];
+ /*int lapic = cpu_to_lapic[slot_num];*/
+ int lapic = kernel2apic[slot_num];
int eFlagsRegister;
+ kmutex_init(&mp_cpu_boot_lock);
+
assert(lapic != -1);
DBGLOG_CPU_INIT(slot_num);