aboutsummaryrefslogtreecommitdiff
path: root/arch/x86_64/include
diff options
context:
space:
mode:
authorFabian Imhof <fabian.imhof@ost.ch>2024-11-10 10:59:27 +0000
committerFabian Imhof <fabian.imhof@ost.ch>2024-11-10 10:59:27 +0000
commit0a72135f4a43727b6ee8c9b6e3bbd24b395da638 (patch)
treedd69f55f48f0b81ed73afd1bd2a7705b559b8143 /arch/x86_64/include
parent1275612382c5c9d31ed7b24a2c6d699c14a10081 (diff)
parent381296c48141e53620281f6f9dfd2aa61723caca (diff)
downloadteachos-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/x86_64/include')
-rw-r--r--arch/x86_64/include/arch/memory/paging/active_page_table.hpp4
-rw-r--r--arch/x86_64/include/arch/memory/paging/kernel_mapper.hpp12
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;