9e933f4a62
The goal is to emulate a PowerNV system at the level of the skiboot firmware, which loads the OS and provides some runtime services. Power Systems have a lower firmware (HostBoot) that does low level system initialization, like DRAM training. This is beyond the scope of what qemu will address in a PowerNV guest. No devices yet, not even an interrupt controller. Just to get started, some RAM to load the skiboot firmware, the kernel and initrd. The device tree is fully created in the machine reset op. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> [clg: - updated for qemu-2.7 - replaced fprintf by error_report - used a common definition of _FDT macro - removed VMStateDescription as migration is not yet supported - added IBM Copyright statements - reworked kernel_filename handling - merged PnvSystem and sPowerNVMachineState - removed PHANDLE_XICP - added ppc_create_page_sizes_prop helper - removed nmi support - removed kvm support - updated powernv machine to version 2.8 - removed chips and cpus, They will be provided in another patches - added a machine reset routine to initialize the device tree (also) - french has a squelette and english a skeleton. - improved commit log. - reworked prototypes parameters - added a check on the ram size (thanks to Michael Ellerman) - fixed chip-id cell - changed MAX_CPUS to 2048 - simplified memory node creation to one node only - removed machine version - rewrote the device tree creation with the fdt "rw" routines - s/sPowerNVMachineState/PnvMachineState/ - etc.] Signed-off-by: Cédric Le Goater <clg@kaod.org> Reviewed-by: David Gibson <david@gibson.dropbear.id.au> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
28 lines
942 B
Makefile
28 lines
942 B
Makefile
# shared objects
|
|
obj-y += ppc.o ppc_booke.o fdt.o
|
|
# IBM pSeries (sPAPR)
|
|
obj-$(CONFIG_PSERIES) += spapr.o spapr_vio.o spapr_events.o
|
|
obj-$(CONFIG_PSERIES) += spapr_hcall.o spapr_iommu.o spapr_rtas.o
|
|
obj-$(CONFIG_PSERIES) += spapr_pci.o spapr_rtc.o spapr_drc.o spapr_rng.o
|
|
obj-$(CONFIG_PSERIES) += spapr_cpu_core.o
|
|
# IBM PowerNV
|
|
obj-$(CONFIG_POWERNV) += pnv.o
|
|
ifeq ($(CONFIG_PCI)$(CONFIG_PSERIES)$(CONFIG_LINUX), yyy)
|
|
obj-y += spapr_pci_vfio.o
|
|
endif
|
|
obj-$(CONFIG_PSERIES) += spapr_rtas_ddw.o
|
|
# PowerPC 4xx boards
|
|
obj-y += ppc405_boards.o ppc4xx_devs.o ppc405_uc.o ppc440_bamboo.o
|
|
obj-y += ppc4xx_pci.o
|
|
# PReP
|
|
obj-$(CONFIG_PREP) += prep.o
|
|
# OldWorld PowerMac
|
|
obj-$(CONFIG_MAC) += mac_oldworld.o
|
|
# NewWorld PowerMac
|
|
obj-$(CONFIG_MAC) += mac_newworld.o
|
|
# e500
|
|
obj-$(CONFIG_E500) += e500.o mpc8544ds.o e500plat.o
|
|
obj-$(CONFIG_E500) += mpc8544_guts.o ppce500_spin.o
|
|
# PowerPC 440 Xilinx ML507 reference board.
|
|
obj-$(CONFIG_XILINX) += virtex_ml507.o
|