[PATCH] tlsf malloc: enable 64bit support on 64bit architectures

Sascha Hauer s.hauer at pengutronix.de
Fri May 22 00:41:06 PDT 2015


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 <s.hauer at pengutronix.de>
---
 common/tlsfbits.h | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/common/tlsfbits.h b/common/tlsfbits.h
index 93466e4..edbac80 100644
--- a/common/tlsfbits.h
+++ b/common/tlsfbits.h
@@ -3,6 +3,10 @@
 
 #include <linux/bitops.h>
 
+#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;
-- 
2.1.4




More information about the barebox mailing list