1 # Disable debug packages, we don't need them.
2 %global debug_package %{nil}
4 # Make sure we use the cross-binary to strip.
5 %global __strip riscv64-linux-gnu-strip
7 # Avoid this error caused by cross-compilation and packaging the
8 # result in a noarch package:
9 # error: Arch dependent binaries in noarch package
10 %global _binaries_in_noarch_packages_terminate_build 0
12 %global forgeurl https://github.com/riscv/opensbi
13 %global commit 791953030836d39687688a8e7f1a3e708892cfa1
19 Summary: RISC-V Open Source Supervisor Binary Interface
23 Source: %{forgesource}
25 # The resulting binary contains RISC-V firmware intended to be used
26 # under virtualization, so it can be used on any architecture.
29 BuildRequires: gcc-riscv64-linux-gnu
30 BuildRequires: binutils-riscv64-linux-gnu
31 BuildRequires: findutils
33 BuildRequires: coreutils
36 BuildRequires: python3
42 RISC-V Open Source Supervisor Binary Interface. This is for QEMU
52 # Build 32 bit firmware.
55 CROSS_COMPILE=riscv64-linux-gnu- \
57 PLATFORM_RISCV_XLEN=32
58 # Build 64 bit firmware.
61 CROSS_COMPILE=riscv64-linux-gnu- \
65 # Install 32 bit firmware.
68 CROSS_COMPILE=riscv64-linux-gnu- \
70 PLATFORM_RISCV_XLEN=32 \
72 INSTALL_LIB_PATH=%{_libdir} \
73 INSTALL_FIRMWARE_PATH=%{_datadir}/%{name}
74 pushd %{buildroot}%{_datadir}/%{name}/generic/firmware
75 for f in fw_*.bin fw_*.elf; do
80 # Install 64 bit firmware.
83 CROSS_COMPILE=riscv64-linux-gnu- \
86 INSTALL_LIB_PATH=%{_libdir} \
87 INSTALL_FIRMWARE_PATH=%{_datadir}/%{name}
88 pushd %{buildroot}%{_datadir}/%{name}/generic/firmware
89 for f in fw_*.bin fw_*.elf; do
94 # Remove development libraries and headers for the time being.
95 rm -rfv %{buildroot}%{_libdir}
96 rm -rfv %{buildroot}/include
98 # Remove the example/testing payloads.
99 rm -rfv %{buildroot}%{_datadir}/%{name}/*/firmware/payloads
105 %dir %{_datadir}/%{name}
106 %{_datadir}/%{name}/*
110 * Tue May 23 2023 Richard W.M. Jones <rjones@redhat.com> 1.2
112 - Convert to use cross-compilation
113 - Fix dates in changelog
115 * Tue May 02 2023 David Abdurachmanov <davidlt@rivosinc.com> v1.2.116.2023.05.02.7919530-1
116 - Sync with upstream master branch (v1.2-116-g7919530)
118 * Thu Jan 26 2023 David Abdurachmanov <davidlt@rivosinc.com> v1.2.0.2023.01.26.c6b5188c-1
119 - Use v1.2 (last stable release for now)
121 * Wed Jan 25 2023 David Abdurachmanov <davidlt@rivosinc.com> v1.2.34.2023.01.25.c45992c-1
122 - Sync with upstream master branch (v1.2-34-gc45992c)
124 * Thu Nov 17 2022 David Abdurachmanov <davidlt@rivosinc.com> v1.1.85.2022.11.17.14f5c4c-1
125 - Sync with upstream master branch (v1.1-85-g14f5c4c)
127 * Mon Jun 27 2022 David Abdurachmanov <davidlt@rivosinc.com> v1.1.0.2022.06.27.4489876-1
128 - Sync with upstream master branch (v1.1 tag)
130 * Thu Jun 23 2022 David Abdurachmanov <davidlt@rivosinc.com> v1.0.99.2022.06.23.6f1fe98-1
131 - Sync with upstream master branch
133 * Thu Jun 02 2022 David Abdurachmanov <davidlt@rivosinc.com> v1.0.92.2022.06.13.9dc5ec5-1
134 - Sync with upstream master branch
136 * Thu Jun 02 2022 David Abdurachmanov <davidlt@rivosinc.com> v1.0.81.2022.06.02.cb8271c-1
137 - Sync with upstream master branch
139 * Sat Nov 06 2021 David Abdurachmanov <david.abdurachmanov@gmail.com> v0.9.163.2021.11.06.0979ffd-1
140 - Sync with upstream master branch
142 * Fri Oct 08 2021 David Abdurachmanov <david.abdurachmanov@gmail.com> v0.9.152.2021.10.08.754d511-1
143 - Sync with upstream master branch
145 * Tue Aug 17 2021 David Abdurachmanov <david.abdurachmanov@gmail.com> v0.9.134.2021.08.17.7aa6c9a-1
146 - Sync with upstream master branch
147 - Upstream support for SiFive HiFive Unmatched
149 * Wed Apr 21 2021 David Abdurachmanov <david.abdurachmanov@gmail.com> v0.9.35.2021.04.21.f41196a
152 * Wed Jan 06 2021 David Abdurachmanov <david.abdurachmanov@sifive.com> v0.8.81.2021.01.06.7dcb1e1
154 - Switch to generic platform
155 - Remove all others special Fedora variants of firmware
156 - Remove development library and documentation (not needed)
157 - Remove example payloads