Serenity Operating System
at master 42 lines 1.4 kB view raw
1/* 2 * Copyright (c) 2021, Gunnar Beutner <gbeutner@serenityos.org> 3 * 4 * SPDX-License-Identifier: BSD-2-Clause 5 */ 6 7#pragma once 8 9#include <Kernel/Multiboot.h> 10#include <Kernel/PhysicalAddress.h> 11#include <Kernel/VirtualAddress.h> 12 13namespace Kernel::Memory { 14class PageTableEntry; 15} 16 17extern "C" PhysicalAddress start_of_prekernel_image; 18extern "C" PhysicalAddress end_of_prekernel_image; 19extern "C" size_t physical_to_virtual_offset; 20extern "C" FlatPtr kernel_mapping_base; 21extern "C" FlatPtr kernel_load_base; 22#if ARCH(X86_64) 23extern "C" u32 gdt64ptr; 24extern "C" u16 code64_sel; 25#endif 26extern "C" PhysicalAddress boot_pml4t; 27extern "C" PhysicalAddress boot_pdpt; 28extern "C" PhysicalAddress boot_pd0; 29extern "C" PhysicalAddress boot_pd_kernel; 30extern "C" Kernel::Memory::PageTableEntry* boot_pd_kernel_pt1023; 31extern "C" char const* kernel_cmdline; 32extern "C" u32 multiboot_flags; 33extern "C" multiboot_memory_map_t* multiboot_memory_map; 34extern "C" size_t multiboot_memory_map_count; 35extern "C" multiboot_module_entry_t* multiboot_modules; 36extern "C" size_t multiboot_modules_count; 37extern "C" PhysicalAddress multiboot_framebuffer_addr; 38extern "C" u32 multiboot_framebuffer_pitch; 39extern "C" u32 multiboot_framebuffer_width; 40extern "C" u32 multiboot_framebuffer_height; 41extern "C" u8 multiboot_framebuffer_bpp; 42extern "C" u8 multiboot_framebuffer_type;