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": [
+
+    ]
+}

Reply via email to