2 #include <lunaix/mm/vmm.h>
3 #include <lunaix/mm/kalloc.h>
5 #include <libc/stdio.h>
6 #include <lunaix/spike.h>
8 extern uint8_t __kernel_start;
15 printf("Hello higher half kernel world!\nWe are now running in virtual "
16 "address space!\n\n");
19 printf("CPU: %s\n\n", buf);
21 void* k_start = vmm_v2p(&__kernel_start);
22 printf("The kernel's base address mapping: %p->%p\n", &__kernel_start, k_start);
26 uint8_t** arr = (uint8_t**) lxmalloc(10 * sizeof(uint8_t*));
28 for (size_t i = 0; i < 10; i++)
30 arr[i] = (uint8_t*) lxmalloc((i + 1) * 2);
34 for (size_t i = 0; i < 10; i++)
39 uint8_t* big_ = lxmalloc(8192);
44 printf("%u, %u, %u", big_[0], big_[1], big_[2]);
50 // uint8_t* bad1 = lxmalloc(123);
51 // void* bad2 = lxmalloc(1);
53 // *((uint32_t*)(bad1 - 4)) = 0xc2343312UL;