From f519cb2cc0fa82c060bb30019d44780d171c0b7b Mon Sep 17 00:00:00 2001 From: Bananymous Date: Mon, 27 Oct 2025 17:28:17 +0200 Subject: [PATCH] Kernel: Expose boot framebuffer device --- kernel/include/kernel/Device/FramebufferDevice.h | 1 + kernel/kernel/Device/FramebufferDevice.cpp | 8 ++++++++ 2 files changed, 9 insertions(+) diff --git a/kernel/include/kernel/Device/FramebufferDevice.h b/kernel/include/kernel/Device/FramebufferDevice.h index bce2b3ca..8a095c40 100644 --- a/kernel/include/kernel/Device/FramebufferDevice.h +++ b/kernel/include/kernel/Device/FramebufferDevice.h @@ -10,6 +10,7 @@ namespace Kernel { public: static BAN::ErrorOr> create_from_boot_framebuffer(); + static BAN::RefPtr boot_framebuffer(); ~FramebufferDevice(); uint32_t width() const { return m_width; } diff --git a/kernel/kernel/Device/FramebufferDevice.cpp b/kernel/kernel/Device/FramebufferDevice.cpp index 60943df9..1f4ad793 100644 --- a/kernel/kernel/Device/FramebufferDevice.cpp +++ b/kernel/kernel/Device/FramebufferDevice.cpp @@ -12,12 +12,19 @@ namespace Kernel { + static BAN::RefPtr s_boot_framebuffer; + static uint32_t get_framebuffer_device_index() { static uint32_t index = 0; return index++; } + BAN::RefPtr FramebufferDevice::boot_framebuffer() + { + return s_boot_framebuffer; + } + BAN::ErrorOr> FramebufferDevice::create_from_boot_framebuffer() { ASSERT(g_boot_info.framebuffer.type == FramebufferInfo::Type::RGB); @@ -37,6 +44,7 @@ namespace Kernel auto device = BAN::RefPtr::adopt(device_ptr); TRY(device->initialize()); DevFileSystem::get().add_device(device); + s_boot_framebuffer = device; return device; }