diff options
-rw-r--r-- | kernel/kernel/kernel.cc | 19 | ||||
-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 |
4 files changed, 2 insertions, 26 deletions
diff --git a/kernel/kernel/kernel.cc b/kernel/kernel/kernel.cc index 9143bec..a4670a9 100644 --- a/kernel/kernel/kernel.cc +++ b/kernel/kernel/kernel.cc @@ -44,25 +44,6 @@ kernel_main(uint32_t magic, multiboot_info_t *multiboot_info) MemoryMap::load(multiboot_info); PhysicalMM::initialize(); VirtualMM::initialize(); - PageTableAllocator::prepare(); - - // uint32_t *page = (uint32_t *) VirtualMM::alloc_pages(1); - // printk("debug", "page(0x%x)", page); - - int *x = (int *) LibAlloc::kmalloc(14 * MiB); - for (uint32_t i = 0; i < 8192; i++) - x[i] = i; - printk("debug", "x(0x%x) *x(0x%x)", x, x[12]); - - int *y = (int *) LibAlloc::kmalloc(sizeof(int) * 8192); - for (uint32_t i = 0; i < 8192; i++) - y[i] = i; - printk("debug", "x(0x%x) *x(0x%x)", y, y[12]); - - int *z = (int *) LibAlloc::kmalloc(sizeof(int) * 8192); - for (uint32_t i = 0; i < 8192; i++) - z[i] = i; - printk("debug", "x(0x%x) *x(0x%x)", z, z[12]); printk("\nKernel", "Started."); 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 * |