On Thu, Dec 14, 2023 at 02:08:49PM +0800, xianglai li wrote: > +++ b/src/qemu/qemu_conf.c > @@ -93,7 +93,8 @@ VIR_ONCE_GLOBAL_INIT(virQEMUConfig); > "/usr/share/OVMF/OVMF_CODE.fd:/usr/share/OVMF/OVMF_VARS.fd:" \ > "/usr/share/OVMF/OVMF_CODE.secboot.fd:/usr/share/OVMF/OVMF_VARS.fd:" \ > "/usr/share/AAVMF/AAVMF_CODE.fd:/usr/share/AAVMF/AAVMF_VARS.fd:" \ > - "/usr/share/AAVMF/AAVMF32_CODE.fd:/usr/share/AAVMF/AAVMF32_VARS.fd" > + "/usr/share/AAVMF/AAVMF32_CODE.fd:/usr/share/AAVMF/AAVMF32_VARS.fd:" \ > + "/usr/share/qemu/edk2-loongarch64-code.fd:/usr/share/qemu/edk2-loongarch64-vars.fd" > #endif We definitely don't want this :) The hard-coded CODE:VARS pairs are considered a legacy mechanism at this point, and we're no longer adding to them. If you try to pass a custom value at build time, a warning will be raised. The way firmware is configured these days is through firmware descriptor files. See src/qemu/qemu_firmware* and tests/qemufirmware* for additional information, but the short version is that you want your edk2 package to include something like this: # /usr/share/qemu/firmware/50-edk2-loongarch64.json { "interface-types": [ "uefi" ], "mapping": { "device": "flash", "mode" : "split", "executable": { "filename": "/usr/share/edk2/loongarch64/QEMU_CODE.fd", "format": "raw" }, "nvram-template": { "filename": "/usr/share/edk2/loongarch64/QEMU_VARS.fd", "format": "raw" } }, "targets": [ { "architecture": "loongarch64", "machines": [ "virt", "virt-*" ] } ] } Once you have that, libvirt will automatically pick up the correct firmware when the VM is configured with <os firmware='efi'> Same as any other architecture, no custom entries needed. -- Andrea Bolognani / Red Hat / Virtualization _______________________________________________ Devel mailing list -- devel@xxxxxxxxxxxxxxxxx To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxx