X-Git-Url: https://scm.lunaixsky.com/lunaix-os.git/blobdiff_plain/e8e64a4f1d76aaeac3defa13243505cccd25c078..fb2d2e17e3ffc4bddf944dc67a6d86fe9453bb5a:/lunaix-os/kernel/mm/vmap.c diff --git a/lunaix-os/kernel/mm/vmap.c b/lunaix-os/kernel/mm/vmap.c index 5df524d..2fc1298 100644 --- a/lunaix-os/kernel/mm/vmap.c +++ b/lunaix-os/kernel/mm/vmap.c @@ -27,7 +27,7 @@ vmm_vmap(uintptr_t paddr, size_t size, pt_attr attr) } else { x86_page_table* ptd = (x86_page_table*)(L2_VADDR(l1inx)); size_t i = L2_INDEX(current_addr); - for (; i < 1024 && examed_size < size; i++) { + for (; i < PG_MAX_ENTRIES && examed_size < size; i++) { if (!ptd->entry[i]) { examed_size += PG_SIZE; } else if (examed_size) { @@ -49,7 +49,8 @@ vmm_vmap(uintptr_t paddr, size_t size, pt_attr attr) current_addr = VMAP_START; } } - panick("vmm: out of memory"); + + return NULL; done: uintptr_t alloc_begin = current_addr - examed_size;