[3/3] boot: riscv: Remove riscv-pk
diff mbox series

Message ID 20190315230540.4311-3-alistair.francis@wdc.com
State Changes Requested
Headers show
Series
  • [1/3] arch: riscv: Add a RISC-V Platform option
Related show

Commit Message

Alistair Francis March 15, 2019, 11:06 p.m. UTC
Now that OpenSBI is supported remove BBL (riscv-pk).

Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
---
 DEVELOPERS                |  1 -
 boot/Config.in            |  1 -
 boot/riscv-pk/Config.in   | 14 --------------
 boot/riscv-pk/riscv-pk.mk | 32 --------------------------------
 4 files changed, 48 deletions(-)
 delete mode 100644 boot/riscv-pk/Config.in
 delete mode 100644 boot/riscv-pk/riscv-pk.mk

Comments

Thomas Petazzoni March 16, 2019, 7:43 a.m. UTC | #1
Hello,

On Fri, 15 Mar 2019 23:06:39 +0000
Alistair Francis <Alistair.Francis@wdc.com> wrote:

> Now that OpenSBI is supported remove BBL (riscv-pk).
> 
> Signed-off-by: Alistair Francis <alistair.francis@wdc.com>

This commit is not enough: you do not update the
qemu_riscv64_virt_defconfig and qemu_riscv32_virt_defconfig, which use
riscv-pk. They should be converted to use opensbi instead, and of
course be runtime tested under Qemu.

And of course, it'd be nice if Mark Corbin, who added riscv-pk, could
give his opinion about the replacement of riscv-pk by opensbi.

Thanks!

Thomas
Mark Corbin March 18, 2019, 10:45 a.m. UTC | #2
Hello

On 16/03/2019 07:43, Thomas Petazzoni wrote:
> Hello,
>
> On Fri, 15 Mar 2019 23:06:39 +0000
> Alistair Francis <Alistair.Francis@wdc.com> wrote:
>
>> Now that OpenSBI is supported remove BBL (riscv-pk).
>>
>> Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
> This commit is not enough: you do not update the
> qemu_riscv64_virt_defconfig and qemu_riscv32_virt_defconfig, which use
> riscv-pk. They should be converted to use opensbi instead, and of
> course be runtime tested under Qemu.
>
> And of course, it'd be nice if Mark Corbin, who added riscv-pk, could
> give his opinion about the replacement of riscv-pk by opensbi.

I don't think that removing support for riscv-pk at this stage is
desirable. I imagine that the majority (if not all) RISC-V systems have
been using riscv-pk (BBL) up until this point, including the HiFive
Unleashed board, so I expect that there are a lot of systems and people
with time invested in using it. That said, I always imagined a migration
path from riscv-pk to an alternative such as U-Boot (or OpenSBI or
whatever).

As the first release of OpenSBI was only at the end of January 2019, I
would strongly suggest that we keep riscv-pk for a period of time
(possibly commenting the intention to eventually deprecate it in favour
of OpenSBI). This will give OpenSBI time to mature and users of riscv-pk
a period to evaluate it and consider migrating.

I do think that it would be a good start to test the existing QEMU virt
configurations with OpenSBI and then update them as necessary.

Regards

Mark

>
> Thanks!
>
> Thomas
Alistair Francis March 18, 2019, 5:46 p.m. UTC | #3
On Sat, Mar 16, 2019 at 12:43 AM Thomas Petazzoni
<thomas.petazzoni@bootlin.com> wrote:
>
> Hello,
>
> On Fri, 15 Mar 2019 23:06:39 +0000
> Alistair Francis <Alistair.Francis@wdc.com> wrote:
>
> > Now that OpenSBI is supported remove BBL (riscv-pk).
> >
> > Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
>
> This commit is not enough: you do not update the
> qemu_riscv64_virt_defconfig and qemu_riscv32_virt_defconfig, which use
> riscv-pk. They should be converted to use opensbi instead, and of
> course be runtime tested under Qemu.

Ah ok. I didn't think about the defconfigs. I'll update those as well
as the instructions.

Alistair

