use boot_ctx

This commit is contained in:
2026-01-04 11:18:20 +01:00
parent d9dfd4c749
commit 0f72987bc1
2 changed files with 9 additions and 9 deletions

View File

@@ -10,7 +10,7 @@ because this shitty implementation will be replaced one day by Flanterm
#include <kernel.h> #include <kernel.h>
#include "term.h" #include "term.h"
extern struct limine_framebuffer* framebuffer; extern struct boot_context boot_ctx;
// Importing the PSF object file // Importing the PSF object file
extern unsigned char _binary_zap_light16_psf_start[]; extern unsigned char _binary_zap_light16_psf_start[];
@@ -33,13 +33,16 @@ Cursor cursor = {0};
unsigned char* fb; unsigned char* fb;
struct limine_framebuffer* framebuffer;
int term_init() int term_init()
{ {
// Get framebuffer address from Limine struct // Get framebuffer address from Limine struct
if (framebuffer) if (boot_ctx.fb)
{ {
fb = framebuffer->address; fb = boot_ctx.fb->address;
framebuffer = boot_ctx.fb;
DEBUG("terminal initialized"); DEBUG("terminal initialized");
return 0; return 0;
} }

View File

@@ -53,8 +53,6 @@ static volatile LIMINE_REQUESTS_START_MARKER;
__attribute__((used, section(".limine_requests_end"))) __attribute__((used, section(".limine_requests_end")))
static volatile LIMINE_REQUESTS_END_MARKER; static volatile LIMINE_REQUESTS_END_MARKER;
struct limine_framebuffer* framebuffer;
// Panic (should dump registers etc. in the future) // Panic (should dump registers etc. in the future)
void hcf() void hcf()
{ {
@@ -64,6 +62,8 @@ void hcf()
} }
} }
const char* splash = "pepperOS version "PEPPEROS_VERSION_MAJOR"."PEPPEROS_VERSION_MINOR"."PEPPEROS_VERSION_PATCH"\n";
struct boot_context boot_ctx; struct boot_context boot_ctx;
// This is our entry point // This is our entry point
@@ -77,9 +77,6 @@ void kmain()
boot_ctx.hhdm = hhdm_request.response ? hhdm_request.response : NULL; boot_ctx.hhdm = hhdm_request.response ? hhdm_request.response : NULL;
boot_ctx.kaddr = kerneladdr_request.response ? kerneladdr_request.response : NULL; boot_ctx.kaddr = kerneladdr_request.response ? kerneladdr_request.response : NULL;
// Get the first framebuffer from the response
framebuffer = framebuffer_request.response->framebuffers[0];
serial_init(); serial_init();
memmap_display(boot_ctx.mmap); memmap_display(boot_ctx.mmap);
@@ -109,7 +106,7 @@ void kmain()
keyboard_init(FR); keyboard_init(FR);
term_init(); term_init();
kputs("pepperOS version "PEPPEROS_VERSION_MAJOR"."PEPPEROS_VERSION_MINOR"."PEPPEROS_VERSION_PATCH"\n"); kputs(splash);
hcf(); hcf();
} }