boot/opensbi: add support for version configuration
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> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This commit is contained in:
parent
bad244ea45
commit
5c7166d387
@ -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 ""
|
||||
|
@ -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
|
||||
OPENSBI_INSTALL_TARGET = NO
|
||||
OPENSBI_INSTALL_STAGING = YES
|
||||
|
||||
ifeq ($(BR2_TARGET_OPENSBI)$(BR2_TARGET_OPENSBI_LATEST_VERSION),y)
|
||||
BR_NO_CHECK_HASH_FOR += $(OPENSBI_SOURCE)
|
||||
endif
|
||||
|
||||
OPENSBI_MAKE_ENV = \
|
||||
CROSS_COMPILE=$(TARGET_CROSS)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user