
On Tue, Sep 26, 2023 at 05:37:32AM -0600, Simon Glass wrote:
Hi Tom,
On Mon, 25 Sept 2023 at 14:17, Tom Rini trini@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 sjg@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.
Yes, please take a look. But note that it's not arbitrary, setting aside the EFI application build, we garbage collect things that cannot be called :)