>
> And of course, it'd be nice if Mark Corbin, who added riscv-pk, could
> give his opinion about the replacement of riscv-pk by opensbi.
>
> Thanks!
>
> Thomas
> --
> Thomas Petazzoni, CTO, Bootlin
> Embedded Linux and Kernel engineering
> https://bootlin.com
Alistair Francis March 18, 2019, 5:51 p.m. UTC | #4
On Mon, Mar 18, 2019 at 3:45 AM Mark Corbin <mark.corbin@embecosm.com> wrote:
>
> Hello
>
> On 16/03/2019 07:43, Thomas Petazzoni wrote:
> > Hello,
> >
> > On Fri, 15 Mar 2019 23:06:39 +0000
> > Alistair Francis <Alistair.Francis@wdc.com> wrote:
> >
> >> Now that OpenSBI is supported remove BBL (riscv-pk).
> >>
> >> Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
> > This commit is not enough: you do not update the
> > qemu_riscv64_virt_defconfig and qemu_riscv32_virt_defconfig, which use
> > riscv-pk. They should be converted to use opensbi instead, and of
> > course be runtime tested under Qemu.
> >
> > And of course, it'd be nice if Mark Corbin, who added riscv-pk, could
> > give his opinion about the replacement of riscv-pk by opensbi.
>
> I don't think that removing support for riscv-pk at this stage is
> desirable. I imagine that the majority (if not all) RISC-V systems have
> been using riscv-pk (BBL) up until this point, including the HiFive
> Unleashed board, so I expect that there are a lot of systems and people
> with time invested in using it. That said, I always imagined a migration
> path from riscv-pk to an alternative such as U-Boot (or OpenSBI or
> whatever).

I agree that up until OpenSBI almost all boards would have been using
BBL. The problem with BBL is that people were never investing time
into it. There was never a formal release and the code base is
difficult to maintain. I think that the sooner we can replace it the
better. Yocto/OpenEmbedded has fully swapped and Fedora is looking at
swapping as well.

OpenSBI allows us to not compile the kernel into the boot loader when
booting with QEMU. It also allows us to boot directly into u-boot on
QEMU and on hardware (with u-boot 2019.04). I think leaving it in
confuses people who might continue to use it as that is what they have
seen before, even though it is a bad choice.

>
> As the first release of OpenSBI was only at the end of January 2019, I
> would strongly suggest that we keep riscv-pk for a period of time
> (possibly commenting the intention to eventually deprecate it in favour
> of OpenSBI). This will give OpenSBI time to mature and users of riscv-pk
> a period to evaluate it and consider migrating.
>
> I do think that it would be a good start to test the existing QEMU virt
> configurations with OpenSBI and then update them as necessary.

Yep, I'll update the configurations in v2 as well as the
documentation. OpenSBI is well tested on QEMU in general.

Alistair

>
> Regards
>
> Mark
>
> >
> > Thanks!
> >
> > Thomas
>
> --
> Mark Corbin
> Embecosm Ltd.
> https://www.embecosm.com
Mark Corbin March 19, 2019, 10:35 a.m. UTC | #5
Hello Alistair

On 18/03/2019 17:51, Alistair Francis wrote:
> On Mon, Mar 18, 2019 at 3:45 AM Mark Corbin <mark.corbin@embecosm.com> wrote:
>> Hello
>>
>> On 16/03/2019 07:43, Thomas Petazzoni wrote:
>>> Hello,
>>>
>>> On Fri, 15 Mar 2019 23:06:39 +0000
>>> Alistair Francis <Alistair.Francis@wdc.com> wrote:
>>>
>>>> Now that OpenSBI is supported remove BBL (riscv-pk).
>>>>
>>>> Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
>>> This commit is not enough: you do not update the
>>> qemu_riscv64_virt_defconfig and qemu_riscv32_virt_defconfig, which use
>>> riscv-pk. They should be converted to use opensbi instead, and of
>>> course be runtime tested under Qemu.
>>>
>>> And of course, it'd be nice if Mark Corbin, who added riscv-pk, could
>>> give his opinion about the replacement of riscv-pk by opensbi.
>> I don't think that removing support for riscv-pk at this stage is
>> desirable. I imagine that the majority (if not all) RISC-V systems have
>> been using riscv-pk (BBL) up until this point, including the HiFive
>> Unleashed board, so I expect that there are a lot of systems and people
>> with time invested in using it. That said, I always imagined a migration
>> path from riscv-pk to an alternative such as U-Boot (or OpenSBI or
>> whatever).
> I agree that up until OpenSBI almost all boards would have been using
> BBL. The problem with BBL is that people were never investing time
> into it. There was never a formal release and the code base is
> difficult to maintain. I think that the sooner we can replace it the
> better. Yocto/OpenEmbedded has fully swapped and Fedora is looking at
> swapping as well.
I'd forgotten that riscv-pk support is of course in the current LTS
release for those who want it...so I think that it does make sense to
drop it at this point.

