2021-07-19 18:54:51 +03:00
|
|
|
/*
|
|
|
|
* Copyright (c) 2021, Gunnar Beutner <gbeutner@serenityos.org>
|
|
|
|
*
|
|
|
|
* SPDX-License-Identifier: BSD-2-Clause
|
|
|
|
*/
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
2023-04-24 21:14:44 +03:00
|
|
|
#include <AK/StringView.h>
|
2021-07-26 16:09:36 +03:00
|
|
|
#include <Kernel/Multiboot.h>
|
2021-07-19 19:24:15 +03:00
|
|
|
#include <Kernel/PhysicalAddress.h>
|
2021-07-19 18:54:51 +03:00
|
|
|
#include <Kernel/VirtualAddress.h>
|
|
|
|
|
2023-01-20 00:36:48 +03:00
|
|
|
namespace Kernel::Memory {
|
2021-12-01 20:14:03 +03:00
|
|
|
class PageTableEntry;
|
|
|
|
}
|
|
|
|
|
2021-07-19 19:24:15 +03:00
|
|
|
extern "C" PhysicalAddress start_of_prekernel_image;
|
|
|
|
extern "C" PhysicalAddress end_of_prekernel_image;
|
2021-07-22 14:05:04 +03:00
|
|
|
extern "C" size_t physical_to_virtual_offset;
|
2021-07-26 16:10:51 +03:00
|
|
|
extern "C" FlatPtr kernel_mapping_base;
|
|
|
|
extern "C" FlatPtr kernel_load_base;
|
2021-07-19 18:54:51 +03:00
|
|
|
#if ARCH(X86_64)
|
|
|
|
extern "C" u32 gdt64ptr;
|
|
|
|
extern "C" u16 code64_sel;
|
|
|
|
#endif
|
2023-01-20 00:36:48 +03:00
|
|
|
extern "C" PhysicalAddress boot_pml4t;
|
2021-07-19 19:24:15 +03:00
|
|
|
extern "C" PhysicalAddress boot_pdpt;
|
|
|
|
extern "C" PhysicalAddress boot_pd0;
|
|
|
|
extern "C" PhysicalAddress boot_pd_kernel;
|
2023-01-20 00:36:48 +03:00
|
|
|
extern "C" Kernel::Memory::PageTableEntry* boot_pd_kernel_pt1023;
|
2023-04-24 21:14:44 +03:00
|
|
|
extern "C" StringView kernel_cmdline;
|
2021-07-26 16:09:36 +03:00
|
|
|
extern "C" u32 multiboot_flags;
|
|
|
|
extern "C" multiboot_memory_map_t* multiboot_memory_map;
|
|
|
|
extern "C" size_t multiboot_memory_map_count;
|
|
|
|
extern "C" multiboot_module_entry_t* multiboot_modules;
|
|
|
|
extern "C" size_t multiboot_modules_count;
|
|
|
|
extern "C" PhysicalAddress multiboot_framebuffer_addr;
|
|
|
|
extern "C" u32 multiboot_framebuffer_pitch;
|
|
|
|
extern "C" u32 multiboot_framebuffer_width;
|
|
|
|
extern "C" u32 multiboot_framebuffer_height;
|
|
|
|
extern "C" u8 multiboot_framebuffer_bpp;
|
|
|
|
extern "C" u8 multiboot_framebuffer_type;
|