opensbi: add package for RISC-V
OpenSBI is a form of a first-stage bootloader, which initializes certain parts of an SoC and then passes on control to the second stage bootloader i.e. an u-boot image. We're introducing the package with release v1.2, which provides SBI v0.3 and the SBI SRST extensions which helps to gracefully reboot/shutdown various HiFive-U SoCs. Tested on SiFive Unleashed and Unmatched boards. Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
This commit is contained in:
		
							
								
								
									
										63
									
								
								package/boot/opensbi/Makefile
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										63
									
								
								package/boot/opensbi/Makefile
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,63 @@ | ||||
| # SPDX-License-Identifier: GPL-2.0-only | ||||
| # | ||||
| # Copyright (C) 2022 OpenWrt.org | ||||
| # | ||||
|  | ||||
| include $(TOPDIR)/rules.mk | ||||
|  | ||||
| PKG_NAME:=opensbi | ||||
| PKG_RELEASE:=1.2 | ||||
|  | ||||
| PKG_SOURCE_PROTO:=git | ||||
| PKG_SOURCE_URL=https://github.com/riscv/opensbi | ||||
| PKG_SOURCE_DATE:=2022-12-24 | ||||
| PKG_SOURCE_VERSION:=6b5188ca14e59ce7bf71afe4e7d3d557c3d31bf8 | ||||
| PKG_MIRROR_HASH:=edcdd99da6c62975171981c0aa2b73a27091067da11ccd49816b5ad27d000858 | ||||
|  | ||||
| PKG_BUILD_DIR=$(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_VERSION) | ||||
|  | ||||
| PKG_TARGETS:=bin | ||||
| PKG_FLAGS:=nonshared | ||||
| PKG_LICENSE:=BSD-2-Clause | ||||
| PKG_LICENSE_FILES:=COPYING.BSD | ||||
| PKG_BUILD_PARALLEL:=1 | ||||
|  | ||||
| PKG_MAINTAINER:=Zoltan HERPAI <wigyori@uid0.hu> | ||||
|  | ||||
| include $(INCLUDE_DIR)/package.mk | ||||
|  | ||||
| define Package/opensbi | ||||
|     SECTION:=boot | ||||
|     CATEGORY:=Boot Loaders | ||||
|     DEPENDS:=@TARGET_sifiveu | ||||
|     URL:=https://github.com/riscv/opensbi/blob/master/README.md | ||||
|     VARIANT:=$(subst _,/,$(subst opensbi_,,$(1))) | ||||
|     TITLE:=OpenSBI generic | ||||
|     OPENSBI_IMAGE:= | ||||
|     PLAT:= | ||||
| endef | ||||
|  | ||||
| define Package/opensbi_generic | ||||
|   $(Package/opensbi) | ||||
|   TITLE:=OpenSBI generic | ||||
|   OPENSBI_IMAGE:=fw_dynamic.bin | ||||
|   PLAT:=generic | ||||
| endef | ||||
|  | ||||
| export GCC_HONOUR_COPTS=s | ||||
|  | ||||
| MAKE_VARS = \ | ||||
| 	CROSS_COMPILE="$(TARGET_CROSS)" | ||||
|  | ||||
| define Build/Compile | ||||
| 	$(eval $(Package/opensbi_$(BUILD_VARIANT))) \ | ||||
| 		+$(MAKE_VARS) $(MAKE) -C $(PKG_BUILD_DIR) \ | ||||
| 		PLATFORM=$(PLAT) | ||||
| endef | ||||
|  | ||||
| define Build/InstallDev | ||||
| 	$(INSTALL_DIR) $(STAGING_DIR_IMAGE) | ||||
| 	$(CP) $(PKG_BUILD_DIR)/build/platform/$(PLAT)/firmware/fw_dynamic.bin $(STAGING_DIR_IMAGE)/fw_dynamic-${BUILD_VARIANT}.bin | ||||
| endef | ||||
|  | ||||
| $(eval $(call BuildPackage,opensbi_generic)) | ||||
		Reference in New Issue
	
	Block a user
	 Zoltan HERPAI
					Zoltan HERPAI