[U-Boot] [PATCH v4] dcache: Dcache line size aligned stack buffer allocation
Lukasz Majewski
l.majewski at samsung.com
Thu Sep 1 12:30:18 CEST 2011
ALLOC_CACHE_ALIGN_BUFFER shall be used in functions, which are using
stack allocated buffers for DMA transfers.
Signed-off-by: Lukasz Majewski <l.majewski at samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park at samsung.com>
CC: Albert ARIBAUD <albert.u.boot at aribaud.net>
---
Changes for v2:
- ./include/cache.h has been removed and replaced with
simpler macro added to ./include/common.h
Changes for v3:
- change char * to char
- defined table size definition
Changes for v4:
- (type*) added for compiler warning fix
Signed-off-by: Lukasz Majewski <l.majewski at samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park at samsung.com>
---
include/common.h | 5 +++++
1 files changed, 5 insertions(+), 0 deletions(-)
diff --git a/include/common.h b/include/common.h
index 12a1074..a74c6e8 100644
--- a/include/common.h
+++ b/include/common.h
@@ -767,6 +767,11 @@ int cpu_release(int nr, int argc, char * const argv[]);
#define ALIGN(x,a) __ALIGN_MASK((x),(typeof(x))(a)-1)
#define __ALIGN_MASK(x,mask) (((x)+(mask))&~(mask))
+#define ALLOC_CACHE_ALIGN_BUFFER(type, name, size) \
+ char __##name[size + CONFIG_SYS_CACHELINE_SIZE - 1]; \
+ type *name = (type *) ALIGN(((typeof(CONFIG_SYS_CACHELINE_SIZE))\
+ (__##name)), (CONFIG_SYS_CACHELINE_SIZE));
+
/* Pull in stuff for the build system */
#ifdef DO_DEPS_ONLY
# include <environment.h>
--
1.7.2.3
More information about the U-Boot
mailing list