feat: implement core initialization and local APIC setup
This commit is contained in:
parent
ada1859910
commit
beb7fb38ae
19 changed files with 747 additions and 41 deletions
|
|
@ -12,10 +12,17 @@ struct PhysicalAllocator {
|
|||
size_t page_count;
|
||||
};
|
||||
|
||||
enum class address_range_t : uint8_t {
|
||||
any,
|
||||
below_4gib,
|
||||
};
|
||||
|
||||
static void init(const multiboot::tag_mmap* multiboot_info);
|
||||
static PhysicalAllocator& getInstance();
|
||||
|
||||
optional<allocation_t> allocPages(size_t page_count, size_t alignment_pages = 1);
|
||||
optional<allocation_t> allocPages(
|
||||
size_t page_count, size_t alignment_pages = 1, address_range_t range = address_range_t::any
|
||||
);
|
||||
void free(allocation_t ptr);
|
||||
bool force(allocation_t ptr, bool free);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue