From 190b78549e0fa1a801786e73d914185e1fbca2a6 Mon Sep 17 00:00:00 2001 From: Derek Hensley Date: Mon, 11 Sep 2023 17:38:31 -0700 Subject: Non libultra Boot Cleanup (#1370) * reorganize * math64 * rcp_utils * osSyncPrintfUnused * comment spacing --- src/boot/O2/system_malloc.c | 51 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 src/boot/O2/system_malloc.c (limited to 'src/boot/O2/system_malloc.c') diff --git a/src/boot/O2/system_malloc.c b/src/boot/O2/system_malloc.c new file mode 100644 index 000000000..cea017b38 --- /dev/null +++ b/src/boot/O2/system_malloc.c @@ -0,0 +1,51 @@ +#include "global.h" +#include "os_malloc.h" + +Arena gSystemArena; + +void* SystemArena_Malloc(size_t size) { + return __osMalloc(&gSystemArena, size); +} + +void* SystemArena_MallocR(size_t size) { + return __osMallocR(&gSystemArena, size); +} + +void* SystemArena_Realloc(void* oldPtr, size_t newSize) { + return __osRealloc(&gSystemArena, oldPtr, newSize); +} + +void SystemArena_Free(void* ptr) { + __osFree(&gSystemArena, ptr); +} + +void* SystemArena_Calloc(u32 elements, size_t size) { + void* ptr; + size_t totalSize = elements * size; + + ptr = __osMalloc(&gSystemArena, totalSize); + if (ptr != NULL) { + bzero(ptr, totalSize); + } + return ptr; +} + +void SystemArena_GetSizes(size_t* maxFreeBlock, size_t* bytesFree, size_t* bytesAllocated) { + __osGetSizes(&gSystemArena, maxFreeBlock, bytesFree, bytesAllocated); +} + +u32 SystemArena_CheckArena(void) { + return __osCheckArena(&gSystemArena); +} + +void SystemArena_Init(void* start, size_t size) { + __osMallocInit(&gSystemArena, start, size); +} + +void SystemArena_Cleanup(void) { + __osMallocCleanup(&gSystemArena); +} + +u8 SystemArena_IsInitialized(void) { + return __osMallocIsInitalized(&gSystemArena); +} -- cgit v1.2.3