diff options
| author | Fabian Imhof <fabian.imhof@ost.ch> | 2024-11-10 10:59:27 +0000 |
|---|---|---|
| committer | Fabian Imhof <fabian.imhof@ost.ch> | 2024-11-10 10:59:27 +0000 |
| commit | 0a72135f4a43727b6ee8c9b6e3bbd24b395da638 (patch) | |
| tree | dd69f55f48f0b81ed73afd1bd2a7705b559b8143 /arch | |
| parent | 1275612382c5c9d31ed7b24a2c6d699c14a10081 (diff) | |
| parent | 381296c48141e53620281f6f9dfd2aa61723caca (diff) | |
| download | teachos-0a72135f4a43727b6ee8c9b6e3bbd24b395da638.tar.xz teachos-0a72135f4a43727b6ee8c9b6e3bbd24b395da638.zip | |
Merge branch 'feat_memory_manager' of ssh://gitlab.ost.ch:45022/teachos/kernel into feat_memory_manager
Diffstat (limited to 'arch')
| -rw-r--r-- | arch/x86_64/include/arch/memory/paging/active_page_table.hpp | 4 | ||||
| -rw-r--r-- | arch/x86_64/include/arch/memory/paging/kernel_mapper.hpp | 12 |
2 files changed, 2 insertions, 14 deletions
diff --git a/arch/x86_64/include/arch/memory/paging/active_page_table.hpp b/arch/x86_64/include/arch/memory/paging/active_page_table.hpp index 567a806..c7d835a 100644 --- a/arch/x86_64/include/arch/memory/paging/active_page_table.hpp +++ b/arch/x86_64/include/arch/memory/paging/active_page_table.hpp @@ -166,8 +166,8 @@ namespace teachos::arch::memory::paging } // TODO: Flushing only specifc page does not work and cause temporary_page.map_table_frame to return an invalid // page table (Memory inside buffer shows nothing) - // cpu::tlb_flush(page.start_address()); - cpu::tlb_flush_all(); + cpu::tlb_flush(page.start_address()); + // cpu::tlb_flush_all(); } private: diff --git a/arch/x86_64/include/arch/memory/paging/kernel_mapper.hpp b/arch/x86_64/include/arch/memory/paging/kernel_mapper.hpp index d1b9325..5e51c64 100644 --- a/arch/x86_64/include/arch/memory/paging/kernel_mapper.hpp +++ b/arch/x86_64/include/arch/memory/paging/kernel_mapper.hpp @@ -142,18 +142,6 @@ namespace teachos::arch::memory::paging auto const vga_buffer_frame = allocator::physical_frame::containing_address(video::vga::text::DEFAULT_VGA_TEXT_BUFFER_ADDRESS); active_table.identity_map(allocator, vga_buffer_frame, entry::WRITABLE); - - auto const multiboot_start_frame = allocator::physical_frame::containing_address(mem_info.multiboot_start); - auto const multiboot_end_frame = ++allocator::physical_frame::containing_address(mem_info.multiboot_end - 1); - - allocator::frame_container::iterator const multiboot_begin{multiboot_start_frame}; - allocator::frame_container::iterator const multiboot_end{multiboot_end_frame}; - allocator::frame_container const multiboot_frames{multiboot_begin, multiboot_end}; - - for (auto const & frame : multiboot_frames) - { - active_table.identity_map(allocator, frame, entry::PRESENT); - } } T & allocator; |
