* [gentoo-commits] repo/gentoo:master commit in: sys-firmware/edk2/, sys-firmware/edk2/files/descriptors/, ...
@ 2025-03-11 9:08 WANG Xuerui
0 siblings, 0 replies; only message in thread
From: WANG Xuerui @ 2025-03-11 9:08 UTC (permalink / raw
To: gentoo-commits
commit: b98badc24aed1dde0f891f34fa52029bf972d9f4
Author: WANG Xuerui <xen0n <AT> gentoo <DOT> org>
AuthorDate: Tue Feb 18 11:17:45 2025 +0000
Commit: WANG Xuerui <xen0n <AT> gentoo <DOT> org>
CommitDate: Tue Mar 11 09:06:21 2025 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b98badc2
sys-firmware/edk2: add build support for loong
Reviewed-by: Sam James <sam <AT> gentoo.org>
Signed-off-by: WANG Xuerui <xen0n <AT> gentoo.org>
sys-firmware/edk2/edk2-202411.ebuild | 21 ++++++++++++++
.../50-edk2-loongarch64-qcow2-nosb.json | 33 ++++++++++++++++++++++
sys-firmware/edk2/files/edk2-202411-loong.patch | 33 ++++++++++++++++++++++
3 files changed, 87 insertions(+)
diff --git a/sys-firmware/edk2/edk2-202411.ebuild b/sys-firmware/edk2/edk2-202411.ebuild
index 0b8cd1c71d87..d39b7e4b3797 100644
--- a/sys-firmware/edk2/edk2-202411.ebuild
+++ b/sys-firmware/edk2/edk2-202411.ebuild
@@ -64,6 +64,7 @@ RDEPEND="
PATCHES=(
"${FILESDIR}/${PN}-202411-werror.patch"
+ "${FILESDIR}/${PN}-202411-loong.patch"
"${FILESDIR}/${PN}-202408-binutils-2.41-textrels.patch"
)
@@ -93,6 +94,14 @@ pkg_setup() {
UNIT1="QEMU_VARS.qcow2"
FMT="qcow2"
;;
+ loong)
+ TARGET_ARCH="LOONGARCH64"
+ QEMU_ARCH="loongarch64"
+ ARCH_DIRS="${DIR}/LoongArchVirtQemu"
+ UNIT0="QEMU_EFI.fd"
+ UNIT1="QEMU_VARS.fd"
+ FMT="raw"
+ ;;
riscv)
TARGET_ARCH="RISCV64"
QEMU_ARCH="riscv64"
@@ -260,6 +269,14 @@ 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
;;
+ loong)
+ BUILD_ARGS+=(
+ # fails to seed the OpenSSL RNG during early initialization due
+ # to improper FPU enabling (maybe too late)
+ -D NETWORK_TLS_ENABLE=FALSE
+ )
+ mybuild -a LOONGARCH64 -p OvmfPkg/LoongArchVirt/LoongArchVirtQemu.dsc
+ ;;
riscv)
mybuild -a RISCV64 -p OvmfPkg/RiscVVirt/RiscVVirtQemu.dsc
raw_to_qcow2 32m Build/RiscVVirtQemu/"${BUILD_DIR}"/FV/RISCV_VIRT_{CODE,VARS}.fd
@@ -294,6 +311,10 @@ src_install() {
newins Build/ArmVirtQemu-AARCH64${TYPE}/"${BUILD_DIR}"/FV/QEMU_VARS.qcow2 QEMU_VARS${TYPE}.qcow2
done
;;
+ loong)
+ insinto ${DIR}/LoongArchVirtQemu
+ doins Build/LoongArchVirtQemu/"${BUILD_DIR}"/FV/QEMU_{EFI,VARS}.fd
+ ;;
riscv)
insinto ${DIR}/RiscVVirtQemu
doins Build/RiscVVirtQemu/"${BUILD_DIR}"/FV/RISCV_VIRT_{CODE,VARS}.qcow2
diff --git a/sys-firmware/edk2/files/descriptors/50-edk2-loongarch64-qcow2-nosb.json b/sys-firmware/edk2/files/descriptors/50-edk2-loongarch64-qcow2-nosb.json
new file mode 100644
index 000000000000..54c07649b6a1
--- /dev/null
+++ b/sys-firmware/edk2/files/descriptors/50-edk2-loongarch64-qcow2-nosb.json
@@ -0,0 +1,33 @@
+{
+ "description": "UEFI for LoongArch VMs",
+ "interface-types": [
+ "uefi"
+ ],
+ "mapping": {
+ "device": "flash",
+ "mode" : "split",
+ "executable": {
+ "filename": "/usr/share/edk2/LoongArchVirtQemu/QEMU_EFI.fd",
+ "format": "raw"
+ },
+ "nvram-template": {
+ "filename": "/usr/share/edk2/LoongArchVirtQemu/QEMU_VARS.fd",
+ "format": "raw"
+ }
+ },
+ "targets": [
+ {
+ "architecture": "loongarch64",
+ "machines": [
+ "virt",
+ "virt-*"
+ ]
+ }
+ ],
+ "features": [
+
+ ],
+ "tags": [
+
+ ]
+}
diff --git a/sys-firmware/edk2/files/edk2-202411-loong.patch b/sys-firmware/edk2/files/edk2-202411-loong.patch
new file mode 100644
index 000000000000..f2df0376b730
--- /dev/null
+++ b/sys-firmware/edk2/files/edk2-202411-loong.patch
@@ -0,0 +1,33 @@
+https://github.com/tianocore/edk2/commit/b8f3199595d23c29433528a5207a6aa9fb368d44
+From: Chao Li <lichao@loongson.cn>
+Date: Tue, 17 Dec 2024 18:05:45 +0800
+Subject: [PATCH] OvmfPkg/LoongArch: Enabling some base libraries
+
+BaseCryptLib, RngLib, IntrinsicLib and OpensslLib are enabled by default
+on LoongArch VM, since some APPs or OS require them.
+
+Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
+Cc: Jiewen Yao <jiewen.yao@intel.com>
+Cc: Gerd Hoffmann <kraxel@redhat.com>
+Signed-off-by: Chao Li <lichao@loongson.cn>
+--- a/OvmfPkg/LoongArchVirt/LoongArchVirtQemu.dsc
++++ b/OvmfPkg/LoongArchVirt/LoongArchVirtQemu.dsc
+@@ -156,6 +156,18 @@
+ FileExplorerLib | MdeModulePkg/Library/FileExplorerLib/FileExplorerLib.inf
+ ImagePropertiesRecordLib | MdeModulePkg/Library/ImagePropertiesRecordLib/ImagePropertiesRecordLib.inf
+
++ #
++ # CryptoPkg libraries needed by multiple firmware features
++ #
++ IntrinsicLib | CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf
++!if $(NETWORK_TLS_ENABLE) == TRUE
++ OpensslLib | CryptoPkg/Library/OpensslLib/OpensslLib.inf
++!else
++ OpensslLib | CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf
++!endif
++ BaseCryptLib | CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf
++ RngLib | MdeModulePkg/Library/BaseRngLibTimerLib/BaseRngLibTimerLib.inf
++
+ !if $(HTTP_BOOT_ENABLE) == TRUE
+ HttpLib | MdeModulePkg/Library/DxeHttpLib/DxeHttpLib.inf
+ !endif
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2025-03-11 9:08 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-03-11 9:08 [gentoo-commits] repo/gentoo:master commit in: sys-firmware/edk2/, sys-firmware/edk2/files/descriptors/, WANG Xuerui
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox