From: Peter Korsgaard <peter@korsgaard.com>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH 1/4] boot/opensbi: add support for version configuration
Date: Fri, 30 Apr 2021 09:48:56 +0200 [thread overview]
Message-ID: <87a6pg8b6f.fsf@dell.be.48ers.dk> (raw)
In-Reply-To: <20210429074636.724046-2-thomas.petazzoni@bootlin.com> (Thomas Petazzoni's message of "Thu, 29 Apr 2021 09:46:32 +0200")
>>>>> "Thomas" == Thomas Petazzoni <thomas.petazzoni@bootlin.com> writes:
> OpenSBI contains platform-specific code, so very much like Linux,
> U-Boot or other bootloaders, using the upstream version of OpenSBI
> will very often not be sufficient.
> This commit therefore adds the possibility of specifying a custom
> version of OpenSBI, either custom from upstream, custom tarball, or
> custom from Git. Support for other version control systems has not
> been implemented for now, but could be added later if needed.
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
> ---
> boot/opensbi/Config.in | 51 +++++++++++++++++++++++++++++++++++++++++
> boot/opensbi/opensbi.mk | 19 ++++++++++++++-
> 2 files changed, 69 insertions(+), 1 deletion(-)
> diff --git a/boot/opensbi/Config.in b/boot/opensbi/Config.in
> index b9b0ace8af..83f40f04fa 100644
> --- a/boot/opensbi/Config.in
> +++ b/boot/opensbi/Config.in
> @@ -13,6 +13,57 @@ config BR2_TARGET_OPENSBI
> https://github.com/riscv/opensbi.git
> if BR2_TARGET_OPENSBI
> +choice
> + prompt "OpenSBI Version"
> + help
> + Select the specific OpenSBI version you want to use
> +
> +config BR2_TARGET_OPENSBI_LATEST_VERSION
> + bool "0.8"
> +
> +config BR2_TARGET_OPENSBI_CUSTOM_VERSION
> + bool "Custom version"
> + help
> + This option allows to use a specific official versions
> +
> +config BR2_TARGET_OPENSBI_CUSTOM_TARBALL
> + bool "Custom tarball"
> +
> +config BR2_TARGET_OPENSBI_CUSTOM_GIT
> + bool "Custom Git repository"
> +
> +endchoice
> +
> +config BR2_TARGET_OPENSBI_CUSTOM_VERSION_VALUE
> + string "OpenSBI version"
> + depends on BR2_TARGET_OPENSBI_CUSTOM_VERSION
> +
> +config BR2_TARGET_OPENSBI_CUSTOM_TARBALL_LOCATION
> + string "URL of custom OpenSBI tarball"
> + depends on BR2_TARGET_OPENSBI_CUSTOM_TARBALL
> +
> +if BR2_TARGET_OPENSBI_CUSTOM_GIT
> +
> +config BR2_TARGET_OPENSBI_CUSTOM_REPO_URL
> + string "URL of custom repository"
> +
> +config BR2_TARGET_OPENSBI_CUSTOM_REPO_VERSION
> + string "Custom repository version"
> + help
> + Revision to use in the typical format used by Git. E.G. a
> + sha id, a tag, branch, ..
> +
> +endif
> +
> +config BR2_TARGET_OPENSBI_VERSION
> + string
> + default "0.8" if BR2_TARGET_OPENSBI_LATEST_VERSION
> + default BR2_TARGET_OPENSBI_CUSTOM_VERSION_VALUE \
> + if BR2_TARGET_OPENSBI_CUSTOM_VERSION
> + default "custom" if BR2_TARGET_OPENSBI_CUSTOM_TARBALL
> + default BR2_TARGET_OPENSBI_CUSTOM_REPO_VERSION \
> + if BR2_TARGET_OPENSBI_CUSTOM_GIT
> +
> config BR2_TARGET_OPENSBI_PLAT
> string "OpenSBI Platform"
> default ""
> diff --git a/boot/opensbi/opensbi.mk b/boot/opensbi/opensbi.mk
> index 60b87c268d..250a6078af 100644
> --- a/boot/opensbi/opensbi.mk
> +++ b/boot/opensbi/opensbi.mk
> @@ -4,13 +4,30 @@
> #
> ################################################################################
> -OPENSBI_VERSION = 0.8
> +OPENSBI_VERSION = $(call qstrip,$(BR2_TARGET_OPENSBI_VERSION))
> +
> +ifeq ($(OPENSBI_VERSION),custom)
> +# Handle custom OpenSBI tarballs as specified by the configuration
> +OPENSBI_TARBALL = $(call qstrip,$(BR2_TARGET_OPENSBI_CUSTOM_TARBALL_LOCATION))
> +OPENSBI_SITE = $(patsubst %/,%,$(dir $(OPENSBI_TARBALL)))
> +OPENSBI_SOURCE = $(notdir $(OPENSBI_TARBALL))
> +else ifeq ($(BR2_TARGET_OPENSBI_CUSTOM_GIT),y)
> +OPENSBI_SITE = $(call qstrip,$(BR2_TARGET_OPENSBI_CUSTOM_REPO_URL))
> +OPENSBI_SITE_METHOD = git
> +else
> +# Handle official OpenSBI versions
> OPENSBI_SITE = $(call github,riscv,opensbi,v$(OPENSBI_VERSION))
> +endif
> +
> OPENSBI_LICENSE = BSD-2-Clause
> OPENSBI_LICENSE_FILES = COPYING.BSD
Maybe this should be inside the _LATEST_VERSION conditional in case the
license file ever changes, like we have done for the linux kernel?
But OK, that can be done later. Committed, thanks.
--
Bye, Peter Korsgaard
next prev parent reply other threads:[~2021-04-30 7:48 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-04-29 7:46 [Buildroot] [PATCH 0/4] Support for the Beagle-V platform Thomas Petazzoni
2021-04-29 7:46 ` [Buildroot] [PATCH 1/4] boot/opensbi: add support for version configuration Thomas Petazzoni
2021-04-29 12:45 ` Bin Meng
2021-04-30 7:48 ` Peter Korsgaard [this message]
2021-04-30 8:51 ` Drew Fustini
2021-04-30 8:56 ` Thomas Petazzoni
2021-04-29 7:46 ` [Buildroot] [PATCH 2/4] boot/opensbi: allow using U-Boot as a payload Thomas Petazzoni
2021-04-29 12:45 ` Bin Meng
2021-04-30 7:49 ` Peter Korsgaard
2021-04-29 7:46 ` [Buildroot] [PATCH 3/4] boot/opensbi: add options to enable/disable image installation Thomas Petazzoni
2021-04-29 12:39 ` Bin Meng
2021-04-29 7:46 ` [Buildroot] [PATCH 4/4] configs/beaglev_defconfig: new defconfig Thomas Petazzoni
2021-04-29 12:44 ` Bin Meng
2021-05-01 14:37 ` Frank Hunleth
2021-04-29 12:39 ` [Buildroot] [PATCH 0/4] Support for the Beagle-V platform Erico Nunes
2021-04-29 13:01 ` Thomas Petazzoni
2021-04-29 13:26 ` Erico Nunes
2021-04-29 13:48 ` Thomas Petazzoni
2021-04-29 13:52 ` Erico Nunes
2021-04-29 14:26 ` Thomas Petazzoni
2021-04-29 14:55 ` Erico Nunes
2021-04-30 0:35 ` Drew Fustini
2021-04-30 8:27 ` Drew Fustini
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87a6pg8b6f.fsf@dell.be.48ers.dk \
--to=peter@korsgaard.com \
--cc=buildroot@busybox.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox