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

Eric Nelson eric.nelson at boundarydevices.com
Tue Apr 10 17:07:26 CEST 2012


On 04/09/2012 10:00 PM, Marek Vasut wrote:
> 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
>
Yep. I left it in bss space.


More information about the U-Boot mailing list