Justin C. Miller
8cb0803605
Make page_manager::unmap_pages() handle multiple blocks
2018-04-22 13:37:44 -07:00
Justin C. Miller
95d52b87f4
Initialize page_manager.
...
Page manager now:
- Caches mapped pages and page_block structs
- Can unmap memory ranges
- Unmaps extra kernel memory during it's init
2018-04-22 02:48:45 -07:00
Justin C. Miller
07fd3abe2c
Move page size and higher half offset to constants
2018-04-21 20:58:58 -07:00
Justin C. Miller
5dedd2e0e0
Finish memory bootstrap sequence.
...
Now we're setting up all our own page tables, and handing off to
page_manager's init function. (Which is still NYI.)
2018-04-21 19:32:39 -07:00
Justin C. Miller
57abb03deb
Rearrange memory manager into two classes.
...
page_manager and memory_manager are now separate, and are also pre
allocated in the kernel so they don't have to allocate themselves.
2018-04-21 17:34:33 -07:00
Justin C. Miller
4a38a74b16
Refactor memory code.
...
Break out some more bootstrap code into functions. Add the start of
some Doxygen doc comments to help organize my thoughts.
2018-04-21 16:49:39 -07:00
Justin C. Miller
da404f520d
Rearrange memory bootstrapping code.
...
Move EFI-related code and initial memory manager bootstrap code
to memory_bootstrap.cpp, move memory page structs to their own
memory_page.h/cpp files.
2018-04-21 02:52:52 -07:00
Justin C. Miller
e8866abc7a
Bootstrap in-kernel memory management
2018-04-20 02:15:56 -07:00
Justin C. Miller
3b560c063a
Move kernel to higher half.
...
Return to having the bootloader re-map the kernel into the higher
half before jumping into the kernel entrypoint, so we don't have
to juggle pointers inside the kernel.
2018-04-19 01:37:34 -07:00
Justin C. Miller
a27b8d6a3a
Add/move code into kutil library
2018-04-17 23:41:28 -07:00
Justin C. Miller
2050b89334
Move src/modules/main -> src/kernel
2018-04-17 09:45:05 -07:00