From 6a85c6ede66f723e1415552482e1c6640653efa2 Mon Sep 17 00:00:00 2001 From: dzwdz Date: Mon, 1 Aug 2022 16:33:44 +0200 Subject: amd64: /video/b device, provided by grub --- src/kernel/arch/amd64/boot.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'src/kernel/arch/amd64/boot.c') diff --git a/src/kernel/arch/amd64/boot.c b/src/kernel/arch/amd64/boot.c index e8f9a26..301df52 100644 --- a/src/kernel/arch/amd64/boot.c +++ b/src/kernel/arch/amd64/boot.c @@ -3,6 +3,7 @@ #include #include #include +#include #include #include #include @@ -25,6 +26,7 @@ static void find_init(struct multiboot_info *multiboot, struct kmain_info *info) void kmain_early(struct multiboot_info *multiboot) { struct kmain_info info; + struct fb_info vid; tty_init(); kprintf("idt..."); @@ -45,5 +47,16 @@ void kmain_early(struct multiboot_info *multiboot) { kprintf("ata..."); ata_init(); + vid.b = (void*)multiboot->framebuffer_addr; + vid.pitch = multiboot->framebuffer_pitch; + vid.width = multiboot->framebuffer_width; + vid.height = multiboot->framebuffer_height; + vid.bpp = multiboot->framebuffer_bpp; + + // TODO printf decimal + kprintf("framebuffer at 0x%x, %xx%x bpp 0x%x\n", vid.b, vid.width, vid.height, vid.bpp); + video_init(vid); + + kmain(info); } -- cgit v1.2.3