diff options
| author | Felix Morgner <felix.morgner@ost.ch> | 2025-11-18 18:14:30 +0100 |
|---|---|---|
| committer | Felix Morgner <felix.morgner@ost.ch> | 2025-11-18 18:14:30 +0100 |
| commit | 49dcbdaaca348784d7fa05e12a06123f4dc252ec (patch) | |
| tree | e49d3892b7f3e0c8ed62dcadb9e0ec1bd12caf40 /arch/x86_64/include | |
| parent | 31c5f011b2c7b4cc65d4017d92c2fe0bdf7f4ba6 (diff) | |
| download | teachos-49dcbdaaca348784d7fa05e12a06123f4dc252ec.tar.xz teachos-49dcbdaaca348784d7fa05e12a06123f4dc252ec.zip | |
x86_64/memory: perform slight cleanup
Diffstat (limited to 'arch/x86_64/include')
| -rw-r--r-- | arch/x86_64/include/x86_64/memory/region_allocator.hpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/arch/x86_64/include/x86_64/memory/region_allocator.hpp b/arch/x86_64/include/x86_64/memory/region_allocator.hpp index 4a18a0f..3ddc8b6 100644 --- a/arch/x86_64/include/x86_64/memory/region_allocator.hpp +++ b/arch/x86_64/include/x86_64/memory/region_allocator.hpp @@ -20,8 +20,20 @@ namespace teachos::memory::x86_64 { struct memory_information { + //! The memory range occupied by the loaded kernel image. This includes all sections that are marked as occupying + //! space in the kernel executable. The internal structure of this area is more described in a more fine-grained + //! manner by the ELF symbol information provided in the Multiboot2 information by the loader. std::pair<physical_address, physical_address> image_range; + + //! The memory range occupied by the loader supplied Multiboot2 information structure. In general, this + //! information is allocated somewhere in the range of the loaded image, but the loader protocol does not + //! guarantee this. It is thus imperative to be able to handle the cases where the loader chooses to allocate the + //! information structure outside of the image range. std::pair<physical_address, physical_address> mbi_range; + + //! The loader supplied map of memory regions. These include available, unavailable, and reclaimable regions. In + //! general, only frames that are located in non-reserved (as in available) regions should be allocated for page + //! storage. multiboot2::memory_map memory_map; }; |
