Files
my-os-project2/kernel/kmain.c
2025-08-05 22:49:34 +02:00

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();
}