[U-Boot] [PATCH 0/3] imx: bootaux elf firmware support

Lukasz Majewski lukma at denx.de
Tue Apr 4 08:25:07 UTC 2017


Hi Marek, Stefan,

> On 04/03/2017 11:36 PM, Stefan Agner wrote:
> > Hi Lukasz,
> > 
> > On 2017-04-03 04:20, Lukasz Majewski wrote:
> >> Hi Stefan,
> >>
> >> Thanks for your patch. Please allow me to share some ideas for
> >> improvements.
> >>
> >>> From: Stefan Agner <stefan.agner at toradex.com>
> >>>
> >>> This patchset enables to boot elf binaries on secondary Cortex-M
> >>> class cores available on i.MX 6SoloX/7Solo/7Dual. This makes
> >>> handling and loading firmwares much more convinient since all
> >>> information where the firmware has to be loaded to is contained in
> >>> the elf headers. A typical usage looks like this:
> >>>
> >>>   Colibri iMX7 # tftp ${loadaddr} firmware.elf && bootaux
> >>> ${loadaddr} Using FEC0 device
> >>>   TFTP from server 192.168.10.1; our IP address is 192.168.10.2
> >>>   Filename 'firmware.elf'.
> >>>   Load address: 0x80800000
> >>>   Loading: ##################################################
> >>> 88.3 KiB 5.4 MiB/s
> >>>   done
> >>>   Bytes transferred = 90424 (16138 hex)
> >>>   ## Starting auxiliary core at 0x1FFF8311 ...
> >>>   Colibri iMX7 #
> >>
> >> I can find some other platforms (not only IMX), which would benefit
> >> from this code - the generic 'bootaux' command.
> >>
> >> One good example would to allow multiple binaries for different SoC
> >> Cores (e.g. 2x Cortex-A8) to be loaded and started by u-boot.
> >>
> >> Hence, I'm wondering if you could make those patches usable for
> >> other platforms as well?
> > 
> > I don't think that this is a good idea. bootaux is meant for
> > auxiliary cores, which often use a different architecture and are
> > not cache coherent (hence the cache flushes).
> > 
> > On SMP systems the main operating system normally starts the
> > secondary core. Otherwise, if you want to run them separately using
> > U-Boot, maybe a new command such as bootsmp would be more suited.
> > 
> Admitedly, I didn't look at the patch, but if you want to boot ad-hoc
> cores, you can very well also boot secondary cores on the current CPU
> complex with the same command. Why not ?
> 
> Also, I think this might come useful when booting stuff like "Altera
> Sparrow" ...

This is one of already available use cases in my mind. That is why I do
see the need to add generic approach here.



Best regards,

Lukasz Majewski

--

DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de


More information about the U-Boot mailing list