mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2024-11-24 00:20:21 +00:00
57417a3d6e
This enables further work on implementing KASLR by adding relocation support to the pre-kernel and updating the kernel to be less dependent on specific virtual memory layouts.
49 lines
1.1 KiB
C++
49 lines
1.1 KiB
C++
/*
|
|
* Copyright (c) 2021, Gunnar Beutner <gbeutner@serenityos.org>
|
|
*
|
|
* SPDX-License-Identifier: BSD-2-Clause
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#ifdef __cplusplus
|
|
# include <Kernel/Multiboot.h>
|
|
# include <Kernel/PhysicalAddress.h>
|
|
# include <Kernel/VirtualAddress.h>
|
|
#endif
|
|
|
|
#define MAX_KERNEL_SIZE 0x4000000
|
|
|
|
#ifdef __cplusplus
|
|
namespace Kernel {
|
|
|
|
struct [[gnu::packed]] BootInfo {
|
|
u32 start_of_prekernel_image;
|
|
u32 end_of_prekernel_image;
|
|
u64 physical_to_virtual_offset;
|
|
u64 kernel_mapping_base;
|
|
u64 kernel_load_base;
|
|
# if ARCH(X86_64)
|
|
u32 gdt64ptr;
|
|
u16 code64_sel;
|
|
u32 boot_pml4t;
|
|
# endif
|
|
u32 boot_pdpt;
|
|
u32 boot_pd0;
|
|
u32 boot_pd_kernel;
|
|
u64 boot_pd_kernel_pt1023;
|
|
u64 kernel_cmdline;
|
|
u32 multiboot_flags;
|
|
u64 multiboot_memory_map;
|
|
u32 multiboot_memory_map_count;
|
|
u64 multiboot_modules;
|
|
u32 multiboot_modules_count;
|
|
u64 multiboot_framebuffer_addr;
|
|
u32 multiboot_framebuffer_pitch;
|
|
u32 multiboot_framebuffer_width;
|
|
u32 multiboot_framebuffer_height;
|
|
u8 multiboot_framebuffer_bpp;
|
|
u8 multiboot_framebuffer_type;
|
|
};
|
|
}
|
|
#endif
|