1809954efSPaolo Bonziniroms = [] 2e49c0ef6SPaolo Bonziniif unpack_edk2_blobs 3bdcbea7aSMarc-André Lureau fds = [ 4bdcbea7aSMarc-André Lureau 'edk2-aarch64-code.fd', 5bdcbea7aSMarc-André Lureau 'edk2-arm-code.fd', 6bdcbea7aSMarc-André Lureau 'edk2-arm-vars.fd', 7bdcbea7aSMarc-André Lureau 'edk2-i386-code.fd', 8bdcbea7aSMarc-André Lureau 'edk2-i386-secure-code.fd', 9bdcbea7aSMarc-André Lureau 'edk2-i386-vars.fd', 10bdcbea7aSMarc-André Lureau 'edk2-x86_64-code.fd', 11bdcbea7aSMarc-André Lureau 'edk2-x86_64-secure-code.fd', 12bdcbea7aSMarc-André Lureau ] 13bdcbea7aSMarc-André Lureau 14bdcbea7aSMarc-André Lureau foreach f : fds 15809954efSPaolo Bonzini roms += custom_target(f, 166d21d60aSPhilippe Mathieu-Daudé build_by_default: have_system, 17bdcbea7aSMarc-André Lureau output: f, 180f457147SPaolo Bonzini input: files('@0@.bz2'.format(f)), 19bdcbea7aSMarc-André Lureau capture: true, 20c8d5450bSPaolo Bonzini install: get_option('install_blobs'), 21ab4c0996SMarc-André Lureau install_dir: qemu_datadir, 22bdcbea7aSMarc-André Lureau command: [ bzip2, '-dc', '@INPUT0@' ]) 23bdcbea7aSMarc-André Lureau endforeach 24bdcbea7aSMarc-André Lureauendif 25bdcbea7aSMarc-André Lureau 2645f1eecdSPaolo Bonziniblobs = [ 27b17cf893SMarc-André Lureau 'bios.bin', 28b17cf893SMarc-André Lureau 'bios-256k.bin', 2938edb514SGerd Hoffmann 'bios-microvm.bin', 303bee1d1dSGerd Hoffmann 'qboot.rom', 31b17cf893SMarc-André Lureau 'vgabios.bin', 32b17cf893SMarc-André Lureau 'vgabios-cirrus.bin', 33b17cf893SMarc-André Lureau 'vgabios-stdvga.bin', 34b17cf893SMarc-André Lureau 'vgabios-vmware.bin', 35b17cf893SMarc-André Lureau 'vgabios-qxl.bin', 36b17cf893SMarc-André Lureau 'vgabios-virtio.bin', 37b17cf893SMarc-André Lureau 'vgabios-ramfb.bin', 38b17cf893SMarc-André Lureau 'vgabios-bochs-display.bin', 39b17cf893SMarc-André Lureau 'vgabios-ati.bin', 40b17cf893SMarc-André Lureau 'openbios-sparc32', 41b17cf893SMarc-André Lureau 'openbios-sparc64', 42b17cf893SMarc-André Lureau 'openbios-ppc', 43b17cf893SMarc-André Lureau 'QEMU,tcx.bin', 44b17cf893SMarc-André Lureau 'QEMU,cgthree.bin', 45b17cf893SMarc-André Lureau 'pxe-e1000.rom', 46b17cf893SMarc-André Lureau 'pxe-eepro100.rom', 47b17cf893SMarc-André Lureau 'pxe-ne2k_pci.rom', 48b17cf893SMarc-André Lureau 'pxe-pcnet.rom', 49b17cf893SMarc-André Lureau 'pxe-rtl8139.rom', 50b17cf893SMarc-André Lureau 'pxe-virtio.rom', 51b17cf893SMarc-André Lureau 'efi-e1000.rom', 52b17cf893SMarc-André Lureau 'efi-eepro100.rom', 53b17cf893SMarc-André Lureau 'efi-ne2k_pci.rom', 54b17cf893SMarc-André Lureau 'efi-pcnet.rom', 55b17cf893SMarc-André Lureau 'efi-rtl8139.rom', 56b17cf893SMarc-André Lureau 'efi-virtio.rom', 57b17cf893SMarc-André Lureau 'efi-e1000e.rom', 58b17cf893SMarc-André Lureau 'efi-vmxnet3.rom', 59b17cf893SMarc-André Lureau 'qemu-nsis.bmp', 60b17cf893SMarc-André Lureau 'multiboot.bin', 6148972f8cSMarcus Hähnel 'multiboot_dma.bin', 62b17cf893SMarc-André Lureau 'linuxboot.bin', 63b17cf893SMarc-André Lureau 'linuxboot_dma.bin', 64b17cf893SMarc-André Lureau 'kvmvapic.bin', 65b17cf893SMarc-André Lureau 'pvh.bin', 66b17cf893SMarc-André Lureau 's390-ccw.img', 67b17cf893SMarc-André Lureau 's390-netboot.img', 68b17cf893SMarc-André Lureau 'slof.bin', 69b17cf893SMarc-André Lureau 'skiboot.lid', 70b17cf893SMarc-André Lureau 'palcode-clipper', 71b17cf893SMarc-André Lureau 'u-boot.e500', 72b17cf893SMarc-André Lureau 'u-boot-sam460-20100605.bin', 73b17cf893SMarc-André Lureau 'qemu_vga.ndrv', 74b17cf893SMarc-André Lureau 'edk2-licenses.txt', 75b17cf893SMarc-André Lureau 'hppa-firmware.img', 76*19f9c044SHelge Deller 'hppa-firmware64.img', 77b17cf893SMarc-André Lureau 'opensbi-riscv32-generic-fw_dynamic.bin', 78b17cf893SMarc-André Lureau 'opensbi-riscv64-generic-fw_dynamic.bin', 79d1cb5edaSHavard Skinnemoen 'npcm7xx_bootrom.bin', 8010717c26SAlexey Kardashevskiy 'vof.bin', 8110717c26SAlexey Kardashevskiy 'vof-nvram.bin', 8245f1eecdSPaolo Bonzini] 83b17cf893SMarc-André Lureau 846e0dc9d2SPaolo Bonzinidtc = find_program('dtc', required: false) 856e0dc9d2SPaolo Bonziniforeach f : [ 866e0dc9d2SPaolo Bonzini 'bamboo.dts', 876e0dc9d2SPaolo Bonzini 'canyonlands.dts', 886e0dc9d2SPaolo Bonzini 'petalogix-s3adsp1800.dts', 896e0dc9d2SPaolo Bonzini 'petalogix-ml605.dts', 906e0dc9d2SPaolo Bonzini] 916e0dc9d2SPaolo Bonzini out = fs.replace_suffix(f, '.dtb') 926e0dc9d2SPaolo Bonzini if dtc.found() 936e0dc9d2SPaolo Bonzini custom_target(f, 946e0dc9d2SPaolo Bonzini build_by_default: have_system, 956e0dc9d2SPaolo Bonzini input: files(f), 966e0dc9d2SPaolo Bonzini output: out, 976e0dc9d2SPaolo Bonzini install: get_option('install_blobs'), 986e0dc9d2SPaolo Bonzini install_dir: qemu_datadir, 996e0dc9d2SPaolo Bonzini command: [ dtc, '-I', 'dts', '-O', 'dtb', '-o', '@OUTPUT@', '@INPUT0@' ]) 1006e0dc9d2SPaolo Bonzini else 1016e0dc9d2SPaolo Bonzini blobs += out 1026e0dc9d2SPaolo Bonzini endif 1036e0dc9d2SPaolo Bonziniendforeach 1046e0dc9d2SPaolo Bonzini 105882084a0SAkihiko Odakiif get_option('install_blobs') 106882084a0SAkihiko Odaki install_data(blobs, install_dir: qemu_datadir) 107882084a0SAkihiko Odakiendif 108b17cf893SMarc-André Lureau 109bdcbea7aSMarc-André Lureausubdir('descriptors') 11028742467SMarc-André Lureausubdir('keymaps') 111