43 lines
806 B
C
43 lines
806 B
C
#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();
|
|
}
|
|
}
|
|
|
|
|
|
void kmain(void) {
|
|
limine_init();
|
|
com1_init();
|
|
|
|
kprintf("Hello dupa!\n");
|
|
|
|
hcf();
|
|
}
|