From e617c9b82126caa6a37c9eaf123ca106c714ee52 Mon Sep 17 00:00:00 2001 From: Sascha Hauer Date: Fri, 22 May 2015 09:37:52 +0200 Subject: [PATCH] tlsf malloc: enable 64bit support on 64bit architectures On 64bit architectures TLSF_64BIT should be defined. Decide that depending on the CONFIG_64BIT symbol. When 64bit support is enabled all allocations will be aligned to 8 byte boundaries which is necessary for architectures that do not support unaligned accesses or have a performance penalty for unaligned accesses. Also changes the undefined tlsf_decl to 'static'. Signed-off-by: Sascha Hauer --- common/tlsfbits.h | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/common/tlsfbits.h b/common/tlsfbits.h index 93466e46a..edbac8063 100644 --- a/common/tlsfbits.h +++ b/common/tlsfbits.h @@ -3,6 +3,10 @@ #include +#ifdef CONFIG_64BIT +#define TLSF_64BIT +#endif + /* ** Architecture-specific bit manipulation routines. ** @@ -33,7 +37,7 @@ static int tlsf_fls(unsigned int word) /* Possibly 64-bit version of tlsf_fls. */ #if defined (TLSF_64BIT) -tlsf_decl int tlsf_fls_sizet(size_t size) +static int tlsf_fls_sizet(size_t size) { int high = (int)(size >> 32); int bits = 0;