diff --git a/Kernel/Arch/aarch64/RPi/Framebuffer.cpp b/Kernel/Arch/aarch64/RPi/Framebuffer.cpp index 1c7bfc7626..e0168b35fa 100644 --- a/Kernel/Arch/aarch64/RPi/Framebuffer.cpp +++ b/Kernel/Arch/aarch64/RPi/Framebuffer.cpp @@ -11,9 +11,6 @@ #include #include -extern const u32 serenity_boot_logo_start; -extern const u32 serenity_boot_logo_size; - namespace Kernel::RPi { Framebuffer::Framebuffer() @@ -133,54 +130,4 @@ void Framebuffer::initialize() } } -void Framebuffer::draw_logo(u8* framebuffer_data) -{ - BootPPMParser logo_parser(reinterpret_cast(&serenity_boot_logo_start), serenity_boot_logo_size); - if (!logo_parser.parse()) { - dbgln("Failed to parse boot logo."); - return; - } - - dbgln("Boot logo size: {} ({} x {})", serenity_boot_logo_size, logo_parser.image.width, logo_parser.image.height); - - auto fb_ptr = framebuffer_data; - auto image_left = (width() - logo_parser.image.width) / 2; - auto image_right = image_left + logo_parser.image.width; - auto image_top = (height() - logo_parser.image.height) / 2; - auto image_bottom = image_top + logo_parser.image.height; - auto logo_pixels = logo_parser.image.pixel_data; - - for (u32 y = 0; y < height(); y++) { - for (u32 x = 0; x < width(); x++) { - if (x >= image_left && x < image_right && y >= image_top && y < image_bottom) { - switch (pixel_order()) { - case RPi::Framebuffer::PixelOrder::RGB: - fb_ptr[0] = logo_pixels[0]; - fb_ptr[1] = logo_pixels[1]; - fb_ptr[2] = logo_pixels[2]; - break; - case RPi::Framebuffer::PixelOrder::BGR: - fb_ptr[0] = logo_pixels[2]; - fb_ptr[1] = logo_pixels[1]; - fb_ptr[2] = logo_pixels[0]; - break; - default: - dbgln("Unsupported pixel format"); - VERIFY_NOT_REACHED(); - } - - logo_pixels += 3; - } else { - fb_ptr[0] = 0xBD; - fb_ptr[1] = 0xBD; - fb_ptr[2] = 0xBD; - } - - fb_ptr[3] = 0xFF; - fb_ptr += 4; - } - fb_ptr += pitch() - width() * 4; - } -} - } diff --git a/Kernel/Arch/aarch64/RPi/Framebuffer.h b/Kernel/Arch/aarch64/RPi/Framebuffer.h index 57e7dd448c..eb1da572c1 100644 --- a/Kernel/Arch/aarch64/RPi/Framebuffer.h +++ b/Kernel/Arch/aarch64/RPi/Framebuffer.h @@ -29,8 +29,6 @@ public: u32 pitch() const { return m_pitch; } PixelOrder pixel_order() { return m_pixel_order; } - void draw_logo(u8* framebuffer_data); - private: u16 m_width; u16 m_height; diff --git a/Kernel/Arch/aarch64/SerenityLogoRGB.ppm b/Kernel/Arch/aarch64/SerenityLogoRGB.ppm deleted file mode 100644 index 6cf9490cd4..0000000000 Binary files a/Kernel/Arch/aarch64/SerenityLogoRGB.ppm and /dev/null differ diff --git a/Kernel/Arch/init.cpp b/Kernel/Arch/init.cpp index ce41d4089e..f26166e71b 100644 --- a/Kernel/Arch/init.cpp +++ b/Kernel/Arch/init.cpp @@ -239,9 +239,6 @@ extern "C" [[noreturn]] UNMAP_AFTER_INIT void init([[maybe_unused]] BootInfo con if (!kernel_command_line().is_early_boot_console_disabled()) { if (!multiboot_framebuffer_addr.is_null() && multiboot_framebuffer_type == MULTIBOOT_FRAMEBUFFER_TYPE_RGB) { g_boot_console = &try_make_lock_ref_counted(multiboot_framebuffer_addr, multiboot_framebuffer_width, multiboot_framebuffer_height, multiboot_framebuffer_pitch).value().leak_ref(); -#if ARCH(AARCH64) - RPi::Framebuffer::the().draw_logo(static_cast(g_boot_console.load())->unsafe_framebuffer_data()); -#endif } else { g_boot_console = &Graphics::VGATextModeConsole::initialize().leak_ref(); } diff --git a/Kernel/CMakeLists.txt b/Kernel/CMakeLists.txt index e0c66bdba0..e68897f3bf 100644 --- a/Kernel/CMakeLists.txt +++ b/Kernel/CMakeLists.txt @@ -736,15 +736,6 @@ install(FILES "${CMAKE_CURRENT_BINARY_DIR}/Kernel" DESTINATION boot) install(FILES "${CMAKE_CURRENT_BINARY_DIR}/Kernel.debug" DESTINATION boot) install(FILES "${CMAKE_CURRENT_BINARY_DIR}/kernel.map" DESTINATION res) -if ("${SERENITY_ARCH}" STREQUAL "aarch64") - embed_resource(Kernel serenity_boot_logo "Arch/aarch64/SerenityLogoRGB.ppm") - add_custom_command( - TARGET Kernel POST_BUILD - COMMAND ${CMAKE_OBJCOPY} -O binary Kernel kernel8.img - BYPRODUCTS ${CMAKE_CURRENT_BINARY_DIR}/kernel8.img - ) -endif() - serenity_install_headers(Kernel) serenity_install_sources(Kernel)