[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