This patch series extends the EFI_PARTITION_INFO_PROTOCOL implementation to also support MBR partition tables schemes.
When EFI_PARTITION_INFO_PROTOCOL was implented, only GPT support was added but this can cause compatibility issues with platforms whose boot ROM only supports MBR. This series add support for MBR partition tables to the protocol, making U-Boot compatible with systems that require a legacy MBR table. This is a second version of the patches that addresses issues pointed out by Heinrich Schuchardt (thanks!). The first version can be found here: https://lists.denx.de/pipermail/u-boot/2025-June/592644.html Patches #1 to #3 are preparatory changes to remove duplicated definitions of data structures to store the MBR records. Patch #4 just documents the part_get_info_extended() helper function and patch #5 refactors this function to also optionally return the MBR record data. Patch #6 adds the MBR support to the EFI_PARTITION_INFO_PROTOCOL implementation and patch #7 enhances the protocol selftest, to check that the partition record data is correctly filled. Changes in v2: - Add Tom Rini Rini's Reviewed-by tags to patches 1-3. - Document part_get_info_extended() helper function. - Split partition library and EFI changes in separate patches. - Add static MBR data in EFI block device test and compare the queried data. Javier Martinez Canillas (7): disk: part_dos: Move header to the main include directory disk: part_dos: Align dos_partition_t with struct partition disk: part_efi: Remove redundant struct partition definition disk: part_dos: Document part_get_info_extended() helper function disk: part_dos: Refactor to allow retrieving raw MBR partition data efi_loader: disk: Extend EFI_PARTITION_INFO_PROTOCOL to support MBR efi_selftest: Enhance MBR test for PARTITION_INFO_PROTOCOL disk/part_dos.c | 91 +++++++++++++------- disk/part_efi.c | 4 +- include/part.h | 14 +++ {disk => include}/part_dos.h | 6 +- include/part_efi.h | 19 +--- lib/efi_loader/efi_disk.c | 9 +- lib/efi_selftest/efi_selftest_block_device.c | 26 ++++++ 7 files changed, 113 insertions(+), 56 deletions(-) rename {disk => include}/part_dos.h (87%) -- 2.53.0 base-commit: f9ffeec4bdcf1da655a0ffea482062adde78fee8 branch: add-mbr-efi-part-info-proto-v2

