[Buildroot] [PATCH 3/4] boot/opensbi: add options to enable/disable image installation
Thomas Petazzoni
thomas.petazzoni at bootlin.com
Thu Apr 29 07:46:34 UTC 2021
Until now, whenever a BR2_TARGET_OPENSBI_PLAT value was specified,
opensbi.mk was assuming that both fw_jump and fw_dynamic would be
produced. However, this is not the case: the OpenSBI per-platform
config.mk can decide which image to build.
As an example, the config.mk for VIC7100-based BeagleV only enables
producing the fw_payload image.
This commit adds three options to enable the installation of images:
one for fw_jump, one for fw_dynamic, one for fw_payload.
The options for fw_jump and fw_dynamic are "default y" when
BR2_TARGET_OPENSBI_PLAT is not empty, to preserve existing behavior.
The option for fw_payload is forcefully selected when either Linux or
U-Boot are selected as payloads.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni at bootlin.com>
---
boot/opensbi/Config.in | 20 ++++++++++++++++++++
boot/opensbi/opensbi.mk | 16 ++++++++++------
2 files changed, 30 insertions(+), 6 deletions(-)
diff --git a/boot/opensbi/Config.in b/boot/opensbi/Config.in
index 236bf74a90..fb7c86d398 100644
--- a/boot/opensbi/Config.in
+++ b/boot/opensbi/Config.in
@@ -74,11 +74,30 @@ config BR2_TARGET_OPENSBI_PLAT
the platform specific static library libplatsbi.a and firmware
examples are built.
+config BR2_TARGET_OPENSBI_INSTALL_JUMP_IMG
+ bool "Install jump image"
+ default y if BR2_TARGET_OPENSBI_PLAT != ""
+ help
+ This installs the fw_jump image.
+
+config BR2_TARGET_OPENSBI_INSTALL_DYNAMIC_IMG
+ bool "Install fw_dynamic image"
+ default y if BR2_TARGET_OPENSBI_PLAT != ""
+ help
+ This installs the fw_dynamic image.
+
+config BR2_TARGET_OPENSBI_INSTALL_PAYLOAD_IMG
+ bool "Install fw_payload image"
+ help
+ This option enables the installation of the fw_paylaod
+ image.
+
config BR2_TARGET_OPENSBI_LINUX_PAYLOAD
bool "Include Linux as OpenSBI Payload"
depends on BR2_TARGET_OPENSBI_PLAT != ""
depends on BR2_LINUX_KERNEL
depends on BR2_LINUX_KERNEL_IMAGE
+ select BR2_TARGET_OPENSBI_INSTALL_PAYLOAD_IMG
help
Build OpenSBI with the Linux kernel as a Payload.
@@ -86,6 +105,7 @@ config BR2_TARGET_OPENSBI_UBOOT_PAYLOAD
bool "Include U-Boot as OpenSBI Payload"
depends on BR2_TARGET_OPENSBI_PLAT != ""
depends on BR2_TARGET_UBOOT
+ select BR2_TARGET_OPENSBI_INSTALL_PAYLOAD_IMG
help
Build OpenSBI with the U-Boot as a Payload.
diff --git a/boot/opensbi/opensbi.mk b/boot/opensbi/opensbi.mk
index 8ebe4566fd..ee562dff53 100644
--- a/boot/opensbi/opensbi.mk
+++ b/boot/opensbi/opensbi.mk
@@ -50,15 +50,19 @@ define OPENSBI_BUILD_CMDS
$(TARGET_MAKE_ENV) $(OPENSBI_MAKE_ENV) $(MAKE) -C $(@D)
endef
-ifneq ($(OPENSBI_PLAT),)
+ifeq ($(BR2_TARGET_OPENSBI_INSTALL_JUMP_IMG),y)
OPENSBI_INSTALL_IMAGES = YES
-OPENSBI_FW_IMAGES += jump dynamic
-ifeq ($(BR2_TARGET_OPENSBI_LINUX_PAYLOAD),y)
-OPENSBI_FW_IMAGES += payload
+OPENSBI_FW_IMAGES += jump
endif
-ifeq ($(BR2_TARGET_OPENSBI_UBOOT_PAYLOAD),y)
-OPENSBI_FW_IMAGES = payload
+
+ifeq ($(BR2_TARGET_OPENSBI_INSTALL_DYNAMIC_IMG),y)
+OPENSBI_INSTALL_IMAGES = YES
+OPENSBI_FW_IMAGES += dynamic
endif
+
+ifeq ($(BR2_TARGET_OPENSBI_INSTALL_PAYLOAD_IMG),y)
+OPENSBI_INSTALL_IMAGES = YES
+OPENSBI_FW_IMAGES += payload
endif
define OPENSBI_INSTALL_IMAGES_CMDS
--
2.30.2
More information about the buildroot
mailing list