From mboxrd@z Thu Jan 1 00:00:00 1970 From: Simon Glass Date: Tue, 12 May 2015 14:55:06 -0600 Subject: [U-Boot] [PATCH v2 05/18] Add a simple version of memalign() In-Reply-To: <1431464119-21574-1-git-send-email-sjg@chromium.org> References: <1431464119-21574-1-git-send-email-sjg@chromium.org> Message-ID: <1431464119-21574-6-git-send-email-sjg@chromium.org> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de This is used when the full malloc() is not available. Signed-off-by: Simon Glass --- Changes in v2: - Add a new patch for memalign_simple() common/malloc_simple.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/common/malloc_simple.c b/common/malloc_simple.c index d445199..9811ab6 100644 --- a/common/malloc_simple.c +++ b/common/malloc_simple.c @@ -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) { -- 2.2.0.rc0.207.ga3a616c