summaryrefslogtreecommitdiff
path: root/src/kernel/arch/amd64/boot.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/kernel/arch/amd64/boot.c')
-rw-r--r--src/kernel/arch/amd64/boot.c13
1 files changed, 13 insertions, 0 deletions
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 <kernel/arch/amd64/driver/fsroot.h>
#include <kernel/arch/amd64/driver/ps2.h>
#include <kernel/arch/amd64/driver/serial.h>
+#include <kernel/arch/amd64/driver/video.h>
#include <kernel/arch/amd64/interrupts/idt.h>
#include <kernel/arch/amd64/interrupts/irq.h>
#include <kernel/arch/amd64/multiboot.h>
@@ -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);
}