#pragma once #include #include #include "BasicRenderer.h" #include "cstr.h" #include "efiMemory.h" #include "memory.h" #include "Bitmap.h" #include "paging/PageFrameAllocator.h" #include "paging/PageMapIndexer.h" #include "paging/paging.h" #include "paging/PageTableManager.h" #include "userinput/mouse.h" #include "acpi.h" struct BootInfo { Framebuffer* framebuffer; PSF1_FONT* psf1_Font; EFI_MEMORY_DESCRIPTOR* mMap; uint64_t mMapSize; uint64_t mMapDescriptorSize; ACPI::RSDP2* rsdp; }; extern uint64_t _KernelStart; extern uint64_t _KernelEnd; struct KernelInfo { PageTableManager* pageTableManager; }; KernelInfo InitializeKernel(BootInfo* bootInfo);