2018-01-25 19:11:22 +00:00
|
|
|
#include "type.h"
|
|
|
|
#include "kernel/ke/alloc.h"
|
|
|
|
#include "lib/salloc.h"
|
2017-02-01 03:26:08 +00:00
|
|
|
|
|
|
|
#define K_KERNEL_HEAP_SIZE 8192
|
|
|
|
|
2018-03-24 00:58:24 +00:00
|
|
|
static bool alloc_initialized;
|
|
|
|
static uint8 alloc_heap[K_KERNEL_HEAP_SIZE];
|
2017-02-01 03:26:08 +00:00
|
|
|
|
2018-02-18 07:48:59 +00:00
|
|
|
void SXAPI ke_alloc_init(void)
|
2017-02-01 03:26:08 +00:00
|
|
|
{
|
2018-02-18 04:06:57 +00:00
|
|
|
if (!alloc_initialized)
|
|
|
|
{
|
|
|
|
lb_salloc_init(alloc_heap, K_KERNEL_HEAP_SIZE);
|
2018-03-24 00:58:24 +00:00
|
|
|
alloc_initialized = TRUE;
|
2018-02-18 04:06:57 +00:00
|
|
|
}
|
2017-02-01 03:26:08 +00:00
|
|
|
}
|
|
|
|
|
2018-03-24 00:58:24 +00:00
|
|
|
void *SXAPI ke_alloc(uint32 size)
|
2017-02-01 03:26:08 +00:00
|
|
|
{
|
2018-02-18 04:06:57 +00:00
|
|
|
return alloc_initialized ? lb_salloc(alloc_heap, size) : NULL;
|
2017-02-01 03:26:08 +00:00
|
|
|
}
|
|
|
|
|
2018-02-18 07:48:59 +00:00
|
|
|
void SXAPI ke_free(void *ptr)
|
2017-02-01 03:26:08 +00:00
|
|
|
{
|
2018-02-18 04:06:57 +00:00
|
|
|
if (alloc_initialized)
|
|
|
|
{
|
|
|
|
lb_sfree(alloc_heap, ptr);
|
|
|
|
}
|
2018-03-24 00:58:24 +00:00
|
|
|
}
|