From a08957914b955eb08d85e5397403871b5f44f30d Mon Sep 17 00:00:00 2001 From: czjstmax Date: Tue, 24 Feb 2026 15:19:31 +0100 Subject: fix limine configuration Signed-off-by: czjstmax --- src/kernel/main.c | 29 ++++++++++++++++------------- 1 file changed, 16 insertions(+), 13 deletions(-) (limited to 'src/kernel') diff --git a/src/kernel/main.c b/src/kernel/main.c index 7584827..e62740c 100644 --- a/src/kernel/main.c +++ b/src/kernel/main.c @@ -1,6 +1,3 @@ -#ifndef MÜLL_KERN -#define MÜLL_KERN - /* * müll_kernel */ @@ -9,27 +6,35 @@ #include // external includes -#include "limine.h" +#include "headers/limine.h" -// API includes -#include "api/io.h" +// limine things +__attribute__((used, section(".limine_requests_start"))) +static volatile uint64_t limine_requests_start_marker[] = LIMINE_REQUESTS_START_MARKER; __attribute__((used, section(".limine_requests"))) -static volatile LIMINE_BASE_REVISION(2); +static volatile uint64_t limine_base_revision[] = LIMINE_BASE_REVISION(3); -static volatile struct limine_framebuffer_request fb_request = { - .id = LIMINE_FRAMEBUFFER_REQUEST, +__attribute__((used, section(".limine_requests"))) +static volatile struct limine_framebuffer_request framebuffer_request = { + .id = LIMINE_FRAMEBUFFER_REQUEST_ID, .revision = 0 }; +__attribute__((used, section(".limine_requests_end"))) +static volatile uint64_t limine_requests_end_marker[] = LIMINE_REQUESTS_END_MARKER; + +// API includes +#include "api/io.h" + void kmain(void) __attribute__((noreturn)); void _start(void) { - if (!fb_request.response) { + if (!framebuffer_request.response) { for (;;) __asm__("hlt"); } struct limine_framebuffer *fb = - fb_request.response->framebuffers[0]; + framebuffer_request.response->framebuffers[0]; uint32_t *pix = fb->address; pix[0] = 0x00FFFFFF; // white pixel @@ -38,5 +43,3 @@ void _start(void) { for (;;) __asm__("hlt"); } -#endif - -- cgit v1.3.1