diff --git a/core/uaddrspace.c b/core/uaddrspace.c index 744a864..e6b312a 100644 --- a/core/uaddrspace.c +++ b/core/uaddrspace.c @@ -113,7 +113,7 @@ uaddr_t sysBrk(struct uAddrSpace *as, uaddr_t newHeapTop) int uAddrSpaceCheckNAlloc(struct uAddrSpace *as, vaddr_t addr) { - pr_devel("Checking %p inside %p and %p", addr, as->heapStart, as->heapStart +as->heapSize); + pr_devel("Checking %p inside %p and %p\n", addr, as->heapStart, as->heapStart +as->heapSize); if (addr < as->heapStart || addr >= as->heapStart + as->heapSize) { return -1; } diff --git a/userspace/main_user.c b/userspace/main_user.c index 75f91e6..3a7c111 100644 --- a/userspace/main_user.c +++ b/userspace/main_user.c @@ -1,4 +1,5 @@ #include "libc.h" +#include "stdarg.h" int func_yolo() { @@ -25,20 +26,25 @@ int func_suicide() return 0; } -void * initialHeap = 0; -int func_alloc(){ +void *initialHeap = 0; +int func_alloc() +{ - if(initialHeap == 0){ + if (initialHeap == 0) { initialHeap = brk(0); } - void * currentHeap = brk(0); - if (currentHeap - initialHeap < 4096){ - brk(initialHeap + 4096); + printf("Testing allocation\n"); + int allocSize = 4096 * 2; + void *currentHeap = brk(0); + if (currentHeap - initialHeap < allocSize) { + brk(initialHeap + allocSize); } - int * allocatedData = (int *)initialHeap; - for(unsigned int i = 0 ; i < 4096/sizeof(int); i++){ - allocatedData[i] =i; + int *allocatedData = (int *)initialHeap; + for (unsigned int i = 0; i < allocSize / sizeof(int); i++) { + allocatedData[i] = i; } + printf("Success\n"); + return 0; }