[U-Boot] [PATCH] env_mmc: fix buffer allocation for armv7

Markus Niebel list-09_u-boot at tqsc.de
Mon Oct 7 09:58:48 CEST 2013


Hello,

Am 04.10.2013 19:02, wrote Tom Rini:
> On Fri, Oct 04, 2013 at 03:48:03PM +0200, Markus Niebel wrote:
> 
>> From: Markus Niebel <Markus.Niebel at tqs.de>
>>
>> commit d196bd880347373237d73e0d115b4d51c68cf2ad adds
>> redundand environment to mmc. The usage of malloc in
>> env_relocate_spec triggers cache errors on armv7.
>>
>> Tested on a not mainlined i.MX53 board:
>>
>> Board: TQMa53
>> I2C:   ready
>> DRAM:  512 MiB
>> MMC:   FSL_SDHC: 0, FSL_SDHC: 1
>> ERROR: v7_dcache_inval_range - start address is not aligned - 0x8f57c2d8
>> ERROR: v7_dcache_inval_range - stop address is not aligned - 0x8f57e2d8
>> ERROR: v7_dcache_inval_range - start address is not aligned - 0x8f57e2e0
>> ERROR: v7_dcache_inval_range - stop address is not aligned - 0x8f5802e0
>> Using default environment
>>
>> Signed-off-by: Markus Niebel <Markus.Niebel at tqs.de>
> 
> I really don't like this.  We're now allocating for example 256KiB on
> the stack, rather than malloc.  I posted a patch recently to convert the
> non-redundant case to malloc instead for this reason.  I believe the
> answer is we need to be using memalign here, like
> common/bouncebuf.c::bounce_buffer_start does.  Can you do this?  If not,
> can you test a patch?  Thanks.
> 
Thanks for reviewing. I will just follow the ongoing discussion and wait for consensus on how to fix the error before I do tests.

Markus




More information about the U-Boot mailing list