summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJames Le Cuirot <chewi@gentoo.org>2025-01-06 14:17:26 +0000
committerJames Le Cuirot <chewi@gentoo.org>2025-01-07 11:45:05 +0000
commite8a2877218db0a79e0b05c78b17afabf534d556b (patch)
tree88c255bad765841b1317ccb23f64c1cf3b255184 /sys-firmware
parentsys-firmware/edk2: Version bump to 202411 (diff)
downloadgentoo-e8a2877218db0a79e0b05c78b17afabf534d556b.tar.gz
gentoo-e8a2877218db0a79e0b05c78b17afabf534d556b.tar.bz2
gentoo-e8a2877218db0a79e0b05c78b17afabf534d556b.zip
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@gentoo.org>
Diffstat (limited to 'sys-firmware')
-rw-r--r--sys-firmware/edk2/edk2-202411.ebuild16
-rw-r--r--sys-firmware/edk2/files/descriptors/50-edk2-riscv64-qcow2-nosb.json33
2 files changed, 49 insertions, 0 deletions
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": [
+
+ ]
+}