GDT finally works
This commit is contained in:
@ -1,42 +1,22 @@
|
||||
#include <limine.h>
|
||||
#include <com1.h>
|
||||
#include <kprintf.h>
|
||||
|
||||
// Halt and catch fire function.
|
||||
static void hcf(void) {
|
||||
for (;;) {
|
||||
asm ("hlt");
|
||||
}
|
||||
}
|
||||
|
||||
__attribute__((used, section(".limine_requests")))
|
||||
static volatile LIMINE_BASE_REVISION(3);
|
||||
|
||||
__attribute__((used, section(".limine_requests_start")))
|
||||
static volatile LIMINE_REQUESTS_START_MARKER;
|
||||
|
||||
__attribute__((used, section(".limine_requests_end")))
|
||||
static volatile LIMINE_REQUESTS_END_MARKER;
|
||||
|
||||
__attribute__((used, section(".limine_requests")))
|
||||
static volatile struct limine_memmap_request memmap_request = {
|
||||
.id = LIMINE_MEMMAP_REQUEST,
|
||||
.revision = 0,
|
||||
};
|
||||
|
||||
void limine_init(void) {
|
||||
|
||||
if (LIMINE_BASE_REVISION_SUPPORTED == false) {
|
||||
hcf();
|
||||
}
|
||||
}
|
||||
#include "kprintf.h"
|
||||
#include "banner.h"
|
||||
#include "hal/hal.h"
|
||||
#include "bootinfo/bootinfo.h"
|
||||
#include "pmm/pmm.h"
|
||||
|
||||
static volatile LIMINE_BASE_REVISION(2);
|
||||
|
||||
void kmain(void) {
|
||||
limine_init();
|
||||
com1_init();
|
||||
if (LIMINE_BASE_REVISION_SUPPORTED == false) {
|
||||
hal_hang();
|
||||
}
|
||||
|
||||
kprintf("Hello dupa!\n");
|
||||
bootinfo_init();
|
||||
pmm_init();
|
||||
hal_init();
|
||||
|
||||
hcf();
|
||||
kprintf(BANNER_TEXT "\n");
|
||||
|
||||
hal_hang();
|
||||
}
|
||||
|
Reference in New Issue
Block a user