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 *)