|
@@ -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)
|
|
|
{
|