[PATCH v2 17/33] boot: Update fit_image_get_emb_data to use abuf
Tom Rini
trini at konsulko.com
Thu Jan 9 16:09:54 CET 2025
On Thu, Jan 09, 2025 at 05:36:03AM -0700, Simon Glass wrote:
> Hi Tom,
>
> On Wed, 8 Jan 2025 at 11:25, Tom Rini <trini at konsulko.com> wrote:
> >
> > On Mon, Jan 06, 2025 at 07:32:13AM -0700, Simon Glass wrote:
> >
> > > This function uses separate arguments for data and size. Use the new
> > > abuf instead, so that they are paired and in one place. In some cases it
> > > also saves an argument, thus potentially reducing code size.
> >
> > This is one of the commits that globally increases size in both full
> > U-Boot and SPL/etc.
> >
> > Is all of the "abuf" changes just a "tidy up" that increases the code a
> > bit?
>
> Yes, a tidy-up which I hope will help overall. I have been thinking
> for a while of how to avoid having addr/size and ptr/size passed
> everywhere. For now abuf seems to provide some sort of solution.
>
> I see this:
>
> 18: boot: Update fit_image_get_emb_data to use abuf
> aarch64: (for 1/1 boards) all +4.0 bss -24.0 spl/u-boot-spl:all
> +16.0 spl/u-boot-spl:text +16.0 text +28.0
>
> so growth on firefly-rk3399 but not with rk3288. I am not sure if the
> growth will tail off as there are more users, though. We might even be
> able to be more clever with static inlines.
Yeah, lets not do this now then and worry about some "clean up" later
when we can show that it does, or does not, improve size. And there's
something wrong with your numbers:
01: Fix neighbor discovery ethernet address saving
aarch64: w+ firefly-rk3399
+(firefly-rk3399) Image 'simple-bin' is missing external blobs and is non-functional: atf-bl31
+(firefly-rk3399)
+(firefly-rk3399) /binman/simple-bin/fit/images/@atf-SEQ/atf-bl31 (atf-bl31):
+(firefly-rk3399) See the documentation for your board. You may need to build ARM Trusted
+(firefly-rk3399) Firmware and build with BL31=/path/to/bl31.bin
+(firefly-rk3399) Image 'simple-bin' is missing optional external blobs but is still functional: tee-os
+(firefly-rk3399) /binman/simple-bin/fit/images/@tee-SEQ/tee-os (tee-os):
+(firefly-rk3399) See the documentation for your board. You may need to build Open Portable
+(firefly-rk3399) Trusted Execution Environment (OP-TEE) and build with TEE=/path/to/tee.bin
+(firefly-rk3399) Some images are invalid
37: dm: core: Provide ofnode_find_subnode_unit()
aarch64: (for 1/1 boards) all +324.0 bss +32.0 spl/u-boot-spl:all +16.0 spl/u-boot-spl:text +16.0 text +292.0
firefly-rk3399 : all +324 bss +32 spl/u-boot-spl:all +16 spl/u-boot-spl:text +16 text +292
u-boot: add: 6/-1, grow: 4/-4 bytes: 516/-224 (292)
function old new delta
ofnode_name_eq_unit - 160 +160
ofnode_find_subnode_unit - 116 +116
fit_image_get_data 80 176 +96
fit_image_get_emb_data - 84 +84
ofnode_write_prop 224 236 +12
ofnode_add_subnode 232 244 +12
abuf_init_const - 12 +12
abuf_init - 12 +12
abuf_addr - 8 +8
fit_image_print 780 784 +4
image_locate_script 696 692 -4
fit_image_load 1584 1580 -4
fit_image_verify 176 164 -12
ofnode_find_subnode 140 116 -24
fit_image_get_data_and_size 180 - -180
spl-u-boot-spl: add: 3/-1, grow: 0/-1 bytes: 108/-92 (16)
function old new delta
fit_image_get_emb_data - 84 +84
abuf_init_const - 12 +12
abuf_init - 12 +12
load_simple_fit 580 568 -12
fit_image_get_data 80 - -80
--
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 659 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20250109/3bdebe81/attachment.sig>
More information about the U-Boot
mailing list