qemu-patch-raspberry4/hw/ppc
Michael Roth bbf5c878ab spapr_drc: initial implementation of sPAPRDRConnector device
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>
2015-06-03 23:56:52 +02:00
..
e500-ccsr.h ppc: do not use ../ in include files 2013-03-01 13:57:33 +01:00
e500.c machine: query kernel-irqchip property 2015-03-11 18:14:23 +01:00
e500.h PPC: e500 pci host: Add support for ATMUs 2015-01-07 16:16:24 +01:00
e500plat.c PPC: e500 pci host: Add support for ATMUs 2015-01-07 16:16:24 +01:00
mac.h block: Rename BlockDriverAIOCB* to BlockAIOCB* 2014-10-20 13:41:27 +02:00
mac_newworld.c Bugfixes and making SCSI adapters IOMMU-friendly. 2015-03-26 17:33:35 +00:00
mac_oldworld.c fw_cfg: factor out initialization of FW_CFG_ID (rev. number) 2015-03-25 13:37:10 +01:00
Makefile.objs spapr_drc: initial implementation of sPAPRDRConnector device 2015-06-03 23:56:52 +02:00
mpc8544_guts.c cpu: Replace cpu_single_env with CPUState current_cpu 2013-07-09 21:20:28 +02:00
mpc8544ds.c PPC: e500 pci host: Add support for ATMUs 2015-01-07 16:16:24 +01:00
ppc.c m48t59: let init functions return a Nvram object 2015-03-10 09:18:56 +00:00
ppc4xx_devs.c SCSI changes that enable sending vendor-specific commands via virtio-scsi. 2014-08-19 13:00:57 +01:00
ppc4xx_pci.c hw/pci/ppc4xx_pci.c: Remove unused pci4xx_cfgaddr_read/write/ops 2014-11-04 23:26:12 +01:00
ppc405.h hw: move private headers to hw/ subdirectories. 2013-04-08 18:13:16 +02:00
ppc405_boards.c m48t59: introduce new base-year qdev property 2015-03-10 09:18:56 +00:00
ppc405_uc.c memory: add parameter errp to memory_region_init_ram 2014-09-09 13:41:43 +02:00
ppc440_bamboo.c hw/core/loader: implement address translation in uimage loader 2014-11-03 00:59:10 +03:00
ppc_booke.c hw/ppc: Avoid shifting left into sign bit 2014-03-27 19:22:49 +04:00
ppce500_spin.c Convert (ffs(val) - 1) to ctz32(val) 2015-04-28 15:36:08 +02:00
prep.c m48t59: introduce new base-year qdev property 2015-03-10 09:18:56 +00:00
spapr.c hw/ppc/spapr: Use error_report() instead of hw_error() 2015-06-03 23:56:52 +02:00
spapr_drc.c spapr_drc: initial implementation of sPAPRDRConnector device 2015-06-03 23:56:52 +02:00
spapr_events.c pseries: Make the PAPR RTC a qdev device 2015-03-09 14:59:58 +01:00
spapr_hcall.c pseries: Switch VGA endian on H_SET_MODE 2015-03-09 15:00:03 +01:00
spapr_iommu.c hw/ppc/spapr_iommu: Fix the check for invalid upper bits in liobn 2015-06-03 23:56:51 +02:00
spapr_pci.c spapr_pci: Rework device-tree rendering 2015-06-03 23:56:51 +02:00
spapr_pci_vfio.c sPAPR: Implement sPAPRPHBClass EEH callbacks 2015-03-09 15:00:08 +01:00
spapr_rtas.c pseries: Move sPAPR RTC code into its own file 2015-03-09 14:59:56 +01:00
spapr_rtc.c pseries: Export RTC time via QOM 2015-03-09 15:00:00 +01:00
spapr_vio.c spapr_vio: Introduce a liobn number generating macros 2015-06-03 23:56:50 +02:00
virtex_ml507.c hw: Convert from BlockDriverState to BlockBackend, mostly 2014-10-20 14:02:25 +02:00