Hi Tom, On Mon, 25 Sept 2023 at 14:17, Tom Rini <tr...@konsulko.com> wrote: > > On Sun, Sep 24, 2023 at 01:25:23PM -0600, Simon Glass wrote: > > > The PCI helpers read only the base address for a PCI region. In some cases > > the size is needed as well, e.g. to pass along to a driver which needs to > > know the size of its register area. > > > > Update the functions to allow the size to be returned. For serial, record > > the information and provided it with the serial_info() call. > > > > A limitation still exists in that the size is not available when OF_LIVE > > is enabled, so take account of that in the tests. > > > > Signed-off-by: Simon Glass <s...@chromium.org> > > So on platforms that end up here, we see consistently: > eaidk-610-rk3399: all +224 spl/u-boot-spl:all +224 > spl/u-boot-spl:text +224 text +224 tpl/u-boot-tpl:all +224 > tpl/u-boot-tpl:text +224 > u-boot: add: 2/0, grow: 3/0 bytes: 224/0 (224) > function old new > delta > fdtdec_get_addr_size_auto_noparent - 124 > +124 > devfdt_get_addr_size_index - 72 > +72 > ns16550_serial_of_to_plat 316 328 > +12 > ns16550_serial_probe 132 140 > +8 > ns16550_serial_getinfo 84 92 > +8 > tpl-u-boot-tpl: add: 2/0, grow: 3/0 bytes: 224/0 (224) > function old new > delta > fdtdec_get_addr_size_auto_noparent - 124 > +124 > devfdt_get_addr_size_index - 72 > +72 > ns16550_serial_of_to_plat 316 328 > +12 > ns16550_serial_probe 132 140 > +8 > ns16550_serial_getinfo 84 92 > +8 > spl-u-boot-spl: add: 2/0, grow: 3/0 bytes: 224/0 (224) > function old new > delta > fdtdec_get_addr_size_auto_noparent - 124 > +124 > devfdt_get_addr_size_index - 72 > +72 > ns16550_serial_of_to_plat 316 328 > +12 > ns16550_serial_probe 132 140 > +8 > ns16550_serial_getinfo 84 92 > +8 > > Can we optimize this in any way? I'm less concerned with full U-Boot > growing by 224 bytes than I am by TPL growing by that much too.
One option would be to have two functions in each case, one for the address and one for the address + size. We do that in some other cases. I have to admit I somehow didn't notice this large size difference, although I knew it would have an impact...it is so strange how the compiler changes what functions end up in the image willy nilly. Regards, Simon