update project structures
[lunaix-os.git] / lunaix-os / kernel / k_main.c
index 3f56166b14f57c659c9920c4156412ac5e0d3237..9468db342abcf8bf3fea778c1eebd17564b7e82e 100644 (file)
@@ -1,8 +1,9 @@
 #include <stdint.h>
 #include <lunaix/mm/vmm.h>
 #include <stdint.h>
 #include <lunaix/mm/vmm.h>
-#include <lunaix/mm/dmm.h>
+#include <lunaix/mm/kalloc.h>
 #include <hal/cpu.h>
 #include <libc/stdio.h>
 #include <hal/cpu.h>
 #include <libc/stdio.h>
+#include <lunaix/spike.h>
 
 extern uint8_t __kernel_start;
 
 
 extern uint8_t __kernel_start;
 
@@ -20,25 +21,38 @@ _kernel_main()
     void* k_start = vmm_v2p(&__kernel_start);
     printf("The kernel's base address mapping: %p->%p\n", &__kernel_start, k_start);
 
     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
     
     // test malloc & free
     
-    uint32_t** arr = (uint32_t**) lx_malloc(10 * sizeof(uint32_t*));
+    uint8_t** arr = (uint8_t**) lxmalloc(10 * sizeof(uint8_t*));
     
     for (size_t i = 0; i < 10; i++)
     {
     
     for (size_t i = 0; i < 10; i++)
     {
-        arr[i] = (uint32_t*) lx_malloc((i + 1) * 2);
+        arr[i] = (uint8_t*) lxmalloc((i + 1) * 2);
     }
 
     }
 
-    void* big_ = lx_malloc(8192);
 
     for (size_t i = 0; i < 10; i++)
     {
 
     for (size_t i = 0; i < 10; i++)
     {
-        lx_free(arr[i]);
+        lxfree(arr[i]);
     }
     }
+
+    uint8_t* big_ = lxmalloc(8192);
+    big_[0] = 123;
+    big_[1] = 23;
+    big_[2] = 3;
+
+    printf("%u, %u, %u", big_[0], big_[1], big_[2]);
     
     
-    lx_free(arr);
-    lx_free(big_);
-    // assert(0);
+    // good free
+    lxfree(arr);
+    lxfree(big_);
+
+    // uint8_t* bad1 = lxmalloc(123);
+    // void* bad2 = lxmalloc(1);
+
+    // *((uint32_t*)(bad1 - 4)) = 0xc2343312UL;
+
+    // // bad free
+    // lxfree(bad1);
+    // lxfree(bad2 - 2);
 }
\ No newline at end of file
 }
\ No newline at end of file