[PATCH v8 00/13] bootstd: Convert rockchip and add various fixes and tweaks

Simon Glass sjg at chromium.org
Fri Apr 7 21:53:10 CEST 2023


Hi Tom,

On Sat, 8 Apr 2023 at 07:39, Tom Rini <trini at konsulko.com> wrote:
>
> On Fri, Apr 07, 2023 at 10:36:38PM +1200, Simon Glass wrote:
>
> > This series converts rockchip boards over to use standard boot. It also
> > fixes various problems which have come up recently, showing differences
> > between the current implementation and the distroboot scripts.
> >
> > This should get us closer to being able to turn down the scripts.
>
> Alright, so I grabbed a few parts of this series to investigate the
> points I'm trying to grasp better, and I think this is going the wrong
> track. We should start off by dropping "default y" from BOOTSTD, and
> then start adding "default y if" for SoCs as we convert them. The end
> goal should be that we get to the point where we can "default y if ARM
> || RISCV || X86" or perhaps "default y !(PPC || M68K || ...)" as it's
> just a few architectures that haven't ended up being converted. But
> today, there's too much churn on platforms that aren't making any use of
> this. And I don't think this is going to be functionally worse than all
> of the places we "imply DISTRO_DEFAULTS" today, as functionally we can
> replace that with "imply BOOTSTD" as they get migrated.

That would really be a backward step. I'm not sure what to say at this
point. I've put a lot of effort in trying to get this over the line,
but the only way we get feedback is when it is applied.

What churn are you seeing? Do you mean:

disable BOOTSTD for boards with custom commands? You asked for that patch
disabling BOOTSTD_DEFAULTS? You asked for that patch
enable BOOTSTD_DEFAULTS by default? We can drop it if you like

The other patches are bug fixes as noted below. Passing run at

https://source.denx.de/u-boot/custodians/u-boot-dm/-/pipelines/15934

Size trace:

02: bootstd: Tweak bootflow logic for device tree
       arm:     brsmarc1 j7200_evm_r5 j721e_evm_r5 ge_b1x5v2 stv0991
imxrt1020-evk imxrt1050-evk imxrt1170-evk
   aarch64: (for 383/383 boards) all +36.6 text +36.6
       arm: (for 649/649 boards) all +13.8 text +13.8
   riscv32: (for 7/7 boards) all +34.0 text +34.0
   riscv64: (for 14/14 boards) all +20.4 text +20.4
   sandbox: (for 7/7 boards) all +10.3 text +10.3
       x86: (for 29/29 boards) all +20.9 text +20.9

this is a bug fix, really

03: virtio: Ensure PCI is set up first
   aarch64: (for 383/383 boards) all +0.1 text +0.1
       arm: (for 649/649 boards) all +0.0 text +0.0
   powerpc: (for 81/81 boards) all +0.2 text +0.2
   riscv32: (for 7/7 boards) all +6.9 text +6.9
   riscv64: (for 14/14 boards) all +3.9 text +3.9
   sandbox: (for 7/7 boards) all +17.1 text +17.1
       x86: (for 29/29 boards) all +1.1 text +1.1

this makes it match the scripts

04: bootstd: Support booting EFI where multiple options exist
   aarch64: (for 383/383 boards) all +24.0 rodata +0.3 text +23.8
       arm: (for 649/649 boards) all +13.0 rodata +0.1 text +13.0
   riscv32: (for 7/7 boards) all +40.0 rodata -4.0 text +44.0
   riscv64: (for 14/14 boards) all -13.4 rodata -4.6 text -8.9
   sandbox: (for 7/7 boards) all +36.6 text +36.6
       x86: (for 29/29 boards) all +13.4 text +13.4

bug fix

05: bootstd: Report missing labels only when asked
   aarch64: (for 383/383 boards) all +36.9 rodata -9.5 text +46.5
       arc: (for 11/11 boards) all +13.8 rodata -5.1 text +18.9
       arm: (for 649/649 boards) all +30.0 rodata -8.7 text +38.6
      m68k: (for 18/18 boards) all -0.3 rodata -0.5 text +0.2
      mips: (for 45/45 boards) all +42.7 rodata -3.9 text +46.6
   powerpc: (for 81/81 boards) all +43.8 rodata -7.0 text +50.7
   riscv32: (for 7/7 boards) all +48.0 rodata -8.0 text +56.0
   riscv64: (for 14/14 boards) all +48.3 rodata -8.0 text +56.3
   sandbox: (for 7/7 boards) all -253.7 rodata -64.0
