summaryrefslogtreecommitdiff
path: root/Kernel/Prekernel/Prekernel.h
diff options
context:
space:
mode:
authorGunnar Beutner <gbeutner@serenityos.org>2021-07-19 18:24:15 +0200
committerAndreas Kling <kling@serenityos.org>2021-07-20 15:12:19 +0200
commitbe795d5812fe901f3444cab58285eb6fc72c8ca4 (patch)
treecaf0b27f00cc307e7148bd1544bffe9ab00f1e80 /Kernel/Prekernel/Prekernel.h
parentdd42093b932161bf4d6f98f1e25093049824d6b2 (diff)
downloadserenity-be795d5812fe901f3444cab58285eb6fc72c8ca4.zip
Prekernel: Use physical addresses for some of the BootInfo parameters
The kernel would just turn those virtual addresses into physical addresses later on, so let's just use physical addresses right from the start.
Diffstat (limited to 'Kernel/Prekernel/Prekernel.h')
-rw-r--r--Kernel/Prekernel/Prekernel.h22
1 files changed, 12 insertions, 10 deletions
diff --git a/Kernel/Prekernel/Prekernel.h b/Kernel/Prekernel/Prekernel.h
index fede32092b..512547f832 100644
--- a/Kernel/Prekernel/Prekernel.h
+++ b/Kernel/Prekernel/Prekernel.h
@@ -8,6 +8,8 @@
#ifdef __cplusplus
# include <Kernel/Multiboot.h>
+# include <Kernel/PhysicalAddress.h>
+# include <Kernel/VirtualAddress.h>
#endif
#define MAX_KERNEL_SIZE 0x3000000
@@ -16,20 +18,20 @@
namespace Kernel {
struct [[gnu::packed]] BootInfo {
- u8 const* start_of_prekernel_image;
- u8 const* end_of_prekernel_image;
- FlatPtr kernel_base;
- multiboot_info* multiboot_info_ptr;
+ u32 start_of_prekernel_image;
+ u32 end_of_prekernel_image;
+ u64 kernel_base;
+ u64 multiboot_info_ptr;
# if ARCH(X86_64)
u32 gdt64ptr;
u16 code64_sel;
- FlatPtr boot_pml4t;
+ u32 boot_pml4t;
# endif
- FlatPtr boot_pdpt;
- FlatPtr boot_pd0;
- FlatPtr boot_pd_kernel;
- FlatPtr boot_pd_kernel_pt1023;
- char const* kernel_cmdline;
+ u32 boot_pdpt;
+ u32 boot_pd0;
+ u32 boot_pd_kernel;
+ u64 boot_pd_kernel_pt1023;
+ u64 kernel_cmdline;
};
}
#endif