summaryrefslogtreecommitdiffstats
path: root/common
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2015-05-22 09:37:52 +0200
committerSascha Hauer <s.hauer@pengutronix.de>2015-05-22 09:40:31 +0200
commite617c9b82126caa6a37c9eaf123ca106c714ee52 (patch)
treee220e1c89ec6bf8e3bb1a21bed792fe449e21fe8 /common
parent4df73d5f585a74f241e443510189fe1bc2858fac (diff)
downloadbarebox-e617c9b82126caa6a37c9eaf123ca106c714ee52.tar.gz
barebox-e617c9b82126caa6a37c9eaf123ca106c714ee52.tar.xz
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 <s.hauer@pengutronix.de>
Diffstat (limited to 'common')
-rw-r--r--common/tlsfbits.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/common/tlsfbits.h b/common/tlsfbits.h
index 93466e46a8..edbac80636 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;