[Buildroot] [PATCH v2 1/2] boot/opensbi: Add support for including Linux payload

Alistair Francis alistair23 at gmail.com
Tue Aug 6 00:09:59 UTC 2019


On Sat, Aug 3, 2019 at 1:37 AM Thomas Petazzoni
<thomas.petazzoni at bootlin.com> wrote:
>
> Hello,
>
> On Mon, 22 Jul 2019 13:44:46 -0700
> Alistair Francis <alistair.francis at wdc.com> wrote:
>
> > +if BR2_TARGET_OPENSBI_PLAT != ""
>
> I move this if to a simple "depends on" under the
> BR2_TARGET_OPENSBI_LINUX_PAYLOAD optio.
>
> > +config BR2_TARGET_OPENSBI_LINUX_PAYLOAD
> > +     bool "Include Linux as OpenSBI Payload"
> > +     depends on BR2_LINUX_KERNEL
> > +     depends on BR2_LINUX_KERNEL_IMAGE
> > +     depends on !BR2_TARGET_OPENSBI_LIBRARY_ONLY
>
> This option doesn't exist anywhere, so I dropped this depends on.
>
> > +OPENSBI_LINUX_PAYLOAD = $(call qstrip,$(BR2_TARGET_OPENSBI_LINUX_PAYLOAD))
>
> qstrip is only useful for string options. For boolean options, it's
> useless, so I dropped this and simply used
> BR2_TARGET_OPENSBI_LINUX_PAYLOAD everywhere.
>
> > +ifeq ($(OPENSBI_LINUX_PAYLOAD), y)
>
> No space before "y".
>
> > +OPENSBI_DEPENDENCIES = linux
>
> += for this addition, so that we don't mistakenly overwrite any
> previous dependency that might have been added.
>
> > +OPENSBI_MAKE_ENV += FW_PAYLOAD_PATH="$(BINARIES_DIR)/Image"
> > +endif
> > +
> >  define OPENSBI_BUILD_CMDS
> >       $(TARGET_MAKE_ENV) $(OPENSBI_MAKE_ENV) $(MAKE) -C $(@D)
> >  endef
> >
> >  ifneq ($(OPENSBI_PLAT),)
> >  OPENSBI_INSTALL_IMAGES = YES
> > +OPENSBI_INSTALL_IMAGES_CMDS_PLAT = \
> > +     $(INSTALL) -m 0644 -D $(@D)/build/platform/$(OPENSBI_PLAT)/firmware/fw_jump.bin $(BINARIES_DIR)/fw_jump.bin; \
> > +     $(INSTALL) -m 0644 -D $(@D)/build/platform/$(OPENSBI_PLAT)/firmware/fw_jump.elf $(BINARIES_DIR)/fw_jump.elf; \
> > +     $(INSTALL) -m 0644 -D $(@D)/build/platform/$(OPENSBI_PLAT)/firmware/fw_dynamic.bin $(BINARIES_DIR)/fw_dynamic.bin; \
> > +     $(INSTALL) -m 0644 -D $(@D)/build/platform/$(OPENSBI_PLAT)/firmware/fw_dynamic.elf $(BINARIES_DIR)/fw_dynamic.elf;
> > +endif
> > +
> > +ifeq ($(OPENSBI_LINUX_PAYLOAD), y)
> > +OPENSBI_INSTALL_IMAGES_CMDS_PAYLOAD = \
> > +     $(INSTALL) -m 0644 -D $(@D)/build/platform/$(OPENSBI_PLAT)/firmware/fw_payload.bin $(BINARIES_DIR)/fw_payload.bin; \
> > +     $(INSTALL) -m 0644 -D $(@D)/build/platform/$(OPENSBI_PLAT)/firmware/fw_payload.elf $(BINARIES_DIR)/fw_payload.elf;
> > +endif
> > +
> >  define OPENSBI_INSTALL_IMAGES_CMDS
> > -     $(INSTALL) -m 0644 -D $(@D)/build/platform/$(OPENSBI_PLAT)/firmware/fw_jump.bin $(BINARIES_DIR)/fw_jump.bin
> > -     $(INSTALL) -m 0644 -D $(@D)/build/platform/$(OPENSBI_PLAT)/firmware/fw_jump.elf $(BINARIES_DIR)/fw_jump.elf
> > -     $(INSTALL) -m 0644 -D $(@D)/build/platform/$(OPENSBI_PLAT)/firmware/fw_dynamic.bin $(BINARIES_DIR)/fw_dynamic.bin
> > -     $(INSTALL) -m 0644 -D $(@D)/build/platform/$(OPENSBI_PLAT)/firmware/fw_dynamic.elf $(BINARIES_DIR)/fw_dynamic.elf
> > +     $(OPENSBI_INSTALL_IMAGES_CMDS_PLAT)
> > +     $(OPENSBI_INSTALL_IMAGES_CMDS_PAYLOAD)
>
> As suggested by Yann, I've refactored all of that with a loop over a
> OPENSBI_FW_IMAGES variable that contains jump, dynamic and optionally
> payload.
>
> I fixed up these different aspects, and merged the patch. See the final
> commit at:
>
>   https://git.buildroot.org/buildroot/commit/?id=9b5b7165deb91bad3cdb1ea0dd8f940eff75f3a9

Thanks for that Thomas. Sorry I didn't update it myself, I was travelling.

Alistair

>
> Thanks!
>
> Thomas
> --
> Thomas Petazzoni, CTO, Bootlin
> Embedded Linux and Kernel engineering
> https://bootlin.com



More information about the buildroot mailing list