mirror of
https://git.FreeBSD.org/ports.git
synced 2024-11-26 00:55:14 +00:00
sysutils/opensbi: update to v0.9
This change adds a patch to disable the PMP for the sifive/fu540 target, which is a workaround to a PMP errata in the chip. The OpenSBI update itself is quite minor. Bump the dependent port, sysutils/u-boot-sifive-fu540. Reviewed by: lwhsu, kp Approved by: lwhsu (ports) Tested by: Klaus Küchemann (maciphone2@googlemail.com) Differential Revision: https://reviews.freebsd.org/D28471
This commit is contained in:
parent
30d4b929fd
commit
cd45ca02e4
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=564036
@ -2,7 +2,7 @@
|
||||
|
||||
PORTNAME= opensbi
|
||||
DISTVERSIONPREFIX=v
|
||||
DISTVERSION= 0.8
|
||||
DISTVERSION= 0.9
|
||||
CATEGORIES= sysutils
|
||||
|
||||
MAINTAINER= mhorne@FreeBSD.org
|
||||
|
@ -1,3 +1,3 @@
|
||||
TIMESTAMP = 1592679770
|
||||
SHA256 (riscv-opensbi-v0.8_GH0.tar.gz) = 17e048ac765e92e15f7436b604452614cf88dc2bcbbaab18cdc024f3fdd4c575
|
||||
SIZE (riscv-opensbi-v0.8_GH0.tar.gz) = 172450
|
||||
TIMESTAMP = 1610993580
|
||||
SHA256 (riscv-opensbi-v0.9_GH0.tar.gz) = 60f995cb3cd03e3cf5e649194d3395d0fe67499fd960a36cf7058a4efde686f0
|
||||
SIZE (riscv-opensbi-v0.9_GH0.tar.gz) = 189688
|
||||
|
@ -1,11 +0,0 @@
|
||||
--- Makefile.orig 2019-10-09 02:45:51 UTC
|
||||
+++ Makefile
|
||||
@@ -180,7 +180,7 @@ ASFLAGS += $(firmware-asflags-y)
|
||||
|
||||
ARFLAGS = rcs
|
||||
|
||||
-ELFFLAGS += -Wl,--build-id=none -N -static-libgcc -lgcc
|
||||
+ELFFLAGS += -Wl,--build-id=none -N -static-libgcc
|
||||
ELFFLAGS += $(platform-ldflags-y)
|
||||
ELFFLAGS += $(firmware-ldflags-y)
|
||||
|
19
sysutils/opensbi/files/patch-lib_sbi_sbi__hart.c
Normal file
19
sysutils/opensbi/files/patch-lib_sbi_sbi__hart.c
Normal file
@ -0,0 +1,19 @@
|
||||
--- lib/sbi/sbi_hart.c.orig 2021-01-30 20:30:32 UTC
|
||||
+++ lib/sbi/sbi_hart.c
|
||||
@@ -188,6 +188,16 @@ int sbi_hart_pmp_configure(struct sbi_scratch *scratch
|
||||
if (!pmp_count)
|
||||
return 0;
|
||||
|
||||
+ /*
|
||||
+ * Disable the PMP for the sifive/fu540 platform, required to work
|
||||
+ * around a hardware errata.
|
||||
+ */
|
||||
+ extern int need_pmp_war;
|
||||
+ if (need_pmp_war) {
|
||||
+ pmp_set(0, PMP_R | PMP_W | PMP_X, -1, __riscv_xlen);
|
||||
+ return 0;
|
||||
+ }
|
||||
+
|
||||
pmp_gran_log2 = log2roundup(sbi_hart_pmp_granularity(scratch));
|
||||
pmp_bits = sbi_hart_pmp_addrbits(scratch) - 1;
|
||||
pmp_addr_max = (1UL << pmp_bits) | ((1UL << pmp_bits) - 1);
|
11
sysutils/opensbi/files/patch-platform_generic_platform.c
Normal file
11
sysutils/opensbi/files/patch-platform_generic_platform.c
Normal file
@ -0,0 +1,11 @@
|
||||
--- platform/generic/platform.c.orig 2021-01-30 20:29:48 UTC
|
||||
+++ platform/generic/platform.c
|
||||
@@ -22,6 +22,8 @@
|
||||
#include <sbi_utils/ipi/fdt_ipi.h>
|
||||
#include <sbi_utils/reset/fdt_reset.h>
|
||||
|
||||
+int need_pmp_war = FALSE;
|
||||
+
|
||||
extern const struct platform_override sifive_fu540;
|
||||
|
||||
static const struct platform_override *special_platforms[] = {
|
@ -0,0 +1,10 @@
|
||||
--- platform/sifive/fu540/platform.c.orig 2021-01-30 20:28:07 UTC
|
||||
+++ platform/sifive/fu540/platform.c
|
||||
@@ -20,6 +20,7 @@
|
||||
#include <sbi_utils/sys/clint.h>
|
||||
|
||||
/* clang-format off */
|
||||
+int need_pmp_war = TRUE;
|
||||
|
||||
#define FU540_HART_COUNT 5
|
||||
|
@ -11,6 +11,7 @@ include/sbi/sbi_bitops.h
|
||||
include/sbi/sbi_console.h
|
||||
include/sbi/sbi_const.h
|
||||
include/sbi/sbi_csr_detect.h
|
||||
include/sbi/sbi_domain.h
|
||||
include/sbi/sbi_ecall.h
|
||||
include/sbi/sbi_ecall_interface.h
|
||||
include/sbi/sbi_emulate_csr.h
|
||||
@ -36,6 +37,7 @@ include/sbi/sbi_trap.h
|
||||
include/sbi/sbi_types.h
|
||||
include/sbi/sbi_unpriv.h
|
||||
include/sbi/sbi_version.h
|
||||
include/sbi_utils/fdt/fdt_domain.h
|
||||
include/sbi_utils/fdt/fdt_fixup.h
|
||||
include/sbi_utils/fdt/fdt_helper.h
|
||||
include/sbi_utils/ipi/fdt_ipi.h
|
||||
|
@ -2,6 +2,8 @@
|
||||
|
||||
MASTERDIR= ${.CURDIR}/../u-boot-master
|
||||
|
||||
U_BOOT_SLAVE_PORTREVISION_2020.10= 1
|
||||
|
||||
MODEL= sifive-fu540
|
||||
BOARD_CONFIG= sifive_fu540_defconfig
|
||||
FAMILY= sifive
|
||||
|
Loading…
Reference in New Issue
Block a user