1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 06:37:43 +00:00

Kernel/aarch64: Embed disk image into kernel binary

This allows us to actually boot to userspace in the next commit! :^)
This commit is contained in:
Timon Kruiper 2023-01-30 14:07:37 +01:00 committed by Linus Groh
parent da89cd948f
commit 3b65fd64fc
4 changed files with 18 additions and 3 deletions

View file

@ -43,6 +43,12 @@ uintptr_t __stack_chk_guard;
READONLY_AFTER_INIT bool g_in_early_boot;
extern "C" const u32 disk_image_start;
extern "C" const u32 disk_image_size;
multiboot_module_entry_t multiboot_copy_boot_modules_array[16];
size_t multiboot_copy_boot_modules_count;
namespace Kernel {
static void draw_logo(u8* framebuffer_data);
@ -111,6 +117,12 @@ extern "C" [[noreturn]] void init()
multiboot_memory_map = mmap;
multiboot_memory_map_count = 1;
multiboot_flags = 0x4;
multiboot_copy_boot_modules_count = 1;
auto disk_image_start_physical_addr = ((FlatPtr)&disk_image_start - kernel_load_base);
multiboot_copy_boot_modules_array[0].start = disk_image_start_physical_addr;
multiboot_copy_boot_modules_array[0].end = disk_image_start_physical_addr + disk_image_size;
dbgln("Welcome to Serenity OS!");
dbgln("Imagine this being your ideal operating system.");
dbgln("Observed deviations from that ideal are shortcomings of your imagination.");