From 0a7f7fc909c2bc0120002693a6b2052704a375fd Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Wed, 18 Aug 2021 20:11:27 -0400 Subject: NNS_FND_allocator --- arm9/lib/libnns/src/NNS_FND_allocator.c | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 arm9/lib/libnns/src/NNS_FND_allocator.c (limited to 'arm9/lib/libnns/src/NNS_FND_allocator.c') diff --git a/arm9/lib/libnns/src/NNS_FND_allocator.c b/arm9/lib/libnns/src/NNS_FND_allocator.c new file mode 100644 index 00000000..31d0eb70 --- /dev/null +++ b/arm9/lib/libnns/src/NNS_FND_allocator.c @@ -0,0 +1,32 @@ +#include "nitro.h" +#include "NNS_FND_allocator.h" +#include "NNS_FND_expheap.h" + +void *AllocatorAllocForExpHeap(NNSFndAllocator * pAllocator, u32 size) +{ + return NNS_FndAllocFromExpHeapEx(pAllocator->pHeap, size, pAllocator->heapParam1); +} + +void AllocatorFreeForExpHeap(NNSFndAllocator * pAllocator, void *memBlock) +{ + NNS_FndFreeToExpHeap(pAllocator->pHeap, memBlock); +} + +void *NNS_FndAllocFromAllocator(NNSFndAllocator * pAllocator, u32 size) +{ + return pAllocator->pFunc->pfAlloc(pAllocator, size); +} + +void NNS_FndFreeToAllocator(NNSFndAllocator * pAllocator, void *memBlock) +{ + pAllocator->pFunc->pfFree(pAllocator, memBlock); +} + +void NNS_FndInitAllocatorForExpHeap(NNSFndAllocator * pAllocator, NNSFndHeapHandle pHeap, int alignment) +{ + static const NNSFndAllocatorFunc pFunc = {AllocatorAllocForExpHeap, AllocatorFreeForExpHeap}; + pAllocator->pFunc = &pFunc; + pAllocator->pHeap = pHeap; + pAllocator->heapParam1 = alignment; + pAllocator->heapParam2 = 0; +} -- cgit v1.2.3 From c17dcd24d24b9309ce2c1da1c709816afbea975b Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sat, 28 Aug 2021 15:09:57 -0400 Subject: ARM_FUNC --- arm9/lib/libnns/src/NNS_FND_allocator.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'arm9/lib/libnns/src/NNS_FND_allocator.c') diff --git a/arm9/lib/libnns/src/NNS_FND_allocator.c b/arm9/lib/libnns/src/NNS_FND_allocator.c index 31d0eb70..c459c3d0 100644 --- a/arm9/lib/libnns/src/NNS_FND_allocator.c +++ b/arm9/lib/libnns/src/NNS_FND_allocator.c @@ -2,27 +2,27 @@ #include "NNS_FND_allocator.h" #include "NNS_FND_expheap.h" -void *AllocatorAllocForExpHeap(NNSFndAllocator * pAllocator, u32 size) +ARM_FUNC void *AllocatorAllocForExpHeap(NNSFndAllocator * pAllocator, u32 size) { return NNS_FndAllocFromExpHeapEx(pAllocator->pHeap, size, pAllocator->heapParam1); } -void AllocatorFreeForExpHeap(NNSFndAllocator * pAllocator, void *memBlock) +ARM_FUNC void AllocatorFreeForExpHeap(NNSFndAllocator * pAllocator, void *memBlock) { NNS_FndFreeToExpHeap(pAllocator->pHeap, memBlock); } -void *NNS_FndAllocFromAllocator(NNSFndAllocator * pAllocator, u32 size) +ARM_FUNC void *NNS_FndAllocFromAllocator(NNSFndAllocator * pAllocator, u32 size) { return pAllocator->pFunc->pfAlloc(pAllocator, size); } -void NNS_FndFreeToAllocator(NNSFndAllocator * pAllocator, void *memBlock) +ARM_FUNC void NNS_FndFreeToAllocator(NNSFndAllocator * pAllocator, void *memBlock) { pAllocator->pFunc->pfFree(pAllocator, memBlock); } -void NNS_FndInitAllocatorForExpHeap(NNSFndAllocator * pAllocator, NNSFndHeapHandle pHeap, int alignment) +ARM_FUNC void NNS_FndInitAllocatorForExpHeap(NNSFndAllocator * pAllocator, NNSFndHeapHandle pHeap, int alignment) { static const NNSFndAllocatorFunc pFunc = {AllocatorAllocForExpHeap, AllocatorFreeForExpHeap}; pAllocator->pFunc = &pFunc; -- cgit v1.2.3