Kernel: kmalloc has now somewhat dynamic storage

Allocations bigger than PAGE_SIZE and those not forced to be identity
mapped are now done on a GeneralAllocator. This allows us to use kmalloc
for big allocations; bigger than the fixed 1 MiB storage.

This is still a hack and the whole kmalloc will have to be rewritten at
some point, but for now this does the job :D
This commit is contained in:
2023-06-18 23:27:00 +03:00
parent 09c824b90e
commit 9a7b2587af
5 changed files with 69 additions and 10 deletions

View File

@@ -133,6 +133,9 @@ extern "C" void kernel_main()
PageTable::initialize();
dprintln("PageTable initialized");
Heap::initialize();
dprintln("Heap initialzed");
TerminalDriver* terminal_driver = VesaTerminalDriver::create();
ASSERT(terminal_driver);
dprintln("VESA initialized");
@@ -141,9 +144,6 @@ extern "C" void kernel_main()
ASSERT(tty1);
dprintln("TTY initialized");
Heap::initialize();
dprintln("Heap initialzed");
parse_command_line();
dprintln("command line parsed, root='{}'", cmdline.root);