Add a simple version of memalign()
This is used when the full malloc() is not available. Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
parent
e9fc058314
commit
b6bfb6ff9a
|
@ -26,6 +26,20 @@ void *malloc_simple(size_t bytes)
|
|||
return ptr;
|
||||
}
|
||||
|
||||
void *memalign_simple(size_t align, size_t bytes)
|
||||
{
|
||||
ulong addr, new_ptr;
|
||||
void *ptr;
|
||||
|
||||
addr = ALIGN(gd->malloc_base + gd->malloc_ptr, bytes);
|
||||
new_ptr = addr + bytes;
|
||||
if (new_ptr > gd->malloc_limit)
|
||||
return NULL;
|
||||
ptr = map_sysmem(addr, bytes);
|
||||
gd->malloc_ptr = ALIGN(new_ptr, sizeof(new_ptr));
|
||||
return ptr;
|
||||
}
|
||||
|
||||
#ifdef CONFIG_SYS_MALLOC_SIMPLE
|
||||
void *calloc(size_t nmemb, size_t elem_size)
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue