Add new machine called pegasos2 emulating the Genesi/bPlan Pegasos II, a PowerPC board based on the Marvell MV64361 system controller and the VIA VT8231 integrated south bridge/superio chips. It can run Linux, AmigaOS and a wide range of MorphOS versions. Currently a firmware ROM image is needed to boot and only MorphOS has a video driver to produce graphics output. Linux could work too but distros that supported this machine don't include usual video drivers so those only run with serial console for now. Signed-off-by: BALATON Zoltan <balaton@eik.bme.hu> Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Message-Id: <30cbfb9cbe6f46a1e15a69a75fac45ac39340122.1616680239.git.balaton@eik.bme.hu> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
85 lines
2.1 KiB
Meson
85 lines
2.1 KiB
Meson
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',
|
|
), fdt])
|
|
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_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_SPAPR_RNG', if_true: files('spapr_rng.c'))
|
|
ppc_ss.add(when: ['CONFIG_PSERIES', 'CONFIG_LINUX'], if_true: files(
|
|
'spapr_pci_vfio.c',
|
|
'spapr_pci_nvlink2.c'
|
|
))
|
|
|
|
# IBM PowerNV
|
|
ppc_ss.add(when: 'CONFIG_POWERNV', if_true: files(
|
|
'pnv.c',
|
|
'pnv_xscom.c',
|
|
'pnv_core.c',
|
|
'pnv_lpc.c',
|
|
'pnv_psi.c',
|
|
'pnv_occ.c',
|
|
'pnv_bmc.c',
|
|
'pnv_homer.c',
|
|
'pnv_pnor.c',
|
|
))
|
|
# PowerPC 4xx boards
|
|
ppc_ss.add(when: 'CONFIG_PPC405', if_true: files(
|
|
'ppc405_boards.c',
|
|
'ppc405_uc.c'))
|
|
ppc_ss.add(when: 'CONFIG_PPC440', if_true: files(
|
|
'ppc440_bamboo.c',
|
|
'ppc440_pcix.c', 'ppc440_uc.c'))
|
|
ppc_ss.add(when: 'CONFIG_PPC4XX', if_true: files(
|
|
'ppc4xx_pci.c',
|
|
'ppc4xx_devs.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_E500', if_true: files(
|
|
'e500.c',
|
|
'mpc8544ds.c',
|
|
'e500plat.c'
|
|
))
|
|
ppc_ss.add(when: 'CONFIG_E500', if_true: files(
|
|
'mpc8544_guts.c',
|
|
'ppce500_spin.c'
|
|
))
|
|
# PowerPC 440 Xilinx ML507 reference board.
|
|
ppc_ss.add(when: 'CONFIG_VIRTEX', if_true: files('virtex_ml507.c'))
|
|
# Pegasos2
|
|
ppc_ss.add(when: 'CONFIG_PEGASOS2', if_true: files('pegasos2.c'))
|
|
|
|
hw_arch += {'ppc': ppc_ss}
|