diff options
| author | Felix Morgner <felix.morgner@ost.ch> | 2025-07-24 15:37:36 +0000 |
|---|---|---|
| committer | Felix Morgner <felix.morgner@ost.ch> | 2025-07-24 15:37:36 +0000 |
| commit | c6629ba11c17601695b0542d7d1d1bf5dc036d84 (patch) | |
| tree | 7c0c5fc0f334d92629640b79aee2dc6f0dea03dd /arch/x86_64/src/memory.cpp | |
| parent | 4edbe94ce1266c9acc6a695fedf1d2edd4ce11cd (diff) | |
| download | teachos-c6629ba11c17601695b0542d7d1d1bf5dc036d84.tar.xz teachos-c6629ba11c17601695b0542d7d1d1bf5dc036d84.zip | |
build: clean up configuration
Diffstat (limited to 'arch/x86_64/src/memory.cpp')
| -rw-r--r-- | arch/x86_64/src/memory.cpp | 66 |
1 files changed, 0 insertions, 66 deletions
diff --git a/arch/x86_64/src/memory.cpp b/arch/x86_64/src/memory.cpp deleted file mode 100644 index d1c1f03..0000000 --- a/arch/x86_64/src/memory.cpp +++ /dev/null @@ -1,66 +0,0 @@ -#include "kapi/memory.hpp" - -#include "kapi/system.hpp" - -#include "x86_64/boot/boot.hpp" -#include "x86_64/boot/ld.hpp" -#include "x86_64/memory/address.hpp" -#include "x86_64/memory/region_allocator.hpp" - -#include <multiboot2/information.hpp> - -#include <atomic> - -namespace teachos::memory -{ - using namespace x86_64::memory; - using namespace x86_64::boot; - - namespace - { - auto constinit is_initialized = std::atomic_flag{}; - - auto create_memory_information() -> region_allocator::memory_information - { - auto const & mbi = multiboot_information_pointer.get(); - auto map = mbi->memory_map(); - - return {std::make_pair(physical_address{&_start_physical}, physical_address{&_end_physical}), - std::make_pair(physical_address{std::bit_cast<std::byte *>(&mbi)}, - physical_address{std::bit_cast<std::byte *>(&mbi) + mbi->size_bytes()}), - map}; - }; - } // namespace - - auto init() -> void - { - if (is_initialized.test_and_set()) - { - system::panic("[x86_64] Memory management has already been initialized."); - } - - auto memory_map = multiboot_information_pointer->maybe_memory_map(); - if (!memory_map) - { - system::panic("[x86_64] No memory map available."); - } - - auto mem_info = create_memory_information(); - auto allocator = region_allocator{mem_info}; - - static_cast<void>(allocator); - - // kernel::cpu::set_cr0_bit(kernel::cpu::cr0_flags::WRITE_PROTECT); - // kernel::cpu::set_efer_bit(kernel::cpu::efer_flags::NXE); - - // paging::kernel_mapper kernel(allocator, memory_information); - // kernel.remap_kernel(); - // video::vga::text::write("Kernel remapping successful", video::vga::text::common_attributes::green_on_black); - // video::vga::text::newline(); - - // remap_heap(heap::KERNEL_HEAP_START, heap::KERNEL_HEAP_SIZE); - // video::vga::text::write("Heap remapping successful", video::vga::text::common_attributes::green_on_black); - // video::vga::text::newline(); - } - -} // namespace teachos::memory |
