[U-Boot] rockchip breakage with "spl: Remove overwrite of relocated malloc limit"

Simon Glass sjg at chromium.org
Tue Mar 7 18:45:46 UTC 2017


Hi,

On 7 March 2017 at 11:39, Heiko Stübner <heiko at sntech.de> wrote:
>
> Am Dienstag, 7. März 2017, 10:01:02 CET schrieb Simon Glass:
> > Hi,
> >
> > On 6 March 2017 at 23:56, Kever Yang <kever.yang at rock-chips.com> wrote:
> > > Hi Heiko,
> > >
> > > That patch break all the Rockchip SoCs SPL which using spl_init().
> > >
> > > Eddie send one patch for rk3288 by add a spl_early_init(), which is
> > > under review, I also look forward for better solution.
> >
> > Is this a problem for the upcoming release? I have not seen the
> > breakage on firefly (although I found a few other problems) so did not
> > think it needed to be resolved right away.
>
> not for the rk3188 - as it is not part of a release yet, but if you look at
> Eddie's patches, it seems like it of course affects rk3288.
>
> Although I'd think there must be a nicer way than duplicating spl_init to fix
> that issue :-) .

I think it makes sense, although the core code can go in a common
function. I'm hoping to look at it this week.

For me, rk3288 fails for a few reasons, and I didn't see this as a
primary one. I'll take another look.

Regards,
Simon

>
>
> Heiko
>
> > > On 03/07/2017 08:42 AM, Heiko Stübner wrote:
> > >> Hi,
> > >>
> > >> I just realized patch b3d2861eb20a ("spl: Remove overwrite of relocated
> > >> malloc
> > >> limit") introduces breakage in my rk3188 uboot code (and should most
> > >> likely
> > >> also affect the very similar other rockchip spl boards).
> > >>
> > >> The boards call spl_init in their board_init_f functions because they
> > >> need
> > >> the
> > >> spl infrastructure to find and bringup the devicetree stuff and things
> > >> like
> > >> pinctrl and ram.
> > >>
> > >> With the recent change mentioned above, spl_init fails with
> > >>
> > >>         spl_init() failed: -12
> > >>
> > >> because
> > >>
> > >>         dm_init_and_scan() returned error -12
> > >>
> > >> because
> > >>
> > >>         dm_init() failed: -12
> > >>
> > >> ...
> > >> because
> > >>
> > >>         Missing uclass for driver root_driver
> > >>
> > >> because
> > >>
> > >>         uclass_add calls calloc, which fails with the -ENOMEM (-12)
> > >>
> > >> I still lack uboot experience to see the correct way forward. Reverting
> > >> that
> > >> patch of course makes my board start uboot again [and most likely the
> > >> other
> > >> Rockchip SPLs as well], but there is possibly some better solution
> > >> [Or there is simply something very wrong with my rk3188 stuff :-) ].
> > >>
> > >>
> > >> Heiko
> > >> _______________________________________________
> > >> U-Boot mailing list
> > >> U-Boot at lists.denx.de
> > >> https://lists.denx.de/listinfo/u-boot
>
>


More information about the U-Boot mailing list