* [Buildroot] [PATCH v2 1/2] boot/opensbi: Upgrade from v0.3 to v0.4
@ 2019-07-09 22:36 Alistair Francis
2019-07-09 22:36 ` [Buildroot] [PATCH v2 2/2] boot/opensbi: Implement a choice for the OpenSBI Platform Alistair Francis
` (2 more replies)
0 siblings, 3 replies; 6+ messages in thread
From: Alistair Francis @ 2019-07-09 22:36 UTC (permalink / raw)
To: buildroot
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
---
v2:
- Install both bin and elf for fw_dynamic.*
boot/opensbi/opensbi.hash | 2 +-
boot/opensbi/opensbi.mk | 4 +++-
2 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/boot/opensbi/opensbi.hash b/boot/opensbi/opensbi.hash
index d8449f573a..21f802bcbc 100644
--- a/boot/opensbi/opensbi.hash
+++ b/boot/opensbi/opensbi.hash
@@ -1,2 +1,2 @@
# locally computed
-sha256 07f18b73abf3b85aabe5bead19a923716c100d30eb58033459f39c3a224be300 opensbi-0.3.tar.gz
+sha256 d3060bf51af00204ce90fc73106955c694463b59a5b81be64cf780cd32743abf opensbi-0.4.tar.gz
diff --git a/boot/opensbi/opensbi.mk b/boot/opensbi/opensbi.mk
index 45a3fc4859..83552a5442 100644
--- a/boot/opensbi/opensbi.mk
+++ b/boot/opensbi/opensbi.mk
@@ -4,7 +4,7 @@
#
################################################################################
-OPENSBI_VERSION = 0.3
+OPENSBI_VERSION = 0.4
OPENSBI_SITE = $(call github,riscv,opensbi,v$(OPENSBI_VERSION))
OPENSBI_LICENSE = BSD-2-Clause
OPENSBI_LICENSE_FILES = COPYING.BSD
@@ -28,6 +28,8 @@ OPENSBI_INSTALL_IMAGES = YES
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
endef
endif
--
2.22.0
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [Buildroot] [PATCH v2 2/2] boot/opensbi: Implement a choice for the OpenSBI Platform
2019-07-09 22:36 [Buildroot] [PATCH v2 1/2] boot/opensbi: Upgrade from v0.3 to v0.4 Alistair Francis
@ 2019-07-09 22:36 ` Alistair Francis
2019-07-20 19:50 ` Thomas Petazzoni
2019-07-15 20:21 ` [Buildroot] [PATCH v2 1/2] boot/opensbi: Upgrade from v0.3 to v0.4 Alistair Francis
2019-07-20 19:47 ` Thomas Petazzoni
2 siblings, 1 reply; 6+ messages in thread
From: Alistair Francis @ 2019-07-09 22:36 UTC (permalink / raw)
To: buildroot
Instead of requiring users to look at the OpenSBI source code and
determine the platform string let's use a choice option to allow them to
specify the platform they would like to target. We still allow them to
specify a custom string if they want to.
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
---
boot/opensbi/Config.in | 25 ++++++++++++++++++++++---
boot/opensbi/opensbi.mk | 11 ++++++++++-
configs/qemu_riscv32_virt_defconfig | 2 +-
configs/qemu_riscv64_virt_defconfig | 2 +-
4 files changed, 34 insertions(+), 6 deletions(-)
diff --git a/boot/opensbi/Config.in b/boot/opensbi/Config.in
index 5f3cc13312..997c79f9b0 100644
--- a/boot/opensbi/Config.in
+++ b/boot/opensbi/Config.in
@@ -13,13 +13,32 @@ config BR2_TARGET_OPENSBI
https://github.com/riscv/opensbi.git
if BR2_TARGET_OPENSBI
-config BR2_TARGET_OPENSBI_PLAT
- string "OpenSBI Platform"
- default ""
+
+choice
+ prompt "OpenSBI Platform"
help
Specifies the OpenSBI platform to build. If no platform is
specified only the OpenSBI platform independent static
library libsbi.a is built. If a platform is specified then
the platform specific static library libplatsbi.a and firmware
examples are built.
+
+config BR2_TARGET_OPENSBI_LIBRARY_ONLY
+ bool "Library Only"
+
+config BR2_TARGET_OPENSBI_QEMU_VIRT
+ bool "QEMU Virt"
+
+config BR2_TARGET_OPENSBI_QEMU_SIFIVE_U
+ bool "QEMU SiFive U"
+
+config BR2_TARGET_OPENSBI_CUSTOM_PLATFORM
+ bool "Custom Platform"
+
+endchoice
+
+config BR2_TARGET_OPENSBI_CUSTOM_PLATFORM_VALUE
+ string "OpenSBI Platform String"
+ depends on BR2_TARGET_OPENSBI_CUSTOM_PLATFORM
+
endif
diff --git a/boot/opensbi/opensbi.mk b/boot/opensbi/opensbi.mk
index 83552a5442..78da22aa1f 100644
--- a/boot/opensbi/opensbi.mk
+++ b/boot/opensbi/opensbi.mk
@@ -14,7 +14,16 @@ OPENSBI_INSTALL_STAGING = YES
OPENSBI_MAKE_ENV = \
CROSS_COMPILE=$(TARGET_CROSS)
-OPENSBI_PLAT = $(call qstrip,$(BR2_TARGET_OPENSBI_PLAT))
+ifeq ($(BR2_TARGET_OPENSBI_QEMU_VIRT),y)
+OPENSBI_PLAT = qemu/virt
+else ifeq ($(BR2_TARGET_OPENSBI_QEMU_SIFIVE_U),y)
+OPENSBI_PLAT = qemu/sifive_u
+else ifeq ($(BR2_TARGET_OPENSBI_SIFIVE_FU540),y)
+OPENSBI_PLAT = sifive/fu540
+else ifeq ($(BR2_TARGET_OPENSBI_CUSTOM_PLATFORM),y)
+OPENSBI_PLAT = $(call qstrip,$(BR2_TARGET_OPENSBI_CUSTOM_PLATFORM_VALUE))
+endif
+
ifneq ($(OPENSBI_PLAT),)
OPENSBI_MAKE_ENV += PLATFORM=$(OPENSBI_PLAT)
endif
diff --git a/configs/qemu_riscv32_virt_defconfig b/configs/qemu_riscv32_virt_defconfig
index a1a8c5fd20..ebe3e72135 100644
--- a/configs/qemu_riscv32_virt_defconfig
+++ b/configs/qemu_riscv32_virt_defconfig
@@ -24,4 +24,4 @@ BR2_LINUX_KERNEL_IMAGE=y
# Bootloader
BR2_TARGET_OPENSBI=y
BR2_TARGET_OPENSBI_USE_PLAT=y
-BR2_TARGET_OPENSBI_PLAT="qemu/virt"
+BR2_TARGET_OPENSBI_QEMU_VIRT=y
diff --git a/configs/qemu_riscv64_virt_defconfig b/configs/qemu_riscv64_virt_defconfig
index c0b1a43925..16e0e332f7 100644
--- a/configs/qemu_riscv64_virt_defconfig
+++ b/configs/qemu_riscv64_virt_defconfig
@@ -23,4 +23,4 @@ BR2_LINUX_KERNEL_IMAGE=y
# Bootloader
BR2_TARGET_OPENSBI=y
BR2_TARGET_OPENSBI_USE_PLAT=y
-BR2_TARGET_OPENSBI_PLAT="qemu/virt"
+BR2_TARGET_OPENSBI_QEMU_VIRT=y
--
2.22.0
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [Buildroot] [PATCH v2 2/2] boot/opensbi: Implement a choice for the OpenSBI Platform
2019-07-09 22:36 ` [Buildroot] [PATCH v2 2/2] boot/opensbi: Implement a choice for the OpenSBI Platform Alistair Francis
@ 2019-07-20 19:50 ` Thomas Petazzoni
2019-07-22 20:45 ` Alistair Francis
0 siblings, 1 reply; 6+ messages in thread
From: Thomas Petazzoni @ 2019-07-20 19:50 UTC (permalink / raw)
To: buildroot
Hello Alistair,
On Tue, 9 Jul 2019 15:36:49 -0700
Alistair Francis <alistair.francis@wdc.com> wrote:
> Instead of requiring users to look at the OpenSBI source code and
> determine the platform string let's use a choice option to allow them to
> specify the platform they would like to target. We still allow them to
> specify a custom string if they want to.
>
> Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
I have not applied this patch, because we don't do this anywhere in
Buildroot. For things like U-Boot, Linux or Barebox, the name of the
platform/configuration is always a free-form string. Having an explicit
list of platform is difficult to maintain as the list of platforms can
be huge. Also the list of supported platforms can differ from one
version to the other (in the case where the version itself is
configurable). In addition, how do you draw the line between platforms
that should be explicitly listed in the Config.in choice, and the ones
for which users should use the free-form string option.
But again, the main reason for rejecting is that in exactly this
situation in other packages in Buildroot, we use a simple free-form
string.
Best regards,
Thomas
--
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Buildroot] [PATCH v2 2/2] boot/opensbi: Implement a choice for the OpenSBI Platform
2019-07-20 19:50 ` Thomas Petazzoni
@ 2019-07-22 20:45 ` Alistair Francis
0 siblings, 0 replies; 6+ messages in thread
From: Alistair Francis @ 2019-07-22 20:45 UTC (permalink / raw)
To: buildroot
On Sat, Jul 20, 2019 at 12:50 PM Thomas Petazzoni
<thomas.petazzoni@bootlin.com> wrote:
>
> Hello Alistair,
>
> On Tue, 9 Jul 2019 15:36:49 -0700
> Alistair Francis <alistair.francis@wdc.com> wrote:
>
> > Instead of requiring users to look at the OpenSBI source code and
> > determine the platform string let's use a choice option to allow them to
> > specify the platform they would like to target. We still allow them to
> > specify a custom string if they want to.
> >
> > Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
>
> I have not applied this patch, because we don't do this anywhere in
> Buildroot. For things like U-Boot, Linux or Barebox, the name of the
> platform/configuration is always a free-form string. Having an explicit
> list of platform is difficult to maintain as the list of platforms can
> be huge. Also the list of supported platforms can differ from one
> version to the other (in the case where the version itself is
> configurable). In addition, how do you draw the line between platforms
> that should be explicitly listed in the Config.in choice, and the ones
> for which users should use the free-form string option.
>
> But again, the main reason for rejecting is that in exactly this
> situation in other packages in Buildroot, we use a simple free-form
> string.
No worries. As that was the main problem Mark had with the HiFive
Unleashed patches these should be good to merge.
I just sent a v2 with an updated readme to the list.
Alistair
>
> Best regards,
>
> Thomas
> --
> Thomas Petazzoni, CTO, Bootlin
> Embedded Linux and Kernel engineering
> https://bootlin.com
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Buildroot] [PATCH v2 1/2] boot/opensbi: Upgrade from v0.3 to v0.4
2019-07-09 22:36 [Buildroot] [PATCH v2 1/2] boot/opensbi: Upgrade from v0.3 to v0.4 Alistair Francis
2019-07-09 22:36 ` [Buildroot] [PATCH v2 2/2] boot/opensbi: Implement a choice for the OpenSBI Platform Alistair Francis
@ 2019-07-15 20:21 ` Alistair Francis
2019-07-20 19:47 ` Thomas Petazzoni
2 siblings, 0 replies; 6+ messages in thread
From: Alistair Francis @ 2019-07-15 20:21 UTC (permalink / raw)
To: buildroot
On Tue, Jul 9, 2019 at 3:49 PM Alistair Francis
<alistair.francis@wdc.com> wrote:
>
> Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
Ping?
Alistair
> ---
> v2:
> - Install both bin and elf for fw_dynamic.*
>
> boot/opensbi/opensbi.hash | 2 +-
> boot/opensbi/opensbi.mk | 4 +++-
> 2 files changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/boot/opensbi/opensbi.hash b/boot/opensbi/opensbi.hash
> index d8449f573a..21f802bcbc 100644
> --- a/boot/opensbi/opensbi.hash
> +++ b/boot/opensbi/opensbi.hash
> @@ -1,2 +1,2 @@
> # locally computed
> -sha256 07f18b73abf3b85aabe5bead19a923716c100d30eb58033459f39c3a224be300 opensbi-0.3.tar.gz
> +sha256 d3060bf51af00204ce90fc73106955c694463b59a5b81be64cf780cd32743abf opensbi-0.4.tar.gz
> diff --git a/boot/opensbi/opensbi.mk b/boot/opensbi/opensbi.mk
> index 45a3fc4859..83552a5442 100644
> --- a/boot/opensbi/opensbi.mk
> +++ b/boot/opensbi/opensbi.mk
> @@ -4,7 +4,7 @@
> #
> ################################################################################
>
> -OPENSBI_VERSION = 0.3
> +OPENSBI_VERSION = 0.4
> OPENSBI_SITE = $(call github,riscv,opensbi,v$(OPENSBI_VERSION))
> OPENSBI_LICENSE = BSD-2-Clause
> OPENSBI_LICENSE_FILES = COPYING.BSD
> @@ -28,6 +28,8 @@ OPENSBI_INSTALL_IMAGES = YES
> 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
> endef
> endif
>
> --
> 2.22.0
>
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Buildroot] [PATCH v2 1/2] boot/opensbi: Upgrade from v0.3 to v0.4
2019-07-09 22:36 [Buildroot] [PATCH v2 1/2] boot/opensbi: Upgrade from v0.3 to v0.4 Alistair Francis
2019-07-09 22:36 ` [Buildroot] [PATCH v2 2/2] boot/opensbi: Implement a choice for the OpenSBI Platform Alistair Francis
2019-07-15 20:21 ` [Buildroot] [PATCH v2 1/2] boot/opensbi: Upgrade from v0.3 to v0.4 Alistair Francis
@ 2019-07-20 19:47 ` Thomas Petazzoni
2 siblings, 0 replies; 6+ messages in thread
From: Thomas Petazzoni @ 2019-07-20 19:47 UTC (permalink / raw)
To: buildroot
On Tue, 9 Jul 2019 15:36:48 -0700
Alistair Francis <alistair.francis@wdc.com> wrote:
> Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
> ---
> v2:
> - Install both bin and elf for fw_dynamic.*
Applied to master, thanks.
Thomas
--
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2019-07-22 20:45 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-07-09 22:36 [Buildroot] [PATCH v2 1/2] boot/opensbi: Upgrade from v0.3 to v0.4 Alistair Francis
2019-07-09 22:36 ` [Buildroot] [PATCH v2 2/2] boot/opensbi: Implement a choice for the OpenSBI Platform Alistair Francis
2019-07-20 19:50 ` Thomas Petazzoni
2019-07-22 20:45 ` Alistair Francis
2019-07-15 20:21 ` [Buildroot] [PATCH v2 1/2] boot/opensbi: Upgrade from v0.3 to v0.4 Alistair Francis
2019-07-20 19:47 ` Thomas Petazzoni
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.