
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@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@denx.de