[v2] boot/riscv-pk: Remove obselete bootloader
diff mbox series

Message ID 20190923200256.29967-1-alistair.francis@wdc.com
State Superseded
Headers show
Series
  • [v2] boot/riscv-pk: Remove obselete bootloader
Related show

Commit Message

Alistair Francis Sept. 23, 2019, 8:02 p.m. UTC
The RISCV Proxy Kernel (AKA BBL) isn't being used by most distros so has
very limited testing. It has been replaced by OpenSBI and been
deprecated for awhile, so let's just remove it.

Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
---
v2:
 - Remove package from DEVELOPERS
 - Add option to Config.in.legacy

 Config.in.legacy          |  7 +++++++
 DEVELOPERS                |  1 -
 boot/Config.in            |  1 -
 boot/riscv-pk/Config.in   | 17 -----------------
 boot/riscv-pk/riscv-pk.mk | 32 --------------------------------
 5 files changed, 7 insertions(+), 51 deletions(-)
 delete mode 100644 boot/riscv-pk/Config.in
 delete mode 100644 boot/riscv-pk/riscv-pk.mk

Comments

Thomas Petazzoni Sept. 28, 2019, 9:11 p.m. UTC | #1
On Mon, 23 Sep 2019 13:02:56 -0700
Alistair Francis <alistair.francis@wdc.com> wrote:

> The RISCV Proxy Kernel (AKA BBL) isn't being used by most distros so has
> very limited testing. It has been replaced by OpenSBI and been
> deprecated for awhile, so let's just remove it.
> 
> Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
> ---
> v2:
>  - Remove package from DEVELOPERS
>  - Add option to Config.in.legacy

I'd like to have a Acked-by from Mark Corbin on this patch. Mark ?

Thanks!

Thomas
Mark Corbin Oct. 7, 2019, 11:14 a.m. UTC | #2
Hello
 
On 28/09/2019 22:11, Thomas Petazzoni wrote:
> On Mon, 23 Sep 2019 13:02:56 -0700
> Alistair Francis <alistair.francis@wdc.com> wrote:
>
>> The RISCV Proxy Kernel (AKA BBL) isn't being used by most distros so has
>> very limited testing. It has been replaced by OpenSBI and been
>> deprecated for awhile, so let's just remove it.
>>
>> Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
>> ---
>> v2:
>>  - Remove package from DEVELOPERS
>>  - Add option to Config.in.legacy
> I'd like to have a Acked-by from Mark Corbin on this patch. Mark ?

I'm in two minds about removing the BBL bootloader at the moment...

...on one hand I can see that OpenSBI should be used for all RISC-V
projects going forward, but on the other hand there still seem to be a
number of RISC-V projects that are using riscv-pk /BBL (and Buildroot),
e.g. Ariane/OpenPiton, Shakti C-class and LowRISC (for Rocket core).
Keeping BBL support within Buildroot at least gives people a smoother
upgrade path, i.e. riscv-pk + Buildroot -> Buildroot (with integrated
riscv-pk) -> Buildroot (with integrated OpenSBI).

I know that most 'desktop' distros are moving, or are planning to move,
to OpenSBI, but I'm not so sure about the situation for people working
with softcores/FPGAs or more deeply embedded systems.

Thoughts?

Mark
Alistair Francis Oct. 7, 2019, 4:59 p.m. UTC | #3
On Mon, Oct 7, 2019 at 4:19 AM Mark Corbin <mark.corbin@embecosm.com> wrote:
>
> Hello
>
> On 28/09/2019 22:11, Thomas Petazzoni wrote:
> > On Mon, 23 Sep 2019 13:02:56 -0700
> > Alistair Francis <alistair.francis@wdc.com> wrote:
> >
> >> The RISCV Proxy Kernel (AKA BBL) isn't being used by most distros so has
> >> very limited testing. It has been replaced by OpenSBI and been
> >> deprecated for awhile, so let's just remove it.
> >>
> >> Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
> >> ---
> >> v2:
> >>  - Remove package from DEVELOPERS
> >>  - Add option to Config.in.legacy
> > I'd like to have a Acked-by from Mark Corbin on this patch. Mark ?
>
> I'm in two minds about removing the BBL bootloader at the moment...
>
> ...on one hand I can see that OpenSBI should be used for all RISC-V
> projects going forward, but on the other hand there still seem to be a
> number of RISC-V projects that are using riscv-pk /BBL (and Buildroot),
> e.g. Ariane/OpenPiton, Shakti C-class and LowRISC (for Rocket core).

OpenSBI supports Ariane: https://github.com/riscv/opensbi/tree/master/platform

Although buildroot doesn't have configs for all of these platforms.

> Keeping BBL support within Buildroot at least gives people a smoother
> upgrade path, i.e. riscv-pk + Buildroot -> Buildroot (with integrated
> riscv-pk) -> Buildroot (with integrated OpenSBI).

The main problem with keeping it is that it's not maintained and as
other software keeps moving forward there will be compatibility issues
that won't be obvious to people. For example some new kernel thing
that relies on the firmware to behave in some way and BBL won't do
that. As the SBI spec is updated this will also be an issue.

