diff options
| author | czjstmax <jstmaxlol@disroot.org> | 2026-02-24 15:19:31 +0100 |
|---|---|---|
| committer | czjstmax <jstmaxlol@disroot.org> | 2026-02-24 15:19:31 +0100 |
| commit | a08957914b955eb08d85e5397403871b5f44f30d (patch) | |
| tree | c5879a119e5ef981e6b6e25129be2cf5bcef5ef0 /src/kernel | |
| parent | 2420e3f52b62580af9cdd661fb441733e437daf9 (diff) | |
fix limine configuration
Signed-off-by: czjstmax <jstmaxlol@disroot.org>
Diffstat (limited to 'src/kernel')
| -rw-r--r-- | src/kernel/main.c | 29 |
1 files changed, 16 insertions, 13 deletions
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 <stddef.h> // 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 - |