6#include "dawn/porting/memory.hxx"
10#include <nuttx/mm/mm.h>
17int memory_pool_init(memory_pool_s *pool,
const char *name,
void *buffer,
size_t size)
19 if (pool ==
nullptr || buffer ==
nullptr || size == 0)
24 if (pool->heap !=
nullptr)
29 pool->heap = mm_initialize(name, buffer, size);
30 return pool->heap ==
nullptr ? -ENOMEM : OK;
33void *memory_pool_zalloc(memory_pool_s *pool,
size_t size)
37 if (pool ==
nullptr || pool->heap ==
nullptr || size == 0)
42 ptr = mm_malloc(
static_cast<mm_heap_s *
>(pool->heap), size);
45 std::memset(ptr, 0, size);
51void memory_pool_free(memory_pool_s *pool,
void *ptr)
53 if (pool ==
nullptr || pool->heap ==
nullptr || ptr ==
nullptr)
58 mm_free(
static_cast<mm_heap_s *
>(pool->heap), ptr);
Out-of-tree user-extension hooks for Dawn.