#include #include // NOTE(Patrick): The memory here is by default allocated uncommitted. // This means that we don't lock down 1GB of memory up front, but get // allocated pages by the kernel as needed. int linux_allocate_arena_memory( Memory_Arena *arena, size_t arena_size) { void *arena_memory = mmap( NULL, arena_size, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_SHARED|MAP_ANONYMOUS, -1, 0); if(arena_memory == (void*)-1) { //perror("mmap"); return errno; } arena->memory = arena_memory; arena->size = arena_size; return 0; }