xref: /qemu/hw/ppc/meson.build (revision 8f9abdf5)
1ppc_ss = ss.source_set()
2ppc_ss.add(files(
3  'ppc.c',
4  'ppc_booke.c',
5))
6ppc_ss.add(when: 'CONFIG_FDT_PPC', if_true: [files(
7  'fdt.c',
8), fdt])
9ppc_ss.add(when: 'CONFIG_FW_CFG_PPC', if_true: files('fw_cfg.c'))
10
11# IBM pSeries (sPAPR)
12ppc_ss.add(when: 'CONFIG_PSERIES', if_true: files(
13  'spapr.c',
14  'spapr_caps.c',
15  'spapr_vio.c',
16  'spapr_events.c',
17  'spapr_hcall.c',
18  'spapr_iommu.c',
19  'spapr_rtas.c',
20  'spapr_pci.c',
21  'spapr_rtc.c',
22  'spapr_drc.c',
23  'spapr_cpu_core.c',
24  'spapr_ovec.c',
25  'spapr_irq.c',
26  'spapr_tpm_proxy.c',
27  'spapr_nvdimm.c',
28  'spapr_rtas_ddw.c',
29  'spapr_numa.c',
30  'pef.c',
31))
32ppc_ss.add(when: ['CONFIG_PSERIES', 'CONFIG_TCG'], if_true: files(
33  'spapr_softmmu.c',
34))
35ppc_ss.add(when: 'CONFIG_SPAPR_RNG', if_true: files('spapr_rng.c'))
36ppc_ss.add(when: ['CONFIG_PSERIES', 'CONFIG_LINUX'], if_true: files(
37  'spapr_pci_vfio.c',
38  'spapr_pci_nvlink2.c'
39))
40
41# IBM PowerNV
42ppc_ss.add(when: 'CONFIG_POWERNV', if_true: files(
43  'pnv.c',
44  'pnv_xscom.c',
45  'pnv_core.c',
46  'pnv_lpc.c',
47  'pnv_psi.c',
48  'pnv_occ.c',
49  'pnv_sbe.c',
50  'pnv_bmc.c',
51  'pnv_homer.c',
52  'pnv_pnor.c',
53))
54# PowerPC 4xx boards
55ppc_ss.add(when: 'CONFIG_PPC405', if_true: files(
56  'ppc405_boards.c',
57  'ppc405_uc.c'))
58ppc_ss.add(when: 'CONFIG_PPC440', if_true: files(
59  'ppc440_bamboo.c',
60  'ppc440_pcix.c', 'ppc440_uc.c'))
61ppc_ss.add(when: 'CONFIG_PPC4XX', if_true: files(
62  'ppc4xx_pci.c',
63  'ppc4xx_devs.c'))
64ppc_ss.add(when: 'CONFIG_SAM460EX', if_true: files('sam460ex.c'))
65# PReP
66ppc_ss.add(when: 'CONFIG_PREP', if_true: files('prep.c'))
67ppc_ss.add(when: 'CONFIG_PREP', if_true: files('prep_systemio.c'))
68ppc_ss.add(when: 'CONFIG_RS6000_MC', if_true: files('rs6000_mc.c'))
69# OldWorld PowerMac
70ppc_ss.add(when: 'CONFIG_MAC_OLDWORLD', if_true: files('mac_oldworld.c'))
71# NewWorld PowerMac
72ppc_ss.add(when: 'CONFIG_MAC_NEWWORLD', if_true: files('mac_newworld.c'))
73# e500
74ppc_ss.add(when: 'CONFIG_E500', if_true: files(
75  'e500.c',
76  'mpc8544ds.c',
77  'e500plat.c'
78))
79ppc_ss.add(when: 'CONFIG_E500', if_true: files(
80  'mpc8544_guts.c',
81  'ppce500_spin.c'
82))
83# PowerPC 440 Xilinx ML507 reference board.
84ppc_ss.add(when: 'CONFIG_VIRTEX', if_true: files('virtex_ml507.c'))
85# Pegasos2
86ppc_ss.add(when: 'CONFIG_PEGASOS2', if_true: files('pegasos2.c'))
87
88ppc_ss.add(when: 'CONFIG_VOF', if_true: files('vof.c'))
89ppc_ss.add(when: ['CONFIG_VOF', 'CONFIG_PSERIES'], if_true: files('spapr_vof.c'))
90
91hw_arch += {'ppc': ppc_ss}
92