On Wed, Jun 18, 2025 at 10:00:34AM +0200, Javier Martinez Canillas wrote:
> This patch series implements support for the EFI_PARTITION_INFO_PROTOCOL,
> to provide cached partition information for GPT partition types.
> 
> The EFI specification mentions that the protocol can understand legacy MBR
> partition types, but that's for backward compatibility and not implemented
> by this series. It can be added as a follow-up if needed, to make it fully
> compliant with the spec.
> 
> Patch #1 moves the logic to get a GPT partition table entry to a helper
> part_get_gpt_pte() function.
> 
> Patch #2 exposes that helper function to be used by the efi_loader.
> 
> Patch #3 implements the actual protocol support using the mentioned helper
> to get the GPT partitions table entries.
> 
> Patch #4 extends the existing block io EFI selftest to also check for some
> cached data provided by the partition info protocol.
> 
> This is a v2 of the series, the first version can be found here:
> 
> https://lists.denx.de/pipermail/u-boot/2025-June/592237.html
> 
> The EFI_PARTITION_INFO_PROTOCOL implementation is added unconditionally,
> because the u-boot-size-test.sh reports the code increase is negligible:
> 
>     ./u-boot-size-test.sh qemu_arm64_lwip --all
>     ...
>     01: Merge tag 'u-boot-dfu-20250616' of 
> https://source.denx.de/u-boot/custodians/u-boot-dfu
>     02: disk: efi: Move logic to get a GPT entry into a helper function
>     03: disk: efi: expose the part_get_gpt_pte() helper function
>     04: efi_loader: disk: add EFI_PARTITION_INFO_PROTOCOL support
>     05: efi_selftest: Add basic partition info check to block io test
>         5    0    0 /5              qemu_arm64_lwip
>     Completed: 5 total built, 5 newly), duration 0:01:32, rate 0.05
>     /tmp/qemu_arm64_lwip/add-efi-part-info-proto-v2/boards.cfg is up to date. 
> Nothing to do.
>     Summary of 5 commits for 1 boards (1 thread, 8 jobs per thread)
>     01: Merge tag 'u-boot-dfu-20250616' of 
> https://source.denx.de/u-boot/custodians/u-boot-dfu
>     02: disk: efi: Move logic to get a GPT entry into a helper function
>        aarch64: (for 1/1 boards) all -64.0 text -64.0
>                 qemu_arm64_lwip: all -64 text -64
>                    u-boot: add: 0/0, grow: 0/-1 bytes: 0/-72 (-72)
>                      function                                   old     new   
> delta
>                      part_get_info_efi                          468     396   
>   -72
>     03: disk: efi: expose the part_get_gpt_pte() helper function
>        aarch64: (for 1/1 boards) all +32.0 text +32.0
>                 qemu_arm64_lwip: all +32 text +32
>                    u-boot: add: 1/0, grow: 0/-1 bytes: 200/-164 (36)
>                      function                                   old     new   
> delta
>                      part_get_gpt_pte                             -     200   
>  +200
>                      part_get_info_efi                          396     232   
>  -164
>     04: efi_loader: disk: add EFI_PARTITION_INFO_PROTOCOL support
>        aarch64: (for 1/1 boards) all +144.0 rodata +16.0 text +128.0
>                 qemu_arm64_lwip: all +144 rodata +16 text +128
>                    u-boot: add: 0/0, grow: 1/0 bytes: 148/0 (148)
>                      function                                   old     new   
> delta
>                      static.efi_disk_add_dev                    636     784   
>  +148
>     05: efi_selftest: Add basic partition info check to block io test
>        aarch64: (for 1/1 boards) all +563.0 rodata +179.0 text +384.0
>                 qemu_arm64_lwip: all +563 rodata +179 text +384
>                    u-boot: add: 1/0, grow: 1/0 bytes: 384/0 (384)
>                      function                                   old     new   
> delta
>                      execute                                  36428   36796   
>  +368
>                      partition_info_guid                          -      16   
>   +16
>     (no errors to report)

Thanks for digging at the size part here. I don't think that amount of
growth justifies a new Kconfig option.

-- 
Tom

Attachment: signature.asc
Description: PGP signature

Reply via email to