diff options
Diffstat (limited to 'kernel/kernel.c')
| -rw-r--r-- | kernel/kernel.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/kernel/kernel.c b/kernel/kernel.c index 7058a8a..bf6910d 100644 --- a/kernel/kernel.c +++ b/kernel/kernel.c @@ -45,7 +45,8 @@ void kernel_main(uint32_t eax,uint32_t ebx) klog("Symmetrical Multi Processing (SMP) init ... "); smp_processors procdata; - if(!acpi_find(&procdata)&&!mp_find(&procdata))kpanic("No ACPI or MP found!"); +// if(!acpi_find(&procdata)&&!mp_find(&procdata))kpanic("No ACPI or MP found!"); + if(!acpi_find(&procdata))("No ACPI found!"); klog("Memory init ... "); uint32_t kernel_blocks=mem_init(info); @@ -53,12 +54,15 @@ void kernel_main(uint32_t eax,uint32_t ebx) klog("Ram Filesystem init ... "); fs_mount(info); + klog("Interrupt Vector Table (IVT) init ..."); + interrupts_init(0x08); + // Start the other Processors (before paging because apic addr etc..?) //TODO: remap apic !!! Check commented out sleep ()!!! // https://wiki.osdev.org/Symmetric_Multiprocessing klog("Symmetric Multi Processing (SMP) start ... "); smp_log_procdata(&procdata); - //smp_start_aps(&procdata); + smp_start_aps(&procdata); klog("Vritual Memory / Paging init ... "); pdirectory *dir=vmem_init(kernel_blocks,(uint32_t)info->framebuffer_addr); @@ -76,9 +80,6 @@ void kernel_main(uint32_t eax,uint32_t ebx) uint32_t sstdout = syscall_open("term",0,0); // stdout 1 uint32_t sstderr = syscall_open("stderr",0,0); // stderr 2 - klog("Interrupt Vector Table (IVT) init ..."); - interrupts_init(0x08); - klog("Enable Interrupts & Start Scheduling ..."); scheduler_init(dir); } |
