From fafad0c29d93be18af3c966f9587ac9a44c788b8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Gr=C3=A9goire?= Date: Sat, 11 Apr 2026 15:22:08 -0400 Subject: [PATCH] feat(boot): export limine framebuffers --- src/boot/limine/entry.zig | 8 ++++++++ src/boot/limine/limine.zig | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/boot/limine/entry.zig b/src/boot/limine/entry.zig index 48cff08..b487e94 100644 --- a/src/boot/limine/entry.zig +++ b/src/boot/limine/entry.zig @@ -85,6 +85,14 @@ export fn kmain() callconv(.c) void { .virtual_base = ka_response.virtual_base, } else .{ .physical_base = 0, .virtual_base = 0 }; + boot_info.framebuffer = if (framebuffer_request.response) |fb_response| .{ + .address = @intFromPtr(fb_response.framebuffers[0].address), + .width = @intCast(fb_response.framebuffers[0].width), + .height = @intCast(fb_response.framebuffers[0].height), + .pitch = @intCast(fb_response.framebuffers[0].pitch), + .bpp = @intCast(fb_response.framebuffers[0].bpp), + } else null; + build_memory_map(); ke.ncpus = 1; diff --git a/src/boot/limine/limine.zig b/src/boot/limine/limine.zig index 9465199..5e06a4d 100644 --- a/src/boot/limine/limine.zig +++ b/src/boot/limine/limine.zig @@ -135,7 +135,7 @@ pub const FramebufferRequest = extern struct { pub const FramebufferResponse = extern struct { revision: u64, framebuffer_count: u64, - framebuffers: ?[*]*Framebuffer, + framebuffers: [*]*Framebuffer, }; pub const Framebuffer = extern struct {