Regards

Mark

Patch
diff mbox series

diff --git a/DEVELOPERS b/DEVELOPERS
index a8978856ad..246bb8b471 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -1384,7 +1384,6 @@  F:	arch/Config.in.riscv
 F:	board/qemu/riscv32-virt/
 F:	board/qemu/riscv64-virt/
 F:	boot/opensbi/
-F:	boot/riscv-pk/
 F:	configs/qemu_riscv32_virt_defconfig
 F:	configs/qemu_riscv64_virt_defconfig
 
diff --git a/boot/Config.in b/boot/Config.in
index 97bd3de6e9..228868de8c 100644
--- a/boot/Config.in
+++ b/boot/Config.in
@@ -15,7 +15,6 @@  source "boot/mv-ddr-marvell/Config.in"
 source "boot/mxs-bootlets/Config.in"
 source "boot/optee-os/Config.in"
 source "boot/opensbi/Config.in"
-source "boot/riscv-pk/Config.in"
 source "boot/s500-bootloader/Config.in"
 source "boot/shim/Config.in"
 source "boot/syslinux/Config.in"
diff --git a/boot/riscv-pk/Config.in b/boot/riscv-pk/Config.in
deleted file mode 100644
index b4fe36590f..0000000000
--- a/boot/riscv-pk/Config.in
+++ /dev/null
@@ -1,14 +0,0 @@ 
-comment "riscv-pk needs a Linux kernel to be built"
-	depends on BR2_riscv
-	depends on !BR2_LINUX_KERNEL
-
-config BR2_TARGET_RISCV_PK
-	bool "riscv-pk"
-	depends on BR2_riscv
-	depends on BR2_LINUX_KERNEL
-	help
-	  The RISC-V Proxy Kernel (pk) package contains the Berkeley
-	  Boot Loader (BBL) which has been designed to boot a Linux
-	  kernel on a RISC-V processor.
-
-	  https://github.com/riscv/riscv-pk.git
diff --git a/boot/riscv-pk/riscv-pk.mk b/boot/riscv-pk/riscv-pk.mk
deleted file mode 100644
index 0ab5879ee4..0000000000
--- a/boot/riscv-pk/riscv-pk.mk
+++ /dev/null
@@ -1,32 +0,0 @@ 
-################################################################################
-#
-# riscv-pk
-#
-################################################################################
-
-RISCV_PK_VERSION = 706cc77c369fd3e4734b5a6aa813d421347f1814
-RISCV_PK_SITE = git://github.com/riscv/riscv-pk.git
-RISCV_PK_LICENSE = BSD-3-Clause
-RISCV_PK_LICENSE_FILES = LICENSE
-RISCV_PK_DEPENDENCIES = linux
-RISCV_PK_SUBDIR = build
-RISCV_PK_INSTALL_IMAGES = YES
-
-define RISCV_PK_CONFIGURE_CMDS
-	mkdir -p $(@D)/build
-	(cd $(@D)/build; \
-		$(TARGET_CONFIGURE_OPTS) ../configure \
-		--host=$(GNU_TARGET_NAME) \
-		--with-payload=$(BINARIES_DIR)/vmlinux \
-	)
-endef
-
-define RISCV_PK_BUILD_CMDS
-	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/build bbl
-endef
-
-define RISCV_PK_INSTALL_IMAGES_CMDS
-	$(INSTALL) -D -m 0755 $(@D)/build/bbl $(BINARIES_DIR)/bbl
-endef
-
-$(eval $(generic-package))