Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package ovmf for openSUSE:Factory checked in at 2023-07-05 15:30:28 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/ovmf (Old) and /work/SRC/openSUSE:Factory/.ovmf.new.23466 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ovmf" Wed Jul 5 15:30:28 2023 rev:91 rq:1096693 version:202302 Changes: -------- --- /work/SRC/openSUSE:Factory/ovmf/ovmf.changes 2023-03-22 22:29:14.173768803 +0100 +++ /work/SRC/openSUSE:Factory/.ovmf.new.23466/ovmf.changes 2023-07-05 15:30:30.602548502 +0200 @@ -1,0 +2,8 @@ +Fri Jun 30 13:08:37 UTC 2023 - Callum Farmer <[email protected]> + +- Initial riscv64 support + * Update descriptors.tar.xz + * Enable on TW/16 (riscv64 toolchain not available on 15) +- Add ovmf-riscv64-missing-memcpy.patch: fixes undefined memcpy + +------------------------------------------------------------------- New: ---- ovmf-riscv64-missing-memcpy.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ ovmf.spec ++++++ --- /var/tmp/diff_new_pack.dcQPMk/_old 2023-07-05 15:30:31.582554317 +0200 +++ /var/tmp/diff_new_pack.dcQPMk/_new 2023-07-05 15:30:31.586554340 +0200 @@ -20,6 +20,11 @@ %undefine _build_create_debug %global openssl_version 1.1.1n %global softfloat_version b64af41c3276f +%if 0%{?suse_version} < 1599 +%bcond_with build_riscv64 +%else +%bcond_without build_riscv64 +%endif Name: ovmf Version: 202302 @@ -64,6 +69,7 @@ Patch14: %{name}-Revert-OvmfPkg-OvmfXen-Set-PcdFSBClock.patch # Bug 1209266 - OVMF firmware hangs when booting SEV or SEV-ES guest Patch15: %{name}-Revert-OvmfPkg-PlatformPei-Update-ReserveEmuVariable.patch +Patch16: ovmf-riscv64-missing-memcpy.patch BuildRequires: bc BuildRequires: cross-arm-binutils BuildRequires: cross-arm-gcc%{gcc_version} @@ -85,14 +91,28 @@ %ifarch x86_64 BuildRequires: cross-aarch64-binutils BuildRequires: cross-aarch64-gcc%{gcc_version} +%if %{with build_riscv64} +BuildRequires: cross-riscv64-binutils +BuildRequires: cross-riscv64-gcc%{gcc_version} +%endif %endif %ifarch aarch64 BuildRequires: cross-x86_64-binutils BuildRequires: cross-x86_64-gcc%{gcc_version} +%if %{with build_riscv64} +BuildRequires: cross-riscv64-binutils +BuildRequires: cross-riscv64-gcc%{gcc_version} +%endif +%endif +%ifarch riscv64 +BuildRequires: cross-x86_64-binutils +BuildRequires: cross-x86_64-gcc%{gcc_version} +BuildRequires: cross-aarch64-binutils +BuildRequires: cross-aarch64-gcc%{gcc_version} %endif # Only build on the architectures with # 1. cross-compilers, 2. iasl, 3. qemu-arm and qemu-x86 -ExclusiveArch: x86_64 aarch64 +ExclusiveArch: x86_64 aarch64 riscv64 %description The Open Virtual Machine Firmware (OVMF) project aims to support @@ -165,6 +185,17 @@ This package contains the UEFI rom image (AArch32) for QEMU cortex-a15 virt board. +%if %{with build_riscv64} +%package -n qemu-uefi-riscv64 +Summary: UEFI QEMU rom image (RISC-V 64) +Group: System/Emulators/PC +BuildArch: noarch + +%description -n qemu-uefi-riscv64 +This package contains the UEFI rom image (RISC-V 64) for QEMU +virt board. +%endif + %prep %setup -q -n edk2-edk2-stable%{version} @@ -188,6 +219,7 @@ %patch13 -p1 %patch14 -p1 %patch15 -p1 +%patch16 -p1 # add openssl pushd CryptoPkg/Library/OpensslLib/openssl @@ -270,6 +302,17 @@ -b DEBUG \ -t $TOOL_CHAIN \ " +%if %{with build_riscv64} +# Flavors for riscv +FLAVORS_RV64=("riscv") +BUILD_OPTIONS_RV64=" \ + $OVMF_FLAGS \ + -a RISCV64 \ + -p OvmfPkg/RiscVVirt/RiscVVirtQemu.dsc \ + -b DEBUG \ + -t $TOOL_CHAIN \ +" +%endif # Build BaseTools %ifarch x86_64 @@ -278,6 +321,9 @@ %ifarch aarch64 ARCH=AARCH64 make -C BaseTools %endif +%ifarch riscv64 + ARCH=RISCV64 make -C BaseTools +%endif # Import the build functions source %{SOURCE103} @@ -421,6 +467,25 @@ # Remove the temporary build files to reduce the disk usage (bsc#1178244) rm -rf Build/ArmVirtQemu-ARM/ +### Build RISCV64 UEFI Images ### +%if %{with build_riscv64} +%ifnarch riscv64 +# Assign the cross-compiler prefix +export ${TOOL_CHAIN}_RISCV64_PREFIX="riscv64-suse-linux-" +%endif +# Build the UEFI image without keys +build $BUILD_OPTIONS_RV64 + +cp Build/RiscVVirtQemu/DEBUG_GCC*/FV/RISCV_VIRT.fd qemu-uefi-riscv64.bin +dd of="ovmf-riscv64-code.bin" if="/dev/zero" bs=1M count=32 +dd of="ovmf-riscv64-code.bin" if="qemu-uefi-riscv64.bin" conv=notrunc +dd of="ovmf-riscv64-vars.bin" if="/dev/zero" bs=1M count=32 + +# Remove the temporary build files to reduce the disk usage (bsc#1178244) +rm -rf Build/RiscVVirtQemu/ + +%endif + ### Build the variable store templates ### # Default key sources: ms suse opensuse @@ -549,6 +614,13 @@ %ifarch aarch64 install -m 0644 AARCH64/*.efi %{buildroot}/%{_datadir}/ovmf/ %endif +%ifarch riscv64 +install -m 0644 RISCV64/*.efi %{buildroot}/%{_datadir}/ovmf/ +%endif + +%if %{without build_riscv64} +rm %{buildroot}%{_datadir}/qemu/firmware/*-riscv64*.json +%endif %files %doc README @@ -601,4 +673,15 @@ %dir %{_datadir}/qemu/firmware %{_datadir}/qemu/firmware/*-aarch32*.json +%if %{with build_riscv64} +%files -n qemu-uefi-riscv64 +%license License.txt +%dir %{_datadir}/qemu/ +%{_datadir}/qemu/qemu-uefi-riscv64.bin +%{_datadir}/qemu/ovmf-riscv64-code.bin +%{_datadir}/qemu/ovmf-riscv64-vars.bin +%dir %{_datadir}/qemu/firmware +%{_datadir}/qemu/firmware/*-riscv64*.json +%endif + %changelog ++++++ descriptors.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/descriptors/60-ovmf-riscv64.json new/descriptors/60-ovmf-riscv64.json --- old/descriptors/60-ovmf-riscv64.json 1970-01-01 01:00:00.000000000 +0100 +++ new/descriptors/60-ovmf-riscv64.json 2023-06-30 14:42:59.662975930 +0200 @@ -0,0 +1,31 @@ +{ + "description": "UEFI firmware for riscv (riscv64)", + "interface-types": [ + "uefi" + ], + "mapping": { + "device": "flash", + "executable": { + "filename": "@DATADIR@/ovmf-riscv64-code.bin", + "format": "raw" + }, + "nvram-template": { + "filename": "@DATADIR@/ovmf-riscv64-vars.bin", + "format": "raw" + } + }, + "targets": [ + { + "architecture": "riscv64", + "machines": [ + "virt-*" + ] + } + ], + "features": [ + "verbose-static" + ], + "tags": [ + + ] +} ++++++ ovmf-riscv64-missing-memcpy.patch ++++++ --- edk2-edk2-stable202302.orig/CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf +++ edk2-edk2-stable202302/CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf @@ -43,6 +43,9 @@ [Sources.X64] CopyMem.c +[Sources.RISCV64] + CopyMem.c + [Packages] MdePkg/MdePkg.dec
