Merge branch 'master' into sata-ahci-dev
[lunaix-os.git] / lunaix-os / kernel / mm / kalloc.c
index d5116a2c15b331a1bbb282896a601a9855134176..6b5b878d12a5b188270af05f0fa096de78a3a79e 100644 (file)
@@ -59,17 +59,15 @@ lx_grow_heap(heap_context_t* heap, size_t sz);
     Note: the brk always point to the beginning of epilogue.
 */
 
-// FIXME: This should be per-process but not global!
 static heap_context_t kheap;
 
-#define KHEAP_SIZE_MB 256
-
 int
 kalloc_init()
 {
-    kheap.start = &__kernel_heap_start;
+    kheap.start = KHEAP_START;
     kheap.brk = NULL;
-    kheap.max_addr = (void*)((uintptr_t)kheap.start + (KHEAP_SIZE_MB << 20));
+    kheap.max_addr =
+      (void*)PROC_START; // 在新的布局中,堆结束的地方即为进程表开始的地方
 
     for (size_t i = 0; i < KHEAP_SIZE_MB >> 2; i++) {
         vmm_set_mapping(PD_REFERENCED,