2021-04-21 12:23:54 +02:00
|
|
|
#include "boucane.hpp"
|
2021-04-21 18:54:50 +02:00
|
|
|
#include "core/idt.hpp"
|
2021-04-24 10:09:43 +02:00
|
|
|
#include "boot/multiboot2.hpp"
|
|
|
|
#include "core/paging.hpp"
|
2021-04-25 12:41:24 +02:00
|
|
|
#include "core/apic.hpp"
|
|
|
|
#include "drivers/acpi.hpp"
|
2021-04-24 10:09:43 +02:00
|
|
|
|
|
|
|
extern u32 MB_INFO;
|
2021-04-21 12:23:54 +02:00
|
|
|
|
|
|
|
extern "C" void boucane(){
|
|
|
|
clear();
|
2021-04-24 10:09:43 +02:00
|
|
|
printk("Booting Boucane v%d.%d.%d\n",VERSION_MAJOR,VERSION_MINOR, VERSION_PATH);
|
2021-04-21 18:54:50 +02:00
|
|
|
idt_enable_interrupt();
|
2021-04-21 12:23:54 +02:00
|
|
|
|
2021-04-24 10:09:43 +02:00
|
|
|
paging_enable();
|
2021-04-25 12:41:24 +02:00
|
|
|
//apic_enable();
|
2021-04-24 10:09:43 +02:00
|
|
|
|
|
|
|
u64 p;
|
|
|
|
u32 size;
|
|
|
|
if(mb2_find_old_rsdp((u32*)MB_INFO,&p,&size)){
|
2021-04-25 12:41:24 +02:00
|
|
|
acpi_load_madt((void*)p);
|
2021-04-24 10:09:43 +02:00
|
|
|
}
|
2021-04-21 12:23:54 +02:00
|
|
|
while(1);
|
|
|
|
}
|