commit: e8a2877218db0a79e0b05c78b17afabf534d556b
Author: James Le Cuirot <chewi <AT> gentoo <DOT> org>
AuthorDate: Mon Jan 6 14:17:26 2025 +0000
Commit: James Le Cuirot <chewi <AT> gentoo <DOT> org>
CommitDate: Tue Jan 7 11:45:05 2025 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e8a28772
sys-firmware/edk2: Add riscv support to 202411
Can't keyword it yet though because of unkeyworded dependencies. Use
edk2-bin instead.
Signed-off-by: James Le Cuirot <chewi <AT> gentoo.org>
sys-firmware/edk2/edk2-202411.ebuild | 16 +++++++++++
.../descriptors/50-edk2-riscv64-qcow2-nosb.json | 33 ++++++++++++++++++++++
2 files changed, 49 insertions(+)
diff --git a/sys-firmware/edk2/edk2-202411.ebuild
b/sys-firmware/edk2/edk2-202411.ebuild
index da6bb82c9717..fac445b9165e 100644
--- a/sys-firmware/edk2/edk2-202411.ebuild
+++ b/sys-firmware/edk2/edk2-202411.ebuild
@@ -93,6 +93,14 @@ pkg_setup() {
UNIT1="QEMU_VARS.qcow2"
FMT="qcow2"
;;
+ riscv)
+ TARGET_ARCH="RISCV64"
+ QEMU_ARCH="riscv64"
+ ARCH_DIRS="${DIR}/RiscVVirtQemu"
+ UNIT0="RISCV_VIRT_CODE.qcow2"
+ UNIT1="RISCV_VIRT_VARS.qcow2"
+ FMT="qcow2"
+ ;;
esac
DOC_CONTENTS="This package includes the TianoCore EDK II UEFI firmware
for ${QEMU_ARCH}
@@ -252,6 +260,10 @@ src_compile() {
mk_fw_vars arm64
Build/ArmVirtQemu-AARCH64.secboot_INSECURE/"${BUILD_DIR}"/FV/QEMU_VARS.fd
raw_to_qcow2 64m
Build/ArmVirtQemu-AARCH64*/"${BUILD_DIR}"/FV/QEMU_{EFI,VARS}.fd
;;
+ riscv)
+ mybuild -a RISCV64 -p OvmfPkg/RiscVVirt/RiscVVirtQemu.dsc
+ raw_to_qcow2 32m
Build/RiscVVirtQemu/"${BUILD_DIR}"/FV/RISCV_VIRT_{CODE,VARS}.fd
+ ;;
esac
}
@@ -282,6 +294,10 @@ src_install() {
newins
Build/ArmVirtQemu-AARCH64${TYPE}/"${BUILD_DIR}"/FV/QEMU_VARS.qcow2
QEMU_VARS${TYPE}.qcow2
done
;;
+ riscv)
+ insinto ${DIR}/RiscVVirtQemu
+ doins
Build/RiscVVirtQemu/"${BUILD_DIR}"/FV/RISCV_VIRT_{CODE,VARS}.qcow2
+ ;;
esac
insinto /usr/share/qemu/firmware
diff --git
a/sys-firmware/edk2/files/descriptors/50-edk2-riscv64-qcow2-nosb.json
b/sys-firmware/edk2/files/descriptors/50-edk2-riscv64-qcow2-nosb.json
new file mode 100644
index 000000000000..a8d6e7498dd9
--- /dev/null
+++ b/sys-firmware/edk2/files/descriptors/50-edk2-riscv64-qcow2-nosb.json
@@ -0,0 +1,33 @@
+{
+ "description": "UEFI for RISC-V VMs",
+ "interface-types": [
+ "uefi"
+ ],
+ "mapping": {
+ "device": "flash",
+ "mode" : "split",
+ "executable": {
+ "filename": "/usr/share/edk2/RiscVVirtQemu/RISCV_VIRT_CODE.qcow2",
+ "format": "qcow2"
+ },
+ "nvram-template": {
+ "filename": "/usr/share/edk2/RiscVVirtQemu/RISCV_VIRT_VARS.qcow2",
+ "format": "qcow2"
+ }
+ },
+ "targets": [
+ {
+ "architecture": "riscv64",
+ "machines": [
+ "virt",
+ "virt-*"
+ ]
+ }
+ ],
+ "features": [
+
+ ],
+ "tags": [
+
+ ]
+}