feat: a pseudo shell environment for basic interacting and testing purpose
[lunaix-os.git] / lunaix-os / kernel / mm / vmap.c
index 5df524d532986fd2111521d0a6c6c378ed1f010c..2fc129841513dfcf3dbe0431e4068bc3c27bdfbc 100644 (file)
@@ -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;