BarinkOS/src/kernel/kernel.cpp

46 lines
1.1 KiB
C++
Raw Normal View History

#include "kernel.h"
#include "memory/PageFrameAllocator.h"
2021-05-12 22:03:00 +00:00
extern "C" void early_main(unsigned long magic, unsigned long addr){
2021-07-22 19:02:47 +00:00
/** initialize terminal interface */
kterm_init();
2021-10-23 11:26:15 +00:00
2021-07-22 19:02:47 +00:00
if (magic != MULTIBOOT_BOOTLOADER_MAGIC){
2021-10-23 11:26:15 +00:00
printf("Invalid magic number: 0x%x\n", magic);
2021-07-22 19:02:47 +00:00
return;
}
2021-10-23 11:26:15 +00:00
CheckMBT( (multiboot_info_t *) addr);
2021-07-22 19:02:47 +00:00
2021-10-23 11:26:15 +00:00
multiboot_info_t* mbt = (multiboot_info_t*) addr;
2021-07-22 19:02:47 +00:00
/* Are mmap_* valid? */
2021-10-23 11:26:15 +00:00
if (CHECK_FLAG(mbt->flags, 6)){
mapMultibootMemoryMap(mbt);
2021-07-22 19:02:47 +00:00
}
/* Draw diagonal blue line */
if (CHECK_FLAG (mbt->flags, 12)){
2021-07-22 19:02:47 +00:00
printf("Can draw!");
}
//setupGdt();
2021-05-12 22:03:00 +00:00
}
extern "C" void kernel_main (void) {
2021-05-12 22:03:00 +00:00
2021-07-22 19:02:47 +00:00
init_serial();
while (false){
//Read time indefinetely
read_rtc();
2021-07-22 19:02:47 +00:00
printf( "UTC time: %02d-%02d-%02d %02d:%02d:%02d [ Formatted as YY-MM-DD h:mm:ss]\r" ,year, month, day, hour, minute, second);
delay(1000);
}
}