From ae5dc7df6ff014a9c8052f025fe0b646526dc701 Mon Sep 17 00:00:00 2001 From: josh Date: Mon, 1 Feb 2010 01:47:19 +0000 Subject: [PATCH] in the middle of clearing page tables allocated during mm_map() and mm_early_map() git-svn-id: svn://anubis/hos/trunk@99 5b3e749e-e535-0410-8002-a9bb6afbdfca --- kernel/mm/mm.cc | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/kernel/mm/mm.cc b/kernel/mm/mm.cc index 4ce5846..3827379 100644 --- a/kernel/mm/mm.cc +++ b/kernel/mm/mm.cc @@ -248,6 +248,12 @@ int mm_early_map(u32_t virtual_address, u32_t physical_address, { return 0; } + pagedirectory_entry_t * page_table_virt = (pagedirectory_entry_t *) + (page_table_phys + KERNEL_OFFSET); + for (int i = 0; i < NUM_PAGETABLE_ENTRIES; i++) + { + page_table_virt[i] = 0; + } (*early_page_directory_ptr)[directory_index] = page_table_phys | 0x1 << 2 /* PTs can be user mode */ | 0x1 << 1 /* writable */ @@ -291,6 +297,7 @@ int mm_map(u32_t virtual_address, u32_t physical_address, | 0x1 << 2 /* PTs can be user mode */ | 0x1 << 1 /* writable */ | 0x1; /* present */ + /* FIXME pagedirectory_entry_t * page_table = */ } pagedirectory_entry_t * page_table_entry = (pagedirectory_entry_t *)