X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=AcessNative%2Fld-acess_src%2Fmemory.c;h=2e9612c3205c6299f4c43a66e385e2036eb08a57;hb=8c3572edcb27522e626c2629871857323169998d;hp=627f90245c2f0934951d448477df4d50b0480d78;hpb=a09032f44bba55ce1e60dfab92a39cf6c909220b;p=tpg%2Facess2.git diff --git a/AcessNative/ld-acess_src/memory.c b/AcessNative/ld-acess_src/memory.c index 627f9024..2e9612c3 100644 --- a/AcessNative/ld-acess_src/memory.c +++ b/AcessNative/ld-acess_src/memory.c @@ -27,10 +27,14 @@ int AllocateMemory(uintptr_t VirtAddr, size_t ByteCount) return -1; } #else +// printf("AllocateMemory: mmap(%p, 0x%lx, ...)\n", (void*)base, ByteCount); tmp = mmap((void*)base, size, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0); if( tmp == MAP_FAILED ) { + printf("ERROR: Unable to allocate memory\n"); + perror("AllocateMemory"); return -1; } +// printf("AllocateMemory: RETURN 0\n"); #endif return 0; } @@ -42,14 +46,14 @@ uintptr_t FindFreeRange(size_t ByteCount, int MaxBits) #else uintptr_t base, ofs, size; uintptr_t end = -1; - const int PAGE_SIZE = 0x1000; + static const int PAGE_SIZE = 0x1000; size = (ByteCount + PAGE_SIZE - 1) / PAGE_SIZE; size *= PAGE_SIZE; end <<= (sizeof(intptr_t)*8-MaxBits); end >>= (sizeof(intptr_t)*8-MaxBits); - printf("end = %p\n", (void*)end); +// printf("end = %p\n", (void*)end); // for( base = 0; base < end - size; base -= PAGE_SIZE ) for( base = end - size + 1; base > 0; base -= PAGE_SIZE )