Message ID | 20210502212141.934384-2-thomas.petazzoni@bootlin.com |
---|---|
State | Changes Requested |
Headers | show |
Series | Support for the BeagleV platform | expand |
On Mon, May 3, 2021 at 7:23 AM Thomas Petazzoni <thomas.petazzoni@bootlin.com> wrote: > > 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@bootlin.com> Reviewed-by: Alistair Francis <alistair.francis@wdc.com> Alistair > --- > 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..55a644506f 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_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_JUMP_IMG > + bool "Install fw_jump image" > + default y if BR2_TARGET_OPENSBI_PLAT != "" > + help > + This installs the fw_jump 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..f8cbbb8fcc 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_DYNAMIC_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 += dynamic > endif > -ifeq ($(BR2_TARGET_OPENSBI_UBOOT_PAYLOAD),y) > -OPENSBI_FW_IMAGES = payload > + > +ifeq ($(BR2_TARGET_OPENSBI_INSTALL_JUMP_IMG),y) > +OPENSBI_INSTALL_IMAGES = YES > +OPENSBI_FW_IMAGES += jump > 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 > > _______________________________________________ > buildroot mailing list > buildroot@busybox.net > http://lists.busybox.net/mailman/listinfo/buildroot
On Mon, May 3, 2021 at 5:21 AM Thomas Petazzoni <thomas.petazzoni@bootlin.com> wrote: > > 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@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..55a644506f 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_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_JUMP_IMG > + bool "Install fw_jump image" > + default y if BR2_TARGET_OPENSBI_PLAT != "" > + help > + This installs the fw_jump image. > + > +config BR2_TARGET_OPENSBI_INSTALL_PAYLOAD_IMG > + bool "Install fw_payload image" > + help > + This option enables the installation of the fw_paylaod > + image. nits: this help message should be in consistent with the other 2 > + > 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..f8cbbb8fcc 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_DYNAMIC_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 += dynamic > endif > -ifeq ($(BR2_TARGET_OPENSBI_UBOOT_PAYLOAD),y) > -OPENSBI_FW_IMAGES = payload > + > +ifeq ($(BR2_TARGET_OPENSBI_INSTALL_JUMP_IMG),y) > +OPENSBI_INSTALL_IMAGES = YES > +OPENSBI_FW_IMAGES += jump > endif > + > +ifeq ($(BR2_TARGET_OPENSBI_INSTALL_PAYLOAD_IMG),y) > +OPENSBI_INSTALL_IMAGES = YES > +OPENSBI_FW_IMAGES += payload > endif > > define OPENSBI_INSTALL_IMAGES_CMDS > -- Otherwise LGTM: Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
diff --git a/boot/opensbi/Config.in b/boot/opensbi/Config.in index 236bf74a90..55a644506f 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_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_JUMP_IMG + bool "Install fw_jump image" + default y if BR2_TARGET_OPENSBI_PLAT != "" + help + This installs the fw_jump 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..f8cbbb8fcc 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_DYNAMIC_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 += dynamic endif -ifeq ($(BR2_TARGET_OPENSBI_UBOOT_PAYLOAD),y) -OPENSBI_FW_IMAGES = payload + +ifeq ($(BR2_TARGET_OPENSBI_INSTALL_JUMP_IMG),y) +OPENSBI_INSTALL_IMAGES = YES +OPENSBI_FW_IMAGES += jump endif + +ifeq ($(BR2_TARGET_OPENSBI_INSTALL_PAYLOAD_IMG),y) +OPENSBI_INSTALL_IMAGES = YES +OPENSBI_FW_IMAGES += payload endif define OPENSBI_INSTALL_IMAGES_CMDS
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@bootlin.com> --- boot/opensbi/Config.in | 20 ++++++++++++++++++++ boot/opensbi/opensbi.mk | 16 ++++++++++------ 2 files changed, 30 insertions(+), 6 deletions(-)