summaryrefslogtreecommitdiff
path: root/kernel/kernel.c
diff options
context:
space:
mode:
authorMichal Idziorek <m.i@gmx.at>2015-05-16 04:46:12 +0200
committerMichal Idziorek <m.i@gmx.at>2015-05-16 04:46:12 +0200
commitec6d07e29d1d55afe9d2c6f7f25e9fed20819af6 (patch)
treead990d16626fdd0835d1ae0d6252a7833de13588 /kernel/kernel.c
parentda62d2a7efc756870143ecda6566b0bea91b817f (diff)
started reactivating multiple processors
Diffstat (limited to 'kernel/kernel.c')
-rw-r--r--kernel/kernel.c36
1 files changed, 18 insertions, 18 deletions
diff --git a/kernel/kernel.c b/kernel/kernel.c
index 5f6981b..e5369f4 100644
--- a/kernel/kernel.c
+++ b/kernel/kernel.c
@@ -14,6 +14,7 @@
#include "timer.h"
#include "mem.h"
#include "vmem.h"
+#include "mp.h"
#include "interrupts.h"
#include "multiboot.h"
@@ -69,6 +70,23 @@ void kernel_main(uint32_t eax,uint32_t ebx)
//
uint32_t kernel_blocks=mem_init(info);
+ //
+ // Gather Info about other processors. (APs = application processors)
+ // ACPI or MP
+ //
+ smp_processors procdata;
+
+ if(!acpi_find(&procdata))
+ if(!mp_find(&procdata))
+ panic(FOOLOS_MODULE_NAME,"ACPI and MP search failed! I do not want to continue!");
+ //
+ // Start the other Processors (before paging)
+ //
+ smp_log_procdata(&procdata);
+ //TODO: !!! Check commented out sleep ()!!!
+ //smp_start_aps(&procdata,0x80000); // starts at 0x80000
+ // but it will be copied over mbr
+ while(1);
//
// Activate Virtual Memory (paging)
@@ -91,24 +109,6 @@ void kernel_main(uint32_t eax,uint32_t ebx)
//pci_init();
- //
- // Gather Info about other processors. (APs)
- // ACPI or MP
- //
- //
- /*
- smp_processors procdata;
-
- if(!acpi_find(&procdata))
- if(!mp_find(&procdata))
- panic(FOOLOS_MODULE_NAME,"ACPI and MP search failed! I do not want to continue!");
- */
- //
- // Start the other Processors (also before paging for some reason!)
- //
- //smp_log_procdata(&procdata);
- //smp_start_aps(&procdata,0x80000); // starts at 0x80000
- // but it will be copied over mbr
//
// Mount Root EXT2 ramimage