diff --git a/Architecture/amd64/Bootstrap/Limine.c b/Architecture/amd64/Bootstrap/Limine.c index 73d8c7e..d1a5435 100644 --- a/Architecture/amd64/Bootstrap/Limine.c +++ b/Architecture/amd64/Bootstrap/Limine.c @@ -122,6 +122,7 @@ SafeFunction NIF void init_limine() for (uint64_t i = 0; i < FrameBufferResponse->framebuffer_count; i++) { struct limine_framebuffer *framebuffer = FrameBufferResponse->framebuffers[i]; + binfo.Framebuffer[i].Type = RGB; binfo.Framebuffer[i].BaseAddress = (void *)((uint64_t)framebuffer->address - 0xffff800000000000); binfo.Framebuffer[i].Width = (uint32_t)framebuffer->width; binfo.Framebuffer[i].Height = (uint32_t)framebuffer->height; diff --git a/include/boot/binfo.h b/include/boot/binfo.h index 6372519..a020bd7 100644 --- a/include/boot/binfo.h +++ b/include/boot/binfo.h @@ -3,7 +3,7 @@ enum MemoryType { - Unknown, + Unknown_Memory_Type, Usable, Reserved, ACPIReclaimable, @@ -11,7 +11,16 @@ enum MemoryType BadMemory, BootloaderReclaimable, KernelAndModules, - Framebuffer + Framebuffer, + Unknown +}; + +enum FramebufferType +{ + Unknown_Framebuffer_Type, + Indexed, + RGB, + EGA }; #define MAX_FRAMEBUFFERS 16 @@ -22,6 +31,7 @@ struct BootInfo { struct FramebufferInfo { + enum FramebufferType Type; void *BaseAddress; __UINT32_TYPE__ Width; __UINT32_TYPE__ Height;