>
> I know that most 'desktop' distros are moving, or are planning to move,
> to OpenSBI, but I'm not so sure about the situation for people working
> with softcores/FPGAs or more deeply embedded systems.

Most distros in general have moved on, not just the traditional
desktop distros. SiFive have moved away from it and the last real
commit to the repo was in August.

We haven't removed it from any existing buildroot releases, so anyone
who has locked into a release can continue to use it. This will just
stop new projects from starting with it and help convince people to
swap.

Alistair

>
> Thoughts?
>
> Mark
>
> --
> Mark Corbin
> Embecosm Ltd.
> https://www.embecosm.com
>
> _______________________________________________
> buildroot mailing list
> buildroot@busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
Mark Corbin Oct. 8, 2019, 10:17 a.m. UTC | #4
Hello Alistair

On 07/10/2019 17:59, Alistair Francis wrote:
> On Mon, Oct 7, 2019 at 4:19 AM Mark Corbin <mark.corbin@embecosm.com> wrote:
>> Hello
>>
>> On 28/09/2019 22:11, Thomas Petazzoni wrote:
>>> On Mon, 23 Sep 2019 13:02:56 -0700
>>> Alistair Francis <alistair.francis@wdc.com> wrote:
>>>
>>>> The RISCV Proxy Kernel (AKA BBL) isn't being used by most distros so has
>>>> very limited testing. It has been replaced by OpenSBI and been
>>>> deprecated for awhile, so let's just remove it.
>>>>
>>>> Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
>>>> ---
>>>> v2:
>>>>  - Remove package from DEVELOPERS
>>>>  - Add option to Config.in.legacy
>>> I'd like to have a Acked-by from Mark Corbin on this patch. Mark ?
>> I'm in two minds about removing the BBL bootloader at the moment...
>>
>> ...on one hand I can see that OpenSBI should be used for all RISC-V
>> projects going forward, but on the other hand there still seem to be a
>> number of RISC-V projects that are using riscv-pk /BBL (and Buildroot),
>> e.g. Ariane/OpenPiton, Shakti C-class and LowRISC (for Rocket core).
> OpenSBI supports Ariane: https://github.com/riscv/opensbi/tree/master/platform
>
> Although buildroot doesn't have configs for all of these platforms.
>
>> Keeping BBL support within Buildroot at least gives people a smoother
>> upgrade path, i.e. riscv-pk + Buildroot -> Buildroot (with integrated
>> riscv-pk) -> Buildroot (with integrated OpenSBI).
> The main problem with keeping it is that it's not maintained and as
> other software keeps moving forward there will be compatibility issues
> that won't be obvious to people. For example some new kernel thing
> that relies on the firmware to behave in some way and BBL won't do
> that. As the SBI spec is updated this will also be an issue.
>
>> I know that most 'desktop' distros are moving, or are planning to move,
>> to OpenSBI, but I'm not so sure about the situation for people working
>> with softcores/FPGAs or more deeply embedded systems.
> Most distros in general have moved on, not just the traditional
> desktop distros. SiFive have moved away from it and the last real
> commit to the repo was in August.
>
> We haven't removed it from any existing buildroot releases, so anyone
> who has locked into a release can continue to use it. This will just
> stop new projects from starting with it and help convince people to
> swap.
>
> Alistair

Thanks for the update. Makes sense to remove it.

Please could you re-send with tabs instead of spaces in Config.in.legacy.

Thanks

Mark

Patch
diff mbox series

diff --git a/Config.in.legacy b/Config.in.legacy
index b8b550e5ee..2bdc223ff9 100644
--- a/Config.in.legacy
+++ b/Config.in.legacy
@@ -146,6 +146,13 @@  endif
 
 comment "Legacy options removed in 2019.11"
 
+config BR2_TARGET_RISCV_PK
+       bool "riscv-pk was removed"
+       select BR2_LEGACY
+       help
+         The RISC-V Proxy Kernel (pk) and Berkley Boot Loader (BBL) have
+         been replaced with OpenSBI.
+
 config BR2_PACKAGE_USTR
 	bool "ustr package removed"
 	select BR2_LEGACY
diff --git a/DEVELOPERS b/DEVELOPERS
index b427fd92ae..0f19e1c2eb 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -1469,7 +1469,6 @@  F:	arch/arch.mk.riscv
 F:	arch/Config.in.riscv
 F:	board/qemu/riscv32-virt/
 F:	board/qemu/riscv64-virt/
-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 ac1a997f00..b3adbfc8bc 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 cf9c5cd8ee..0000000000
--- a/boot/riscv-pk/Config.in
+++ /dev/null
@@ -1,17 +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 (deprecated)"
-	depends on BR2_riscv
-	depends on BR2_LINUX_KERNEL
-	help
-	  The RISC-V Proxy Kernel (pk) and Boot Loader (BBL) have
-	  been deprecated. Please use OpenSBI instead.
-
-	  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))