This commit is contained in:
2025-08-05 22:49:34 +02:00
parent f8399152d4
commit f8f00cc608
12 changed files with 1838 additions and 25 deletions

View File

@ -1,40 +1,42 @@
#include <limine.h>
#include <types.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")))
static volatile struct limine_framebuffer_request framebuffer_request = {
.id = LIMINE_FRAMEBUFFER_REQUEST,
.revision = 0
};
__attribute__((used, section(".limine_requests_start")))
static volatile LIMINE_REQUESTS_START_MARKER;
__attribute__((used, section(".limine_requests_end")))
static volatile LIMINE_REQUESTS_END_MARKER;
// Halt and catch fire function.
static void hcf(void) {
for (;;) {
asm ("hlt");
}
__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) {
if (LIMINE_BASE_REVISION_SUPPORTED == false) {
hcf();
}
limine_init();
com1_init();
if (framebuffer_request.response == NULL
|| framebuffer_request.response->framebuffer_count < 1) {
hcf();
}
kprintf("Hello dupa!\n");
struct limine_framebuffer *framebuffer = framebuffer_request.response->framebuffers[0];
hcf();
hcf();
}