dynamic memory manager (malloc & free)
[lunaix-os.git] / lunaix-os / kernel / k_main.c
index b1fe4886184c7aa98c1b442cb924fc7751754920..3899336d00950bd5d150611c18ecc2c0726f11ff 100644 (file)
@@ -1,5 +1,6 @@
 #include <stdint.h>
 #include <lunaix/mm/vmm.h>
+#include <lunaix/mm/dmm.h>
 #include <hal/cpu.h>
 #include <libc/stdio.h>
 
@@ -19,5 +20,22 @@ _kernel_main()
     void* k_start = vmm_v2p(&__kernel_start);
     printf("The kernel's base address mapping: %p->%p\n", &__kernel_start, k_start);
 
+    dmm_init();
+
+    // test malloc & free
+    
+    uint32_t** arr = (uint32_t**) lx_malloc(10 * sizeof(uint32_t*));
+    
+    for (size_t i = 0; i < 10; i++)
+    {
+        arr[i] = (uint32_t*) lx_malloc((i + 1) * 2);
+    }
+
+    for (size_t i = 0; i < 10; i++)
+    {
+        lx_free(arr[i]);
+    }
+    
+    lx_free(arr);
     // assert(0);
 }
\ No newline at end of file