part: efi: Add a Kconfig option for the number of partition entries
authorMaxime Ripard <maxime.ripard@free-electrons.com>
Tue, 14 Nov 2017 19:50:04 +0000 (20:50 +0100)
committerMaxime Ripard <maxime.ripard@free-electrons.com>
Thu, 7 Dec 2017 15:24:31 +0000 (16:24 +0100)
On some SoCs, the SPL needs to be located right in the middle of the GPT
partition entries.

One way to work around that is to create partition entries for a smaller
number of partitions to accomodate with where the SPL will be. Create a
Kconfig option to allow to do that.

Reviewed-by: Andre Przywara <andre.przywara@arm.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
disk/Kconfig
include/part_efi.h

index 93965621206574056260c1f56870619372648ba9..f82beef6e68923776932fd6856308af25be19348 100644 (file)
@@ -78,6 +78,19 @@ config EFI_PARTITION
          common when EFI is the bootloader.  Note 2TB partition limit;
          see disk/part_efi.c
 
+config EFI_PARTITION_ENTRIES_NUMBERS
+       int "Number of the EFI partition entries"
+       depends on EFI_PARTITION
+       default 128
+       help
+         Specify the number of partition entries in the GPT. This is
+         meant to allow less than the standard specifies for devices
+         that might need to place their first-stage bootloader in the
+         middle of a regular GPT.
+
+         If unsure, leave at 128 entries, which is the standard
+         number.
+
 config EFI_PARTITION_ENTRIES_OFF
         int "Offset (in bytes) of the EFI partition entries"
        depends on EFI_PARTITION
index 31e6bc6e140fe2956b15da1012b74be71bf422c0..4c8f6cc473c8fd02c8140629c8fa8c2462a87fb1 100644 (file)
@@ -27,7 +27,7 @@
 #define GPT_HEADER_SIGNATURE 0x5452415020494645ULL
 #define GPT_HEADER_REVISION_V1 0x00010000
 #define GPT_PRIMARY_PARTITION_TABLE_LBA 1ULL
-#define GPT_ENTRY_NUMBERS              128
+#define GPT_ENTRY_NUMBERS              CONFIG_EFI_PARTITION_ENTRIES_NUMBERS
 #define GPT_ENTRY_SIZE                 128
 
 #define PARTITION_SYSTEM_GUID \