[U-Boot] [PATCH v4 2/3] spl: Remove overwrite of relocated malloc limit

André Przywara andre.przywara at arm.com
Thu Feb 2 00:17:52 UTC 2017


On 02/02/17 00:08, Tom Rini wrote:

Hi Tom,

thanks for the quick reply!

> On Wed, Feb 01, 2017 at 11:48:11PM +0000, André Przywara wrote:
>> On 27/01/17 16:39, Andrew F. Davis wrote:
>>
>> Hi,
>>
>>> spl_init on some boards is called after stack and heap relocation, on
>>> some platforms spl_relocate_stack_gd is called to handle setting the
>>> limit to its value CONFIG_SPL_STACK_R_MALLOC_SIMPLE_LEN when simple
>>> SPL malloc is enabled during relocation. spl_init should then not
>>> re-assign the old pre-relocation limit when this is defined.
>>
>> I am sorry to say this, but this very patch breaks SPL boot on sunxi
>> boards (tested on the Pine64, the Orangepi PC2 (with a similar ARMv8
>> SoC) and the OrangePi Zero (ARMv7 Allwinner H3 SoC).
>>
>> U-Boot SPL 2017.03-rc1-00022-gf77309d (Feb 01 2017 - 23:27:19)
>> DRAM: 1024 MiB
>> Trying to boot from MMC1
>> MMC Device 0 not found
>> spl: could not find mmc device. error: -19
>> SPL: failed to boot from all boot devices
>> ### ERROR ### Please RESET the board ###
>>
>> sunxi boards both use the default CONFIG_SYS_MALLOC_F_LEN=0x400 and
>> CONFIG_SPL_STACK_R_MALLOC_SIMPLE_LEN=0x100000.
>>
>> At the moment the code there is beyond me, so I can't really say how
>> this breaks, but it clearly does: reverting this patch makes U-Boot
>> happy again.
>>
>> Any ideas?
> 
> Arg.  I'll try and poke at this but my A20-OLinuXino-Lime2 is (FEL at
> least) booting so I hadn't seen this.  Can you confirm that pine64, or
> these other boards, also fail when FEL booting?  I ask since if they
> pass that way I need to pencil in some time to figure out another way to
> test that HW, or at least make additional testing of that hardware
> easier.  Thanks!

Yeah, sorry, but FEL boot seems to work, with or without this patch. I
guess it's due to the MMC driver malloc'ing something, which would
happen after DRAM availability. FEL boot just returns to the caller, so
no malloc.
And I agree it's nasty to do boot testing with SD cards, I use FEL
mostly as well.

Cheers,
Andre.



More information about the U-Boot mailing list