[U-Boot] [PATCH] FAT: Properly align buffers to allow cache operations

Marek Vasut marex at denx.de
Tue Apr 10 07:00:48 CEST 2012


Dear Mike Frysinger,

> On Monday 09 April 2012 02:45:03 Marek Vasut wrote:
> > @@ -765,9 +767,6 @@
> > 
> > -__attribute__ ((__aligned__ (__alignof__ (dir_entry))))
> > -__u8 do_fat_read_block[MAX_CLUSTSIZE];
> > -
> > 
> > @@ -788,6 +787,7 @@ do_fat_read (const char *filename, void *buffer,
> > 
> >  	int rootdir_size = 0;
> >  	int j;
> > 
> > +	uint8_t do_fat_read_block[MAX_CLUSTSIZE] __attribute__((aligned(32)));
> 
> what's going on here exactly ?  the old code had the advantage of being in
> the bss and the linker taking care of the alignment.  this new code has an
> incorrectly hard-coded "32", and puts a 64KiB array onto the *stack*.

This will be probably fixed in Eric's patch

Best regards,
Marek Vasut


More information about the U-Boot mailing list