[U-Boot] [PATCH 1/2] common.h: Introduce DEFINE_CACHE_ALIGN_BUFFER

Marek Vasut marex at denx.de
Fri Jul 20 13:31:47 CEST 2012


Dear Mike Frysinger,

> On Saturday 07 July 2012 23:08:14 Marek Vasut wrote:
> > +/*
> > + * DEFINE_CACHE_ALIGN_BUFFER() is similar to ALLOC_CACHE_ALIGN_BUFFER,
> > but it's + * purpose is to allow allocating aligned buffers outside of
> > function scope. + * Usage of this macro shall be avoided or used with
> > extreme care! + */
> > +#define DEFINE_CACHE_ALIGN_BUFFER(type, name, size)			
\
> > +	static char __##name[roundup(size * sizeof(type), ARCH_DMA_MINALIGN)] \
> > +			__aligned(ARCH_DMA_MINALIGN);			\
> > +									\
> > +	static type *name = (type *)__##name;
> 
> how is this any different from doing:
> 	static __u8 foo[1234] __aligned(ARCH_DMA_MINALIGN);
> -mike

Does __aligned() align both start of the buffer downwards and end of it upwards 
?

Best regards,
Marek Vasut


More information about the U-Boot mailing list