X-Git-Url: https://scm.lunaixsky.com/lunaix-os.git/blobdiff_plain/f1036cb8c8899f38e97e45d345a0c28585d9a000..b0c2a4be2d1f4f93ab01d0858979a12ef0735ec1:/lunaix-os/kernel/k_main.c diff --git a/lunaix-os/kernel/k_main.c b/lunaix-os/kernel/k_main.c index 3f56166..9468db3 100644 --- a/lunaix-os/kernel/k_main.c +++ b/lunaix-os/kernel/k_main.c @@ -1,8 +1,9 @@ #include #include -#include +#include #include #include +#include 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); - dmm_init(); - // 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++) { - 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++) { - 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