summaryrefslogtreecommitdiff
path: root/kernel/kernel.c
diff options
context:
space:
mode:
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