X-Git-Url: https://scm.lunaixsky.com/lunaix-os.git/blobdiff_plain/844a2c39e4bb2cc778dba7bd3aea21cb07483fad..05b7549a0f980efa33265a091a5174a78851ce05:/lunaix-os/kernel/k_main.c diff --git a/lunaix-os/kernel/k_main.c b/lunaix-os/kernel/k_main.c index b1fe488..8104408 100644 --- a/lunaix-os/kernel/k_main.c +++ b/lunaix-os/kernel/k_main.c @@ -1,23 +1,51 @@ -#include -#include #include -#include +#include +#include +#include +#include +#include +#include extern uint8_t __kernel_start; +LOG_MODULE("LX") + void _kernel_main() { char buf[64]; - - printf("Hello higher half kernel world!\nWe are now running in virtual " + + kprintf(KINFO "Hello higher half kernel world!\nWe are now running in virtual " "address space!\n\n"); - + cpu_get_brand(buf); - printf("CPU: %s\n\n", buf); + kprintf("CPU: %s\n\n", buf); void* k_start = vmm_v2p(&__kernel_start); - printf("The kernel's base address mapping: %p->%p\n", &__kernel_start, k_start); + kprintf(KINFO "The kernel's base address mapping: %p->%p\n", &__kernel_start, k_start); + + // test malloc & free + + uint8_t** arr = (uint8_t**)lxmalloc(10 * sizeof(uint8_t*)); + + for (size_t i = 0; i < 10; i++) { + arr[i] = (uint8_t*)lxmalloc((i + 1) * 2); + } + + for (size_t i = 0; i < 10; i++) { + lxfree(arr[i]); + } + + uint8_t* big_ = lxmalloc(8192); + big_[0] = 123; + big_[1] = 23; + big_[2] = 3; + + kprintf(KINFO "%u, %u, %u\n", big_[0], big_[1], big_[2]); + + // good free + lxfree(arr); + lxfree(big_); - // assert(0); + spin(); } \ No newline at end of file