mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 21:37:35 +00:00
Kernel: Add KERNEL_MAPPING_BASE to Sections.h and use it in Prekernel
This commit is contained in:
parent
95992a255e
commit
33581d5c44
3 changed files with 7 additions and 1 deletions
|
@ -15,6 +15,10 @@
|
||||||
#define MAX_KERNEL_SIZE 0x4000000
|
#define MAX_KERNEL_SIZE 0x4000000
|
||||||
#define KERNEL_PD_SIZE 0x31000000
|
#define KERNEL_PD_SIZE 0x31000000
|
||||||
|
|
||||||
|
// FIXME: This should be using the define from Sections.h, but that currently is not possible
|
||||||
|
// and causes linker errors, because Sections.h includes BootInfo.h.
|
||||||
|
#define KERNEL_MAPPING_BASE 0x2000000000
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
namespace Kernel {
|
namespace Kernel {
|
||||||
|
|
||||||
|
|
|
@ -90,7 +90,7 @@ extern "C" [[noreturn]] void init()
|
||||||
__builtin_memcpy(kernel_program_headers, kernel_image + kernel_elf_header.e_phoff, sizeof(ElfW(Phdr)) * kernel_elf_header.e_phnum);
|
__builtin_memcpy(kernel_program_headers, kernel_image + kernel_elf_header.e_phoff, sizeof(ElfW(Phdr)) * kernel_elf_header.e_phnum);
|
||||||
|
|
||||||
FlatPtr kernel_physical_base = 0x200000;
|
FlatPtr kernel_physical_base = 0x200000;
|
||||||
FlatPtr default_kernel_load_base = 0x2000200000;
|
FlatPtr default_kernel_load_base = KERNEL_MAPPING_BASE + 0x200000;
|
||||||
|
|
||||||
FlatPtr kernel_load_base = default_kernel_load_base;
|
FlatPtr kernel_load_base = default_kernel_load_base;
|
||||||
|
|
||||||
|
|
|
@ -15,6 +15,8 @@
|
||||||
#define READONLY_AFTER_INIT __attribute__((section(".ro_after_init")))
|
#define READONLY_AFTER_INIT __attribute__((section(".ro_after_init")))
|
||||||
#define UNMAP_AFTER_INIT NEVER_INLINE __attribute__((section(".unmap_after_init")))
|
#define UNMAP_AFTER_INIT NEVER_INLINE __attribute__((section(".unmap_after_init")))
|
||||||
|
|
||||||
|
#define KERNEL_MAPPING_BASE 0x2000000000
|
||||||
|
|
||||||
#define KERNEL_PD_END (kernel_mapping_base + KERNEL_PD_SIZE)
|
#define KERNEL_PD_END (kernel_mapping_base + KERNEL_PD_SIZE)
|
||||||
#define KERNEL_PT1024_BASE (kernel_mapping_base + 0x3FE00000)
|
#define KERNEL_PT1024_BASE (kernel_mapping_base + 0x3FE00000)
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue