summaryrefslogtreecommitdiff
path: root/kernel/kernel.c
diff options
context:
space:
mode:
authorMichal Idziorek <m.i@gmx.at>2014-09-08 12:23:20 +0200
committerMichal Idziorek <m.i@gmx.at>2014-09-08 12:23:20 +0200
commit77357ba0bd02eb9ef76af15697f62f6021c0a4fe (patch)
treee60b2d74357168e423613fed8ec529aed84c564e /kernel/kernel.c
parent2a204125c98699aa2baa8f6f91fc5129f6eb7385 (diff)
fixed waiting for keypress in bootloader.
Diffstat (limited to 'kernel/kernel.c')
-rw-r--r--kernel/kernel.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/kernel/kernel.c b/kernel/kernel.c
index a9f8e54..533ff7c 100644
--- a/kernel/kernel.c
+++ b/kernel/kernel.c
@@ -130,13 +130,24 @@ void kernel_main(uint32_t initial_stack, int mp)
//
mem_init(0x7c00+1,*((uint16_t *)(0x7c00)));
+ // init spinlocks
+ log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"Initializing Spinlocks");
+
+ init_spinlocks();
+
+ lock_spin(0);
+
//
// Start the other Processors (also before paging !)
//
smp_log_procdata(&procdata);
+
+ lock_spin(0);
+
smp_start_aps(&procdata,0x80000); // starts at 0x90000
// but it will be copied over mbr
+
//
// Activate Virtual Memory (paging)
//