* Re: [PATCH 00/49] image: Reduce #ifdefs and ad-hoc defines in image code
2021-05-04 21:40 ` [PATCH 00/49] image: Reduce #ifdefs and ad-hoc defines in image code Tom Rini
@ 2021-05-04 21:49 ` Simon Glass
2021-05-04 23:24 ` Sean Anderson
2021-05-05 23:38 ` Simon Glass
2 siblings, 0 replies; 10+ messages in thread
From: Simon Glass @ 2021-05-04 21:49 UTC (permalink / raw)
To: Tom Rini
Cc: U-Boot Mailing List, Heinrich Schuchardt, Bin Meng, Robert Marko,
Andre Przywara, Masahiro Yamada, AKASHI Takahiro, Adam Ford,
Alexandru Gagniuc, Alexey Brodkin, Andrii Anisov, Asherah Connor,
Bastian Krause, Chan, Donald, Chee Hong Ang, Chin-Liang See,
Christian Gmeiner, Dinh Nguyen, Etienne Carriere, Eugeniy Paltsev,
Fabien Parent, Fabio Estevam, Frieder Schrempf,
Frédéric Danis, George McCollister, Giulio Benetti,
Harald Seiler, Heiko Schocher, Heiko Stuebner, Hongwei Zhang,
Jagan Teki, Jan Kiszka, Jan Luebbe, Jernej Skrabec,
Joe Hershberger, Joel Peshkin, Joel Stanley, Jonathan Gray,
Jorge Ramirez-Ortiz, Kever Yang, Klaus Heinrich Kiwi,
Ley Foon Tan, Lukasz Majewski, Marcin Juszkiewicz, Marek Behun,
Marek Szyprowski, Marek Vasut, Masahiro Yamada, Matthieu CASTET,
Michal Simek, Michal Simek, NXP i.MX U-Boot Team, Naoki Hayama,
Oleksandr Andrushchenko, Ovidiu Panait, Pali Rohár,
Patrick Delaunay, Patrick Oppenlander, Peng Fan, Philippe Reynes,
Pragnesh Patel, Qu Wenruo, Rasmus Villemoes, Reuben Dowle,
Rick Chen, Samuel Holland, Sean Anderson, Sean Anderson,
Sebastian Reichel, Siew Chin Lim, Stefan Roese, Stefano Babic,
Suniel Mahesh, T Karthik Reddy, Tero Kristo,
Thirupathaiah Annapureddy, Trevor Woerner, Wasim Khan, chenshuo,
linux-btrfs, uboot-snps-arc
Hi Tom,
On Tue, 4 May 2021 at 15:40, Tom Rini <trini@konsulko.com> wrote:
>
> On Mon, May 03, 2021 at 05:10:47PM -0600, Simon Glass wrote:
>
> > Much of the image-handling code predates the introduction of Kconfig and
> > has quite a few #ifdefs in it. It also uses its own IMAGE_... defines to
> > help reduce the #ifdefs, which is unnecessary now that we can use
> > IS_ENABLED() et al.
> >
> > The image code is also where quite a bit of code is shared with the host
> > tools. At present this uses a lot of checks of USE_HOSTCC.
> >
> > This series introduces 'host' Kconfig options and a way to use
> > CONFIG_IS_ENABLED() to check them. This works in a similar way to SPL, so
> >
> > CONFIG_IS_ENABLED(FIT)
> >
> > will evaluate to true on the host build (USE_HOSTCC) if CONFIG_HOST_FIT is
> > enabled. This allows quite a bit of clean-up of the image.h header file
> > and many of the image C files.
> >
> > The 'host' Kconfig options should help to solve a more general problem in
> > that we mostly want the host tools to build with all features enabled, no
> > matter which features the 'target' build actually uses. This is a pain to
> > arrange at present, but with 'host' Kconfigs, we can just define them all
> > to y.
> >
> > There are cases where the host tools do not have features which are
> > present on the target, for example environment and physical addressing.
> > To help with this, some of the core image code is split out into
> > image-board.c and image-host.c files.
> >
> > Even with these changes, some #ifdefs remain (101 down to 42 in
> > common/image*). But the code is somewhat easier to follow and there are
> > fewer build paths.
> >
> > In service of the above, this series includes a patch to add an API function
> > for zstd, so the code can be dropped from bootm.c
> >
> > It also introduces a function to handle manual relocation.
>
> I like this idea overall. The good news is this reduces the size in a
> few places. The bad news, but I can live with if we can't restructure
> the changes more, is a few functions grow a bit. This shows the good
> and the bad (something like sama5d2_ptc_ek_mmc shows only growth, to be
> clear):
> px30-core-edimm2.2-px30: all -36 rodata -24 text -12
> u-boot: add: 0/0, grow: 3/-4 bytes: 36/-48 (-12)
> function old new delta
> boot_get_fdt 896 924 +28
> image_decomp 372 376 +4
> boot_get_ramdisk 868 872 +4
> do_bootm_vxworks 552 540 -12
> do_bootm_rtems 124 112 -12
> do_bootm_plan9 228 216 -12
> do_bootm_netbsd 324 312 -12
> odroid-c2 : all -105 bss +128 rodata -65 text -168
> u-boot: add: 0/0, grow: 2/-3 bytes: 108/-172 (-64)
> function old new delta
> images 504 608 +104
> image_decomp 372 376 +4
> image_setup_linux 108 96 -12
> boot_get_ramdisk 620 580 -40
> boot_get_fdt 660 540 -120
> origen : all +47 bss +96 rodata -57 text +8
> u-boot: add: 0/0, grow: 15/-2 bytes: 180/-104 (76)
> function old new delta
> images 288 340 +52
> do_bootm_states 1304 1348 +44
> do_bootz 164 176 +12
> do_bootm_vxworks 332 344 +12
> image_setup_libfdt 168 176 +8
> image_decomp 156 164 +8
> bootm_find_images 212 220 +8
> boot_prep_linux 276 284 +8
> image_setup_linux 54 58 +4
> do_bootm_standalone 60 64 +4
> do_bootm_plan9 104 108 +4
> do_bootm_netbsd 168 172 +4
> boot_prep_vxworks 48 52 +4
> boot_jump_vxworks 6 10 +4
> boot_jump_linux 148 152 +4
> boot_get_ramdisk 420 392 -28
> boot_get_fdt 420 344 -76
>
> And looking at ls1088ardb_sdcard_qspi_SECURE_BOOT I think there might be
> something wrong as that looks to drop all crypto algos from SPL. Other
> layerscape SECURE_BOOT configs show this as well. It does however seem
> to clear up some other issues around unused code, so a deeper dive on
> which patch is dropping stuff is needed. I see a huge drop on
> am65x_evm_a53 / j721e_evm_a72 SPL as well but I can test those and at
> least the basic case is fine. socfpga_agilex_atf is one I don't know
> about being right or wrong. socfpga_agilex_vab dropping hashing code
> does look worrying however, but maybe it's a configuration issue in the
> end?
OK thanks for that. I will take a look at the cases you mention. I
found a fair few problems but clearly not all.
Regards,
Simon
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 00/49] image: Reduce #ifdefs and ad-hoc defines in image code
2021-05-04 21:40 ` [PATCH 00/49] image: Reduce #ifdefs and ad-hoc defines in image code Tom Rini
2021-05-04 21:49 ` Simon Glass
@ 2021-05-04 23:24 ` Sean Anderson
2021-05-05 1:11 ` Tom Rini
2021-05-05 23:38 ` Simon Glass
2 siblings, 1 reply; 10+ messages in thread
From: Sean Anderson @ 2021-05-04 23:24 UTC (permalink / raw)
To: Tom Rini, Simon Glass
Cc: U-Boot Mailing List, Heinrich Schuchardt, Bin Meng, Robert Marko,
Andre Przywara, Masahiro Yamada, AKASHI Takahiro, Adam Ford,
Alexandru Gagniuc, Alexey Brodkin, Andrii Anisov, Asherah Connor,
Bastian Krause, Chan, Donald, Chee Hong Ang, Chin-Liang See,
Christian Gmeiner, Dinh Nguyen, Etienne Carriere, Eugeniy Paltsev,
Fabien Parent, Fabio Estevam, Frieder Schrempf,
Frédéric Danis, George McCollister, Giulio Benetti,
Harald Seiler, Heiko Schocher, Heiko Stuebner, Hongwei Zhang,
Jagan Teki, Jan Kiszka, Jan Luebbe, Jernej Skrabec,
Joe Hershberger, Joel Peshkin, Joel Stanley, Jonathan Gray,
Jorge Ramirez-Ortiz, Kever Yang, Klaus Heinrich Kiwi,
Ley Foon Tan, Lukasz Majewski, Marcin Juszkiewicz, Marek Behun,
Marek Szyprowski, Marek Vasut, Masahiro Yamada, Matthieu CASTET,
Michal Simek, Michal Simek, NXP i.MX U-Boot Team, Naoki Hayama,
Oleksandr Andrushchenko, Ovidiu Panait, Pali Rohár,
Patrick Delaunay, Patrick Oppenlander, Peng Fan, Philippe Reynes,
Pragnesh Patel, Qu Wenruo, Rasmus Villemoes, Reuben Dowle,
Rick Chen, Samuel Holland, Sean Anderson, Sebastian Reichel,
Siew Chin Lim, Stefan Roese, Stefano Babic, Suniel Mahesh,
T Karthik Reddy, Tero Kristo, Thirupathaiah Annapureddy,
Trevor Woerner, Wasim Khan, chenshuo, linux-btrfs, uboot-snps-arc
Hi Tom,
On 5/4/21 5:40 PM, Tom Rini wrote:
> On Mon, May 03, 2021 at 05:10:47PM -0600, Simon Glass wrote:
>
>> Much of the image-handling code predates the introduction of Kconfig and
>> has quite a few #ifdefs in it. It also uses its own IMAGE_... defines to
>> help reduce the #ifdefs, which is unnecessary now that we can use
>> IS_ENABLED() et al.
>>
>> The image code is also where quite a bit of code is shared with the host
>> tools. At present this uses a lot of checks of USE_HOSTCC.
>>
>> This series introduces 'host' Kconfig options and a way to use
>> CONFIG_IS_ENABLED() to check them. This works in a similar way to SPL, so
>>
>> CONFIG_IS_ENABLED(FIT)
>>
>> will evaluate to true on the host build (USE_HOSTCC) if CONFIG_HOST_FIT is
>> enabled. This allows quite a bit of clean-up of the image.h header file
>> and many of the image C files.
>>
>> The 'host' Kconfig options should help to solve a more general problem in
>> that we mostly want the host tools to build with all features enabled, no
>> matter which features the 'target' build actually uses. This is a pain to
>> arrange at present, but with 'host' Kconfigs, we can just define them all
>> to y.
>>
>> There are cases where the host tools do not have features which are
>> present on the target, for example environment and physical addressing.
>> To help with this, some of the core image code is split out into
>> image-board.c and image-host.c files.
>>
>> Even with these changes, some #ifdefs remain (101 down to 42 in
>> common/image*). But the code is somewhat easier to follow and there are
>> fewer build paths.
>>
>> In service of the above, this series includes a patch to add an API function
>> for zstd, so the code can be dropped from bootm.c
>>
>> It also introduces a function to handle manual relocation.
>
> I like this idea overall. The good news is this reduces the size in a
> few places. The bad news, but I can live with if we can't restructure
> the changes more, is a few functions grow a bit. This shows the good
> and the bad (something like sama5d2_ptc_ek_mmc shows only growth, to be
> clear):
What tool do you use to generate this output? Thanks.
--Sean
> px30-core-edimm2.2-px30: all -36 rodata -24 text -12
> u-boot: add: 0/0, grow: 3/-4 bytes: 36/-48 (-12)
> function old new delta
> boot_get_fdt 896 924 +28
> image_decomp 372 376 +4
> boot_get_ramdisk 868 872 +4
> do_bootm_vxworks 552 540 -12
> do_bootm_rtems 124 112 -12
> do_bootm_plan9 228 216 -12
> do_bootm_netbsd 324 312 -12
> odroid-c2 : all -105 bss +128 rodata -65 text -168
> u-boot: add: 0/0, grow: 2/-3 bytes: 108/-172 (-64)
> function old new delta
> images 504 608 +104
> image_decomp 372 376 +4
> image_setup_linux 108 96 -12
> boot_get_ramdisk 620 580 -40
> boot_get_fdt 660 540 -120
> origen : all +47 bss +96 rodata -57 text +8
> u-boot: add: 0/0, grow: 15/-2 bytes: 180/-104 (76)
> function old new delta
> images 288 340 +52
> do_bootm_states 1304 1348 +44
> do_bootz 164 176 +12
> do_bootm_vxworks 332 344 +12
> image_setup_libfdt 168 176 +8
> image_decomp 156 164 +8
> bootm_find_images 212 220 +8
> boot_prep_linux 276 284 +8
> image_setup_linux 54 58 +4
> do_bootm_standalone 60 64 +4
> do_bootm_plan9 104 108 +4
> do_bootm_netbsd 168 172 +4
> boot_prep_vxworks 48 52 +4
> boot_jump_vxworks 6 10 +4
> boot_jump_linux 148 152 +4
> boot_get_ramdisk 420 392 -28
> boot_get_fdt 420 344 -76
>
> And looking at ls1088ardb_sdcard_qspi_SECURE_BOOT I think there might be
> something wrong as that looks to drop all crypto algos from SPL. Other
> layerscape SECURE_BOOT configs show this as well. It does however seem
> to clear up some other issues around unused code, so a deeper dive on
> which patch is dropping stuff is needed. I see a huge drop on
> am65x_evm_a53 / j721e_evm_a72 SPL as well but I can test those and at
> least the basic case is fine. socfpga_agilex_atf is one I don't know
> about being right or wrong. socfpga_agilex_vab dropping hashing code
> does look worrying however, but maybe it's a configuration issue in the
> end?
>
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 00/49] image: Reduce #ifdefs and ad-hoc defines in image code
2021-05-04 23:24 ` Sean Anderson
@ 2021-05-05 1:11 ` Tom Rini
0 siblings, 0 replies; 10+ messages in thread
From: Tom Rini @ 2021-05-05 1:11 UTC (permalink / raw)
To: Sean Anderson
Cc: Simon Glass, U-Boot Mailing List, Heinrich Schuchardt, Bin Meng,
Robert Marko, Andre Przywara, Masahiro Yamada, AKASHI Takahiro,
Adam Ford, Alexandru Gagniuc, Alexey Brodkin, Andrii Anisov,
Asherah Connor, Bastian Krause, Chan, Donald, Chee Hong Ang,
Chin-Liang See, Christian Gmeiner, Dinh Nguyen, Etienne Carriere,
Eugeniy Paltsev, Fabien Parent, Fabio Estevam, Frieder Schrempf,
Frédéric Danis, George McCollister, Giulio Benetti,
Harald Seiler, Heiko Schocher, Heiko Stuebner, Hongwei Zhang,
Jagan Teki, Jan Kiszka, Jan Luebbe, Jernej Skrabec,
Joe Hershberger, Joel Peshkin, Joel Stanley, Jonathan Gray,
Jorge Ramirez-Ortiz, Kever Yang, Klaus Heinrich Kiwi,
Ley Foon Tan, Lukasz Majewski, Marcin Juszkiewicz, Marek Behun,
Marek Szyprowski, Marek Vasut, Masahiro Yamada, Matthieu CASTET,
Michal Simek, Michal Simek, NXP i.MX U-Boot Team, Naoki Hayama,
Oleksandr Andrushchenko, Ovidiu Panait, Pali Rohár,
Patrick Delaunay, Patrick Oppenlander, Peng Fan, Philippe Reynes,
Pragnesh Patel, Qu Wenruo, Rasmus Villemoes, Reuben Dowle,
Rick Chen, Samuel Holland, Sean Anderson, Sebastian Reichel,
Siew Chin Lim, Stefan Roese, Stefano Babic, Suniel Mahesh,
T Karthik Reddy, Tero Kristo, Thirupathaiah Annapureddy,
Trevor Woerner, Wasim Khan, chenshuo, linux-btrfs, uboot-snps-arc
[-- Attachment #1: Type: text/plain, Size: 3538 bytes --]
On Tue, May 04, 2021 at 07:24:25PM -0400, Sean Anderson wrote:
> Hi Tom,
>
> On 5/4/21 5:40 PM, Tom Rini wrote:
> > On Mon, May 03, 2021 at 05:10:47PM -0600, Simon Glass wrote:
> >
> > > Much of the image-handling code predates the introduction of Kconfig and
> > > has quite a few #ifdefs in it. It also uses its own IMAGE_... defines to
> > > help reduce the #ifdefs, which is unnecessary now that we can use
> > > IS_ENABLED() et al.
> > >
> > > The image code is also where quite a bit of code is shared with the host
> > > tools. At present this uses a lot of checks of USE_HOSTCC.
> > >
> > > This series introduces 'host' Kconfig options and a way to use
> > > CONFIG_IS_ENABLED() to check them. This works in a similar way to SPL, so
> > >
> > > CONFIG_IS_ENABLED(FIT)
> > >
> > > will evaluate to true on the host build (USE_HOSTCC) if CONFIG_HOST_FIT is
> > > enabled. This allows quite a bit of clean-up of the image.h header file
> > > and many of the image C files.
> > >
> > > The 'host' Kconfig options should help to solve a more general problem in
> > > that we mostly want the host tools to build with all features enabled, no
> > > matter which features the 'target' build actually uses. This is a pain to
> > > arrange at present, but with 'host' Kconfigs, we can just define them all
> > > to y.
> > >
> > > There are cases where the host tools do not have features which are
> > > present on the target, for example environment and physical addressing.
> > > To help with this, some of the core image code is split out into
> > > image-board.c and image-host.c files.
> > >
> > > Even with these changes, some #ifdefs remain (101 down to 42 in
> > > common/image*). But the code is somewhat easier to follow and there are
> > > fewer build paths.
> > >
> > > In service of the above, this series includes a patch to add an API function
> > > for zstd, so the code can be dropped from bootm.c
> > >
> > > It also introduces a function to handle manual relocation.
> >
> > I like this idea overall. The good news is this reduces the size in a
> > few places. The bad news, but I can live with if we can't restructure
> > the changes more, is a few functions grow a bit. This shows the good
> > and the bad (something like sama5d2_ptc_ek_mmc shows only growth, to be
> > clear):
> What tool do you use to generate this output? Thanks.
buildman will give that for you. This was from my world build
before/after wrapper, but for a single machine I have:
#!/bin/bash
# Initial and constant buildman args
ARGS="-devl"
ALL=0
KEEP=0
# Find our arguments
while test $# -ne 0; do
if [ "$1" == "--all" ]; then
ALL=1
shift 1
elif [ "$1" == "--branch" ]; then
BRANCH=$2
shift 2
elif [ "$1" == "--keep" ]; then
KEEP=1
ARGS="$ARGS -k"
shift 1
else
MACHINE=$1
shift
fi
done
if [ -z $MACHINE ]; then
echo Usage: $0 MACHINE [--all] [--keep] [--branch BRANCH]
exit 1
fi
# If not all, then only first/last
if [ $ALL -ne 1 ]; then
ARGS="$ARGS --step 0"
fi
if [ ! -z $BRANCH ]; then
ARGS="$ARGS -b $BRANCH"
else
ARGS="$ARGS -b `git rev-parse --abbrev-ref HEAD`"
fi
mkdir -p /tmp/$MACHINE
export SOURCE_DATE_EPOCH=`date +%s`
./tools/buildman/buildman -o /tmp/$MACHINE $ARGS -SBC $MACHINE
./tools/buildman/buildman -o /tmp/$MACHINE $ARGS -SsB $MACHINE
[ $KEEP -eq 0 ] && rm -rf /tmp/$MACHINE
In a script called "uboot-size-test.sh" to dig in to individual cases
more.
--
Tom
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 659 bytes --]
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 00/49] image: Reduce #ifdefs and ad-hoc defines in image code
2021-05-04 21:40 ` [PATCH 00/49] image: Reduce #ifdefs and ad-hoc defines in image code Tom Rini
2021-05-04 21:49 ` Simon Glass
2021-05-04 23:24 ` Sean Anderson
@ 2021-05-05 23:38 ` Simon Glass
2 siblings, 0 replies; 10+ messages in thread
From: Simon Glass @ 2021-05-05 23:38 UTC (permalink / raw)
To: Tom Rini
Cc: U-Boot Mailing List, Heinrich Schuchardt, Bin Meng, Robert Marko,
Andre Przywara, Masahiro Yamada, AKASHI Takahiro, Adam Ford,
Alexandru Gagniuc, Alexey Brodkin, Andrii Anisov, Asherah Connor,
Bastian Krause, Chan, Donald, Chee Hong Ang, Chin-Liang See,
Christian Gmeiner, Dinh Nguyen, Etienne Carriere, Eugeniy Paltsev,
Fabien Parent, Fabio Estevam, Frieder Schrempf,
Frédéric Danis, George McCollister, Giulio Benetti,
Harald Seiler, Heiko Schocher, Heiko Stuebner, Hongwei Zhang,
Jagan Teki, Jan Kiszka, Jan Luebbe, Jernej Skrabec,
Joe Hershberger, Joel Peshkin, Joel Stanley, Jonathan Gray,
Jorge Ramirez-Ortiz, Kever Yang, Klaus Heinrich Kiwi,
Ley Foon Tan, Lukasz Majewski, Marcin Juszkiewicz, Marek Behun,
Marek Szyprowski, Marek Vasut, Masahiro Yamada, Matthieu CASTET,
Michal Simek, Michal Simek, NXP i.MX U-Boot Team, Naoki Hayama,
Oleksandr Andrushchenko, Ovidiu Panait, Pali Rohár,
Patrick Delaunay, Patrick Oppenlander, Peng Fan, Philippe Reynes,
Pragnesh Patel, Qu Wenruo, Rasmus Villemoes, Reuben Dowle,
Rick Chen, Samuel Holland, Sean Anderson, Sean Anderson,
Sebastian Reichel, Siew Chin Lim, Stefan Roese, Stefano Babic,
Suniel Mahesh, T Karthik Reddy, Tero Kristo,
Thirupathaiah Annapureddy, Trevor Woerner, Wasim Khan, chenshuo,
linux-btrfs, uboot-snps-arc
Hi Tom,
On Tue, 4 May 2021 at 14:40, Tom Rini <trini@konsulko.com> wrote:
>
> On Mon, May 03, 2021 at 05:10:47PM -0600, Simon Glass wrote:
>
> > Much of the image-handling code predates the introduction of Kconfig and
> > has quite a few #ifdefs in it. It also uses its own IMAGE_... defines to
> > help reduce the #ifdefs, which is unnecessary now that we can use
> > IS_ENABLED() et al.
> >
> > The image code is also where quite a bit of code is shared with the host
> > tools. At present this uses a lot of checks of USE_HOSTCC.
> >
> > This series introduces 'host' Kconfig options and a way to use
> > CONFIG_IS_ENABLED() to check them. This works in a similar way to SPL, so
> >
> > CONFIG_IS_ENABLED(FIT)
> >
> > will evaluate to true on the host build (USE_HOSTCC) if CONFIG_HOST_FIT is
> > enabled. This allows quite a bit of clean-up of the image.h header file
> > and many of the image C files.
> >
> > The 'host' Kconfig options should help to solve a more general problem in
> > that we mostly want the host tools to build with all features enabled, no
> > matter which features the 'target' build actually uses. This is a pain to
> > arrange at present, but with 'host' Kconfigs, we can just define them all
> > to y.
> >
> > There are cases where the host tools do not have features which are
> > present on the target, for example environment and physical addressing.
> > To help with this, some of the core image code is split out into
> > image-board.c and image-host.c files.
> >
> > Even with these changes, some #ifdefs remain (101 down to 42 in
> > common/image*). But the code is somewhat easier to follow and there are
> > fewer build paths.
> >
> > In service of the above, this series includes a patch to add an API function
> > for zstd, so the code can be dropped from bootm.c
> >
> > It also introduces a function to handle manual relocation.
>
> I like this idea overall. The good news is this reduces the size in a
> few places. The bad news, but I can live with if we can't restructure
> the changes more, is a few functions grow a bit. This shows the good
> and the bad (something like sama5d2_ptc_ek_mmc shows only growth, to be
> clear):
> px30-core-edimm2.2-px30: all -36 rodata -24 text -12
> u-boot: add: 0/0, grow: 3/-4 bytes: 36/-48 (-12)
> function old new delta
> boot_get_fdt 896 924 +28
> image_decomp 372 376 +4
> boot_get_ramdisk 868 872 +4
> do_bootm_vxworks 552 540 -12
> do_bootm_rtems 124 112 -12
> do_bootm_plan9 228 216 -12
> do_bootm_netbsd 324 312 -12
> odroid-c2 : all -105 bss +128 rodata -65 text -168
> u-boot: add: 0/0, grow: 2/-3 bytes: 108/-172 (-64)
> function old new delta
> images 504 608 +104
> image_decomp 372 376 +4
> image_setup_linux 108 96 -12
> boot_get_ramdisk 620 580 -40
> boot_get_fdt 660 540 -120
> origen : all +47 bss +96 rodata -57 text +8
> u-boot: add: 0/0, grow: 15/-2 bytes: 180/-104 (76)
> function old new delta
> images 288 340 +52
> do_bootm_states 1304 1348 +44
> do_bootz 164 176 +12
> do_bootm_vxworks 332 344 +12
> image_setup_libfdt 168 176 +8
> image_decomp 156 164 +8
> bootm_find_images 212 220 +8
> boot_prep_linux 276 284 +8
> image_setup_linux 54 58 +4
> do_bootm_standalone 60 64 +4
> do_bootm_plan9 104 108 +4
> do_bootm_netbsd 168 172 +4
> boot_prep_vxworks 48 52 +4
> boot_jump_vxworks 6 10 +4
> boot_jump_linux 148 152 +4
> boot_get_ramdisk 420 392 -28
> boot_get_fdt 420 344 -76
>
> And looking at ls1088ardb_sdcard_qspi_SECURE_BOOT I think there might be
> something wrong as that looks to drop all crypto algos from SPL. Other
> layerscape SECURE_BOOT configs show this as well. It does however seem
> to clear up some other issues around unused code, so a deeper dive on
> which patch is dropping stuff is needed. I see a huge drop on
> am65x_evm_a53 / j721e_evm_a72 SPL as well but I can test those and at
> least the basic case is fine. socfpga_agilex_atf is one I don't know
> about being right or wrong. socfpga_agilex_vab dropping hashing code
> does look worrying however, but maybe it's a configuration issue in the
> end?
Yes it seems to be config. Thank you for all the pointers.
The small increase is unavoidable with this approach - basically we
add 16 bytes of rodata as part of making the switch cases into if()
instead of #ifdef. I found that SPL hashing was dropped, which
explained another problem that I had seen but not yet diagnosed.
I will send v2.
Regards,
Simon
^ permalink raw reply [flat|nested] 10+ messages in thread