aboutsummaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorMatteo Gmür <matteo.gmuer1@ost.ch>2024-11-10 09:44:42 +0000
committerMatteo Gmür <matteo.gmuer1@ost.ch>2024-11-10 09:44:42 +0000
commit381296c48141e53620281f6f9dfd2aa61723caca (patch)
tree65f113a8e88cf4a1cfd164fcce7f23e19f7fc744 /arch
parentedc11135d83ef1f8fcbc1575a290b31ccbdb7e07 (diff)
downloadteachos-381296c48141e53620281f6f9dfd2aa61723caca.tar.xz
teachos-381296c48141e53620281f6f9dfd2aa61723caca.zip
Remove multiboot mapping done in elf section mapping
Diffstat (limited to 'arch')
-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;