spl/u-boot-spl:all -11.4 spl/u-boot-spl:rodata -9.1
spl/u-boot-spl:text -2.3 text -189.7
        sh: (for 1/1 boards) all +24.0 rodata -8.0 text +32.0
       x86: (for 29/29 boards) all +8.6 rodata -8.4 text +17.0

Patch you requested

06: bootstd: Show a message sometimes if no bootflows are found
   aarch64: (for 383/383 boards) all +0.2 rodata +0.1 text +0.1
       arm: (for 649/649 boards) all +0.2 rodata +0.1 text +0.1
   sandbox: (for 7/7 boards) all +57.1 rodata +36.6 text +20.6

Patch you requested

07: rockchip: Move to standard boot
   aarch64: (for 383/383 boards) all -180.1 rodata -180.1
       arm: (for 649/649 boards) all -108.8 rodata -108.8
08: rockchip: Use the same boot_targets for all boards
   aarch64: (for 383/383 boards) all +0.9 rodata +0.9
       arm: (for 649/649 boards) all +0.5 rodata +0.5

Long-standing conversion patches

09: bootstd: Disable BOOTSTD for boards with custom commands
   aarch64: (for 383/383 boards) all -3314.4 bss -3.6 data -224.2
rodata -312.8 text -2773.8
       arm: (for 649/649 boards) all -6150.4 data -276.3 rodata -640.6
text -5233.5
      mips: (for 45/45 boards) all -1090.7 data -30.9 rodata -103.8 text -955.9
   powerpc: (for 81/81 boards) all -21042.0 bss -9.7 data -951.4
rodata -1713.3 text -18367.6
   riscv64: (for 14/14 boards) all -3567.7 bss -2.3 data -373.1 rodata
-355.4 text -2836.9
   sandbox: (for 7/7 boards) all -3051.6 bss -2.3 data -275.4 rodata
-263.0 text -2510.9
       x86: (for 29/29 boards) all -16307.3 data -834.5 rodata -1790.4
text -13682.4
10: xilinx: Disable CONFIG_BOOTSTD_DEFAULTS for some xilinx boards
       arm: (for 649/649 boards) all +0.0 rodata +0.0
      mips: (for 45/45 boards) all +0.4 rodata +0.4
11: atmel: Disable SPL_EFI_PARTITION for sama5d27_som1_ek_qspiflash
   aarch64: (for 383/383 boards) all +0.1 rodata +0.1
       arm: (for 649/649 boards) all -0.0 rodata -0.0
   sandbox: (for 7/7 boards) all -4.6 rodata -4.6
12: bootstd: Enable BOOTSTD_DEFAULTS by default
   aarch64: (for 383/383 boards) all +4123.1 bss +196.6 data +129.9
rodata +725.8 text +3070.7
       arc: (for 11/11 boards) all +16977.8 bss +1438.9 data +375.3
rodata +5161.5 text +10002.2
       arm: (for 649/649 boards) all +3012.0 data +114.8 rodata +793.4
spl/u-boot-spl:all +54.6 spl/u-boot-spl:bss +1.1 spl/u-boot-spl:data
+0.8 spl/u-boot-spl:rodata +17.8 spl/u-boot-spl:text +35.0 text
+2103.8
      m68k: (for 18/18 boards) all +1373.4 bss +124.0 data +119.8
rodata +387.3 text +742.3
      mips: (for 45/45 boards) all +17823.4 data +458.1 rodata +3532.9
spl/u-boot-spl:all +48.2 spl/u-boot-spl:data +3.6
spl/u-boot-spl:rodata +1.0 spl/u-boot-spl:text +43.6 text +13832.4
   powerpc: (for 81/81 boards) all +679.4 bss +57.8 data +30.8 rodata
+91.4 text +499.4
        sh: (for 1/1 boards) all +32363.0 bss +2283.0 data +1740.0
rodata +8804.0 text +19536.0
       x86: (for 29/29 boards) all +1988.5 data +47.4 rodata +646.4 text +1294.6

Regards,
Simon


More information about the U-Boot mailing list