diff options
Diffstat (limited to 'kernel/mm')
-rw-r--r-- | kernel/mm/virtual_mm/page_table_allocator.cc | 5 | ||||
-rw-r--r-- | kernel/mm/virtual_mm/pages.cc | 2 | ||||
-rw-r--r-- | kernel/mm/virtual_mm/virtual_mm.cc | 2 |
3 files changed, 2 insertions, 7 deletions
diff --git a/kernel/mm/virtual_mm/page_table_allocator.cc b/kernel/mm/virtual_mm/page_table_allocator.cc index 3ec4896..6a2a07e 100644 --- a/kernel/mm/virtual_mm/page_table_allocator.cc +++ b/kernel/mm/virtual_mm/page_table_allocator.cc @@ -56,11 +56,6 @@ prepare(void) /* Initial table */ if (l_heap == NULL) make_table((uint32_t *) (7 * MiB)); - - /* If we're gonna run out of space, allocate a new table with the remaining - * page */ - if (l_table_index == 1023) - make_table(allocate()); } uint32_t * diff --git a/kernel/mm/virtual_mm/pages.cc b/kernel/mm/virtual_mm/pages.cc index 7778418..3eb403c 100644 --- a/kernel/mm/virtual_mm/pages.cc +++ b/kernel/mm/virtual_mm/pages.cc @@ -30,8 +30,6 @@ namespace VirtualMM void * alloc_pages(uint32_t n_pages) { - PageTableAllocator::prepare(); - uint32_t starting_address = (uint32_t) find_free_addresses(n_pages); if (!starting_address) return NULL; diff --git a/kernel/mm/virtual_mm/virtual_mm.cc b/kernel/mm/virtual_mm/virtual_mm.cc index fc6bec6..2055481 100644 --- a/kernel/mm/virtual_mm/virtual_mm.cc +++ b/kernel/mm/virtual_mm/virtual_mm.cc @@ -105,6 +105,8 @@ initialize(void) switch_page_directory(l_page_directory); enable_paging(); + + PageTableAllocator::prepare(); } uint32_t * |