2026-01-28 21:32:16 +11:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
|
|
#include <stddef.h>
|
|
|
|
|
#include <stdint.h>
|
|
|
|
|
#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"
|
2026-01-29 13:06:49 +11:00
|
|
|
#include "userinput/mouse.h"
|
2026-01-29 16:21:40 +11:00
|
|
|
#include "acpi.h"
|
2026-01-28 21:32:16 +11:00
|
|
|
|
|
|
|
|
struct BootInfo {
|
|
|
|
|
Framebuffer* framebuffer;
|
|
|
|
|
PSF1_FONT* psf1_Font;
|
|
|
|
|
EFI_MEMORY_DESCRIPTOR* mMap;
|
|
|
|
|
uint64_t mMapSize;
|
|
|
|
|
uint64_t mMapDescriptorSize;
|
2026-01-29 16:21:40 +11:00
|
|
|
ACPI::RSDP2* rsdp;
|
2026-01-28 21:32:16 +11:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
extern uint64_t _KernelStart;
|
|
|
|
|
extern uint64_t _KernelEnd;
|
|
|
|
|
|
|
|
|
|
struct KernelInfo {
|
|
|
|
|
PageTableManager* pageTableManager;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
KernelInfo InitializeKernel(BootInfo* bootInfo);
|