Ver Fonte

boot/arm-trusted-firmware: introduce a choice to select the BL33 image

We now have 3 different options to select an image as the BL33 stage
of TF-A: Barebox, U-Boot or EDK2. Technically speaking, they are
mutually exclusive: they all specify a BL33= variable to the TF-A
build, and TF-A can only support a single BL33 stage.

However, as pointed out by Vincent Fazio in [0] there is nothing that
prevents selecting Barebox, U-Boot and EDK2 together, even though it
doesn't make sense.

To address this, this commit introduces a choice...endchoice block,
into which the Barebox, U-Boot and EDK2 options are moved. An
additional "none" option is added, which is the default, and
corresponds to not having any BL33 image.

Since we keep the same name for the options, no legacy handling is
necessary.

[0] https://lore.kernel.org/buildroot/PH1P110MB1603A4AA1638838DA56BAA069FDA9@PH1P110MB1603.NAMP110.PROD.OUTLOOK.COM/

Reported-by: Vincent Fazio <vfazio@xes-inc.com>
Cc: Vincent Fazio <vfazio@xes-inc.com>
Cc: Casey Reeves <casey@xogium.me>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Tested-by: Vincent Fazio <vfazio@xes-inc.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Thomas Petazzoni há 2 anos atrás
pai
commit
4a71356832
1 ficheiros alterados com 34 adições e 23 exclusões
  1. 34 23
      boot/arm-trusted-firmware/Config.in

+ 34 - 23
boot/arm-trusted-firmware/Config.in

@@ -129,8 +129,17 @@ config BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL32_OPTEE
 
 
 endchoice
 endchoice
 
 
+choice
+	prompt "BL33"
+	default BR2_TARGET_ARM_TRUSTED_FIRMWARE_NONE_AS_BL33
+	help
+	  Select the image to include as BL33.
+
+config BR2_TARGET_ARM_TRUSTED_FIRMWARE_NONE_AS_BL33
+	bool "None"
+
 config BR2_TARGET_ARM_TRUSTED_FIRMWARE_BAREBOX_AS_BL33
 config BR2_TARGET_ARM_TRUSTED_FIRMWARE_BAREBOX_AS_BL33
-	bool "Use Barebox as BL33"
+	bool "Barebox"
 	depends on BR2_TARGET_BAREBOX
 	depends on BR2_TARGET_BAREBOX
 	help
 	help
 	  This option allows to embed the Barebox generic BL33 image in
 	  This option allows to embed the Barebox generic BL33 image in
@@ -139,6 +148,30 @@ config BR2_TARGET_ARM_TRUSTED_FIRMWARE_BAREBOX_AS_BL33
 	  variable pointing to the generic bl33 image is passed
 	  variable pointing to the generic bl33 image is passed
 	  when building ATF.
 	  when building ATF.
 
 
+config BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_AS_BL33
+	bool "U-Boot"
+	depends on BR2_TARGET_UBOOT
+	help
+	  This option allows to embed u-boot.bin as the BL33 part of
+	  the ARM Trusted Firmware. It ensures that the u-boot package
+	  gets built before ATF, and that the appropriate BL33
+	  variable pointing to u-boot.bin is passed when building ATF.
+
+config BR2_TARGET_ARM_TRUSTED_FIRMWARE_EDK2_AS_BL33
+	bool "EDK2"
+	depends on BR2_TARGET_EDK2
+	help
+	  This option allows to embed EDK2 as the BL33 part of
+	  the ARM Trusted Firmware. It ensures that the EDK2 package
+	  gets built before ATF, and that the appropriate BL33
+	  variable pointing to the EDK2 is passed when building ATF.
+
+	  Do not choose this option if you intend to build ATF and EDK2
+	  for the 'qemu_sbsa' platform. In this case, due to the EDK2
+	  build system, the dependency between ATF and EDK is reversed.
+
+endchoice
+
 if BR2_TARGET_ARM_TRUSTED_FIRMWARE_BAREBOX_AS_BL33
 if BR2_TARGET_ARM_TRUSTED_FIRMWARE_BAREBOX_AS_BL33
 
 
 config BR2_TARGET_ARM_TRUSTED_FIRMWARE_BAREBOX_BL33_IMAGE
 config BR2_TARGET_ARM_TRUSTED_FIRMWARE_BAREBOX_BL33_IMAGE
@@ -150,15 +183,6 @@ config BR2_TARGET_ARM_TRUSTED_FIRMWARE_BAREBOX_BL33_IMAGE
 
 
 endif
 endif
 
 
-config BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_AS_BL33
-	bool "Use U-Boot as BL33"
-	depends on BR2_TARGET_UBOOT
-	help
-	  This option allows to embed u-boot.bin as the BL33 part of
-	  the ARM Trusted Firmware. It ensures that the u-boot package
-	  gets built before ATF, and that the appropriate BL33
-	  variable pointing to u-boot.bin is passed when building ATF.
-
 if BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_AS_BL33
 if BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_AS_BL33
 
 
 config BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_BL33_IMAGE
 config BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_BL33_IMAGE
@@ -170,19 +194,6 @@ config BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_BL33_IMAGE
 
 
 endif
 endif
 
 
-config BR2_TARGET_ARM_TRUSTED_FIRMWARE_EDK2_AS_BL33
-	bool "Use EDK2 as BL33"
-	depends on BR2_TARGET_EDK2
-	help
-	  This option allows to embed EDK2 as the BL33 part of
-	  the ARM Trusted Firmware. It ensures that the EDK2 package
-	  gets built before ATF, and that the appropriate BL33
-	  variable pointing to the EDK2 is passed when building ATF.
-
-	  Do not choose this option if you intend to build ATF and EDK2
-	  for the 'qemu_sbsa' platform. In this case, due to the EDK2
-	  build system, the dependency between ATF and EDK is reversed.
-
 config BR2_TARGET_ARM_TRUSTED_FIRMWARE_RCW
 config BR2_TARGET_ARM_TRUSTED_FIRMWARE_RCW
 	bool "Include NXP RCW in BL2"
 	bool "Include NXP RCW in BL2"
 	depends on BR2_PACKAGE_HOST_QORIQ_RCW
 	depends on BR2_PACKAGE_HOST_QORIQ_RCW