Hi Tom, On Thu, 9 Jan 2025 at 08:10, Tom Rini <[email protected]> wrote: > > 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 <[email protected]> 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.
Oh. > 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 Yes, that's the whole series, so not related to this change. I elected to have two versions of ofnode_find_subnode() to avoid the size growth in the previous version. But the cost is larger size growth when OF_LIVE is used. Without OF_LIVE, the size growth is tiny. So...what to do? Regards, Simon

