This device emulates a firmware abstraction used by pSeries guests to manage hotplug/dynamic-reconfiguration of host-bridges, PCI devices, memory, and CPUs. It is conceptually similar to an SHPC device, complete with LED indicators to identify individual slots to physical physical users and indicate when it is safe to remove a device. In some cases it is also used to manage virtualized resources, such a memory, CPUs, and physical-host bridges, which in the case of pSeries guests are virtualized resources where the physical components are managed by the host. Guests communicate with these DR Connectors using RTAS calls, generally by addressing the unique DRC index associated with a particular connector for a particular resource. For introspection purposes we expose this state initially as QOM properties, and in subsequent patches will introduce the RTAS calls that make use of it. This constitutes to the 'guest' interface. On the QEMU side we provide an attach/detach interface to associate or cleanup a DeviceState with a particular sPAPRDRConnector in response to hotplug/unplug, respectively. This constitutes the 'physical' interface to the DR Connector. Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com> Reviewed-by: David Gibson <david@gibson.dropbear.id.au> Signed-off-by: David Gibson <david@gibson.dropbear.id.au> Signed-off-by: Alexander Graf <agraf@suse.de>
24 lines
795 B
Makefile
24 lines
795 B
Makefile
# shared objects
|
|
obj-y += ppc.o ppc_booke.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
|
|
ifeq ($(CONFIG_PCI)$(CONFIG_PSERIES)$(CONFIG_LINUX), yyy)
|
|
obj-y += spapr_pci_vfio.o
|
|
endif
|
|
# 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
|