diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2015-05-22 09:37:52 +0200 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2015-05-22 09:40:31 +0200 |
commit | e617c9b82126caa6a37c9eaf123ca106c714ee52 (patch) | |
tree | e220e1c89ec6bf8e3bb1a21bed792fe449e21fe8 /common | |
parent | 4df73d5f585a74f241e443510189fe1bc2858fac (diff) | |
download | barebox-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.h | 6 |
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; |