| ppc_ss = ss.source_set() | 
 | ppc_ss.add(files( | 
 |   'ppc.c', | 
 |   'ppc_booke.c', | 
 | )) | 
 | ppc_ss.add(when: 'CONFIG_FDT_PPC', if_true: files('fdt.c')) | 
 | ppc_ss.add(when: 'CONFIG_FW_CFG_PPC', if_true: files('fw_cfg.c')) | 
 |  | 
 | # IBM pSeries (sPAPR) | 
 | ppc_ss.add(when: 'CONFIG_PSERIES', if_true: files( | 
 |   'spapr.c', | 
 |   'spapr_caps.c', | 
 |   'spapr_vio.c', | 
 |   'spapr_events.c', | 
 |   'spapr_hcall.c', | 
 |   'spapr_nested.c', | 
 |   'spapr_iommu.c', | 
 |   'spapr_rtas.c', | 
 |   'spapr_pci.c', | 
 |   'spapr_rtc.c', | 
 |   'spapr_drc.c', | 
 |   'spapr_cpu_core.c', | 
 |   'spapr_ovec.c', | 
 |   'spapr_irq.c', | 
 |   'spapr_tpm_proxy.c', | 
 |   'spapr_nvdimm.c', | 
 |   'spapr_rtas_ddw.c', | 
 |   'spapr_numa.c', | 
 |   'pef.c', | 
 | )) | 
 | ppc_ss.add(when: ['CONFIG_PSERIES', 'CONFIG_TCG'], if_true: files( | 
 |   'spapr_vhyp_mmu.c', | 
 | )) | 
 | ppc_ss.add(when: 'CONFIG_SPAPR_RNG', if_true: files('spapr_rng.c')) | 
 | if host_os == 'linux' | 
 |   ppc_ss.add(when: 'CONFIG_PSERIES', if_true: files( | 
 |     'spapr_pci_vfio.c', | 
 |   )) | 
 | endif | 
 |  | 
 | # IBM PowerNV | 
 | ppc_ss.add(when: 'CONFIG_POWERNV', if_true: files( | 
 |   'pnv.c', | 
 |   'pnv_xscom.c', | 
 |   'pnv_adu.c', | 
 |   'pnv_core.c', | 
 |   'pnv_i2c.c', | 
 |   'pnv_lpc.c', | 
 |   'pnv_psi.c', | 
 |   'pnv_chiptod.c', | 
 |   'pnv_occ.c', | 
 |   'pnv_sbe.c', | 
 |   'pnv_bmc.c', | 
 |   'pnv_homer.c', | 
 |   'pnv_pnor.c', | 
 |   'pnv_nest_pervasive.c', | 
 |   'pnv_n1_chiplet.c', | 
 | )) | 
 | # PowerPC 4xx boards | 
 | ppc_ss.add(when: 'CONFIG_PPC440', if_true: files( | 
 |   'ppc440_bamboo.c', | 
 |   'ppc440_uc.c')) | 
 | ppc_ss.add(when: 'CONFIG_PPC4XX', if_true: files( | 
 |   'ppc4xx_devs.c', | 
 |   'ppc4xx_sdram.c')) | 
 | ppc_ss.add(when: 'CONFIG_SAM460EX', if_true: files('sam460ex.c')) | 
 | # PReP | 
 | ppc_ss.add(when: 'CONFIG_PREP', if_true: files('prep.c')) | 
 | ppc_ss.add(when: 'CONFIG_PREP', if_true: files('prep_systemio.c')) | 
 | ppc_ss.add(when: 'CONFIG_RS6000_MC', if_true: files('rs6000_mc.c')) | 
 | # OldWorld PowerMac | 
 | ppc_ss.add(when: 'CONFIG_MAC_OLDWORLD', if_true: files('mac_oldworld.c')) | 
 | # NewWorld PowerMac | 
 | ppc_ss.add(when: 'CONFIG_MAC_NEWWORLD', if_true: files('mac_newworld.c')) | 
 | # e500 | 
 | ppc_ss.add(when: 'CONFIG_E500PLAT', if_true: files('e500plat.c')) | 
 | ppc_ss.add(when: 'CONFIG_MPC8544DS', if_true: files('mpc8544ds.c')) | 
 | ppc_ss.add(when: 'CONFIG_E500', if_true: files( | 
 |   'e500.c', | 
 |   'mpc8544_guts.c', | 
 |   'ppce500_spin.c' | 
 | )) | 
 | # PowerPC 440 Xilinx ML507 reference board. | 
 | ppc_ss.add(when: 'CONFIG_VIRTEX', if_true: files('virtex_ml507.c')) | 
 | # AmigaOne | 
 | ppc_ss.add(when: 'CONFIG_AMIGAONE', if_true: files('amigaone.c')) | 
 | # Pegasos2 | 
 | ppc_ss.add(when: 'CONFIG_PEGASOS2', if_true: files('pegasos2.c')) | 
 |  | 
 | ppc_ss.add(when: 'CONFIG_VOF', if_true: files('vof.c')) | 
 | ppc_ss.add(when: ['CONFIG_VOF', 'CONFIG_PSERIES'], if_true: files('spapr_vof.c')) | 
 |  | 
 | hw_arch += {'ppc': ppc_ss} |