Loading pkgs/applications/virtualization/OVMF/default.nix +8 −6 Original line number Diff line number Diff line Loading @@ -29,6 +29,7 @@ x86_64 = "OvmfPkg/OvmfPkgX64.dsc"; aarch64 = "ArmVirtPkg/ArmVirtQemu.dsc"; riscv64 = "OvmfPkg/RiscVVirt/RiscVVirtQemu.dsc"; loongarch64 = "OvmfPkg/LoongArchVirt/LoongArchVirtQemu.dsc"; }.${stdenv.hostPlatform.parsed.cpu.name} or (throw "Unsupported OVMF `projectDscPath` on ${stdenv.hostPlatform.parsed.cpu.name}") , fwPrefix ? { Loading @@ -36,6 +37,7 @@ x86_64 = "OVMF"; aarch64 = "AAVMF"; riscv64 = "RISCV_VIRT"; loongarch64 = "LOONGARCH_VIRT"; }.${stdenv.hostPlatform.parsed.cpu.name} or (throw "Unsupported OVMF `fwPrefix` on ${stdenv.hostPlatform.parsed.cpu.name}") , metaPlatforms ? edk2.meta.platforms Loading Loading @@ -130,17 +132,17 @@ edk2.mkDerivation projectDscPath (finalAttrs: { export PYTHONPATH=$NIX_BUILD_TOP/debian/python:$PYTHONPATH ''; postBuild = lib.optionalString stdenv.hostPlatform.isAarch '' postBuild = lib.optionalString (stdenv.hostPlatform.isAarch || stdenv.hostPlatform.isLoongArch64) '' ( cd ${buildPrefix}/FV cp QEMU_EFI.fd ${fwPrefix}_CODE.fd cp QEMU_VARS.fd ${fwPrefix}_VARS.fd ) '' + lib.optionalString stdenv.hostPlatform.isAarch '' # QEMU expects 64MiB CODE and VARS files on ARM/AARCH64 architectures # Truncate the firmware files to the expected size truncate -s 64M ${fwPrefix}_CODE.fd truncate -s 64M ${fwPrefix}_VARS.fd ) truncate -s 64M ${buildPrefix}/FV/${fwPrefix}_CODE.fd truncate -s 64M ${buildPrefix}/FV/${fwPrefix}_VARS.fd '' + lib.optionalString stdenv.hostPlatform.isRiscV '' truncate -s 32M ${buildPrefix}/FV/${fwPrefix}_CODE.fd truncate -s 32M ${buildPrefix}/FV/${fwPrefix}_VARS.fd Loading @@ -165,7 +167,7 @@ edk2.mkDerivation projectDscPath (finalAttrs: { postInstall = '' mkdir -vp $fd/FV '' + lib.optionalString (builtins.elem fwPrefix [ "OVMF" "AAVMF" "RISCV_VIRT" "OVMF" "AAVMF" "RISCV_VIRT" "LOONGARCH_VIRT" ]) '' mv -v $out/FV/${fwPrefix}_{CODE,VARS}.fd $fd/FV '' + lib.optionalString stdenv.hostPlatform.isx86 '' Loading pkgs/by-name/ed/edk2/package.nix +3 −1 Original line number Diff line number Diff line Loading @@ -23,6 +23,8 @@ else if stdenv.isAarch64 then "AARCH64" else if stdenv.hostPlatform.isRiscV64 then "RISCV64" else if stdenv.hostPlatform.isLoongArch64 then "LOONGARCH64" else throw "Unsupported architecture"; Loading Loading @@ -128,7 +130,7 @@ edk2 = stdenv.mkDerivation { homepage = "https://github.com/tianocore/tianocore.github.io/wiki/EDK-II/"; changelog = "https://github.com/tianocore/edk2/releases/tag/edk2-stable${edk2.version}"; license = lib.licenses.bsd2; platforms = with lib.platforms; aarch64 ++ arm ++ i686 ++ x86_64 ++ riscv64; platforms = with lib.platforms; aarch64 ++ arm ++ i686 ++ x86_64 ++ loongarch64 ++ riscv64; maintainers = [ lib.maintainers.mjoerg ]; }; Loading Loading
pkgs/applications/virtualization/OVMF/default.nix +8 −6 Original line number Diff line number Diff line Loading @@ -29,6 +29,7 @@ x86_64 = "OvmfPkg/OvmfPkgX64.dsc"; aarch64 = "ArmVirtPkg/ArmVirtQemu.dsc"; riscv64 = "OvmfPkg/RiscVVirt/RiscVVirtQemu.dsc"; loongarch64 = "OvmfPkg/LoongArchVirt/LoongArchVirtQemu.dsc"; }.${stdenv.hostPlatform.parsed.cpu.name} or (throw "Unsupported OVMF `projectDscPath` on ${stdenv.hostPlatform.parsed.cpu.name}") , fwPrefix ? { Loading @@ -36,6 +37,7 @@ x86_64 = "OVMF"; aarch64 = "AAVMF"; riscv64 = "RISCV_VIRT"; loongarch64 = "LOONGARCH_VIRT"; }.${stdenv.hostPlatform.parsed.cpu.name} or (throw "Unsupported OVMF `fwPrefix` on ${stdenv.hostPlatform.parsed.cpu.name}") , metaPlatforms ? edk2.meta.platforms Loading Loading @@ -130,17 +132,17 @@ edk2.mkDerivation projectDscPath (finalAttrs: { export PYTHONPATH=$NIX_BUILD_TOP/debian/python:$PYTHONPATH ''; postBuild = lib.optionalString stdenv.hostPlatform.isAarch '' postBuild = lib.optionalString (stdenv.hostPlatform.isAarch || stdenv.hostPlatform.isLoongArch64) '' ( cd ${buildPrefix}/FV cp QEMU_EFI.fd ${fwPrefix}_CODE.fd cp QEMU_VARS.fd ${fwPrefix}_VARS.fd ) '' + lib.optionalString stdenv.hostPlatform.isAarch '' # QEMU expects 64MiB CODE and VARS files on ARM/AARCH64 architectures # Truncate the firmware files to the expected size truncate -s 64M ${fwPrefix}_CODE.fd truncate -s 64M ${fwPrefix}_VARS.fd ) truncate -s 64M ${buildPrefix}/FV/${fwPrefix}_CODE.fd truncate -s 64M ${buildPrefix}/FV/${fwPrefix}_VARS.fd '' + lib.optionalString stdenv.hostPlatform.isRiscV '' truncate -s 32M ${buildPrefix}/FV/${fwPrefix}_CODE.fd truncate -s 32M ${buildPrefix}/FV/${fwPrefix}_VARS.fd Loading @@ -165,7 +167,7 @@ edk2.mkDerivation projectDscPath (finalAttrs: { postInstall = '' mkdir -vp $fd/FV '' + lib.optionalString (builtins.elem fwPrefix [ "OVMF" "AAVMF" "RISCV_VIRT" "OVMF" "AAVMF" "RISCV_VIRT" "LOONGARCH_VIRT" ]) '' mv -v $out/FV/${fwPrefix}_{CODE,VARS}.fd $fd/FV '' + lib.optionalString stdenv.hostPlatform.isx86 '' Loading
pkgs/by-name/ed/edk2/package.nix +3 −1 Original line number Diff line number Diff line Loading @@ -23,6 +23,8 @@ else if stdenv.isAarch64 then "AARCH64" else if stdenv.hostPlatform.isRiscV64 then "RISCV64" else if stdenv.hostPlatform.isLoongArch64 then "LOONGARCH64" else throw "Unsupported architecture"; Loading Loading @@ -128,7 +130,7 @@ edk2 = stdenv.mkDerivation { homepage = "https://github.com/tianocore/tianocore.github.io/wiki/EDK-II/"; changelog = "https://github.com/tianocore/edk2/releases/tag/edk2-stable${edk2.version}"; license = lib.licenses.bsd2; platforms = with lib.platforms; aarch64 ++ arm ++ i686 ++ x86_64 ++ riscv64; platforms = with lib.platforms; aarch64 ++ arm ++ i686 ++ x86_64 ++ loongarch64 ++ riscv64; maintainers = [ lib.maintainers.mjoerg ]; }; Loading