30 lines
621 B
C
30 lines
621 B
C
|
|
#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"
|
||
|
|
|
||
|
|
struct BootInfo {
|
||
|
|
Framebuffer* framebuffer;
|
||
|
|
PSF1_FONT* psf1_Font;
|
||
|
|
EFI_MEMORY_DESCRIPTOR* mMap;
|
||
|
|
uint64_t mMapSize;
|
||
|
|
uint64_t mMapDescriptorSize;
|
||
|
|
};
|
||
|
|
|
||
|
|
extern uint64_t _KernelStart;
|
||
|
|
extern uint64_t _KernelEnd;
|
||
|
|
|
||
|
|
struct KernelInfo {
|
||
|
|
PageTableManager* pageTableManager;
|
||
|
|
};
|
||
|
|
|
||
|
|
KernelInfo InitializeKernel(BootInfo* bootInfo);
|