blob: e67fa433a1be3db39bd9972201700f8b828e1dbd [file] [log] [blame]
Paolo Bonzini809954e2021-09-23 06:55:29 -04001roms = []
Paolo Bonzinie49c0ef2021-09-23 06:55:28 -04002if unpack_edk2_blobs
Marc-André Lureaubdcbea72019-07-15 21:22:31 +04003 fds = [
4 'edk2-aarch64-code.fd',
5 'edk2-arm-code.fd',
6 'edk2-arm-vars.fd',
7 'edk2-i386-code.fd',
8 'edk2-i386-secure-code.fd',
9 'edk2-i386-vars.fd',
10 'edk2-x86_64-code.fd',
11 'edk2-x86_64-secure-code.fd',
12 ]
13
14 foreach f : fds
Paolo Bonzini809954e2021-09-23 06:55:29 -040015 roms += custom_target(f,
Philippe Mathieu-Daudé6d21d602021-01-22 21:44:32 +010016 build_by_default: have_system,
Marc-André Lureaubdcbea72019-07-15 21:22:31 +040017 output: f,
Paolo Bonzini0f457142021-11-08 10:45:30 +010018 input: files('@0@.bz2'.format(f)),
Marc-André Lureaubdcbea72019-07-15 21:22:31 +040019 capture: true,
Paolo Bonzinic8d54502020-10-16 03:32:52 -040020 install: get_option('install_blobs'),
Marc-André Lureauab4c0992020-08-26 15:04:16 +040021 install_dir: qemu_datadir,
Marc-André Lureaubdcbea72019-07-15 21:22:31 +040022 command: [ bzip2, '-dc', '@INPUT0@' ])
23 endforeach
24endif
25
Paolo Bonzini45f1eec2022-05-27 16:35:46 +010026blobs = [
Marc-André Lureaub17cf892020-08-26 17:06:17 +040027 'bios.bin',
28 'bios-256k.bin',
Gerd Hoffmann38edb512020-09-15 14:08:51 +020029 'bios-microvm.bin',
Gerd Hoffmann3bee1d12020-09-15 14:08:49 +020030 'qboot.rom',
Marc-André Lureaub17cf892020-08-26 17:06:17 +040031 'vgabios.bin',
32 'vgabios-cirrus.bin',
33 'vgabios-stdvga.bin',
34 'vgabios-vmware.bin',
35 'vgabios-qxl.bin',
36 'vgabios-virtio.bin',
37 'vgabios-ramfb.bin',
38 'vgabios-bochs-display.bin',
39 'vgabios-ati.bin',
40 'openbios-sparc32',
41 'openbios-sparc64',
42 'openbios-ppc',
43 'QEMU,tcx.bin',
44 'QEMU,cgthree.bin',
45 'pxe-e1000.rom',
46 'pxe-eepro100.rom',
47 'pxe-ne2k_pci.rom',
48 'pxe-pcnet.rom',
49 'pxe-rtl8139.rom',
50 'pxe-virtio.rom',
51 'efi-e1000.rom',
52 'efi-eepro100.rom',
53 'efi-ne2k_pci.rom',
54 'efi-pcnet.rom',
55 'efi-rtl8139.rom',
56 'efi-virtio.rom',
57 'efi-e1000e.rom',
58 'efi-vmxnet3.rom',
59 'qemu-nsis.bmp',
Marc-André Lureaub17cf892020-08-26 17:06:17 +040060 'multiboot.bin',
Marcus Hähnel48972f82021-10-20 14:55:04 +020061 'multiboot_dma.bin',
Marc-André Lureaub17cf892020-08-26 17:06:17 +040062 'linuxboot.bin',
63 'linuxboot_dma.bin',
64 'kvmvapic.bin',
65 'pvh.bin',
66 's390-ccw.img',
67 's390-netboot.img',
68 'slof.bin',
69 'skiboot.lid',
70 'palcode-clipper',
71 'u-boot.e500',
72 'u-boot-sam460-20100605.bin',
73 'qemu_vga.ndrv',
74 'edk2-licenses.txt',
75 'hppa-firmware.img',
76 'opensbi-riscv32-generic-fw_dynamic.bin',
77 'opensbi-riscv64-generic-fw_dynamic.bin',
Havard Skinnemoend1cb5ed2020-09-10 22:20:53 -070078 'npcm7xx_bootrom.bin',
Alexey Kardashevskiy10717c22022-02-09 09:08:56 +010079 'vof.bin',
80 'vof-nvram.bin',
Paolo Bonzini45f1eec2022-05-27 16:35:46 +010081]
Marc-André Lureaub17cf892020-08-26 17:06:17 +040082
Paolo Bonzini6e0dc9d2023-08-28 11:43:06 +020083dtc = find_program('dtc', required: false)
84foreach f : [
85 'bamboo.dts',
86 'canyonlands.dts',
87 'petalogix-s3adsp1800.dts',
88 'petalogix-ml605.dts',
89]
90 out = fs.replace_suffix(f, '.dtb')
91 if dtc.found()
92 custom_target(f,
93 build_by_default: have_system,
94 input: files(f),
95 output: out,
96 install: get_option('install_blobs'),
97 install_dir: qemu_datadir,
98 command: [ dtc, '-I', 'dts', '-O', 'dtb', '-o', '@OUTPUT@', '@INPUT0@' ])
99 else
100 blobs += out
101 endif
102endforeach
103
Akihiko Odaki882084a2022-06-24 23:50:38 +0900104if get_option('install_blobs')
105 install_data(blobs, install_dir: qemu_datadir)
106endif
Marc-André Lureaub17cf892020-08-26 17:06:17 +0400107
Marc-André Lureaubdcbea72019-07-15 21:22:31 +0400108subdir('descriptors')
Marc-André Lureau28742462019-09-19 20:24:43 +0400109subdir('keymaps')