Statistics
| Branch: | Revision:

root / hw / spapr_pci.h @ 71193433

History | View | Annotate | Download (2.5 kB)

# Date Author Comment
8c9f64df 08/22/2012 06:47 pm Andreas Färber

spapr_pci: QOM'ify sPAPR PCI host bridge

Introduce type constant. Introduce cast macro to drop bogus busdev field
that would've broken SYS_BUS_DEVICE(). Avoid accessing parent fields
directly.

Free the identifier phb as acronym for PCI_HOST_BRIDGE.

Updated against conflicting merge from branch 'agraf/ppc-for-upstream'...

67c332fd 08/22/2012 06:47 pm Andreas Färber

pci: Tidy up PCI host bridges

Adopt the QOM parent field name and enforce QOM-style access via casts.
Don't just typedef PCIHostState, either use it directly or embed it.

Signed-off-by: Andreas Färber <>
Signed-off-by: Anthony Liguori <>

a307d594 08/15/2012 08:43 pm Alexey Kardashevskiy

pseries: Rework irq assignment to avoid carrying qemu_irqs around

Currently, the interfaces in the pseries machine code for assignment
and setup of interrupts pass around qemu_irq objects. That was done
in an attempt not to be too closely linked to the specific XICS...

fa28f71b 08/15/2012 08:43 pm Alexey Kardashevskiy

pseries: Separate PCI RTAS setup from common from emulation specific PCI setup

Currently the RTAS functions for handling PCI are registered from the
class init code for the PCI host bridge. That sort of makes sense
now, but will break in the future when vfio gives us multiple types of...

0ee2c058 08/15/2012 08:43 pm Alexey Kardashevskiy

pseries: Add PCI MSI/MSI-X support

This patch implements MSI and MSI-X support for the pseries PCI host
bridge. To do this it adds:

  • A "config_space_address to msi_table" map, since the MSI RTAS calls
    take a PCI config space address as an identifier....
5c4cbcf2 08/15/2012 08:43 pm Alexey Kardashevskiy

pseries dma: DMA window params added to PHB and DT population changed

Previously the only PCI bus supported was the emulated PCI bus with
fixed DMA window with start at 0 and size 1GB. As we are going to support
PCI pass through which DMA window properties are set by the host...

231903bf 08/15/2012 08:43 pm Alexey Kardashevskiy

pseries pci: removed redundant busdev

The PCIHostState struct already contains SysBusDevice so
the one in sPAPRPHBState has to go.

Signed-off-by: Alexey Kardashevskiy <>
Signed-off-by: Alexander Graf <>

e0fdbd7c 08/15/2012 08:43 pm Alexey Kardashevskiy

pseries pci: spapr_populate_pci_devices renamed to spapr_populate_pci_dt

spapr_populate_pci_devices() populates the device tree only with bus
properties and has nothing to do with the devices on it as PCI BAR
allocation is done by the system firmware (SLOF)....

edded454 06/28/2012 12:33 am David Gibson

pseries: Implement IOMMU and DMA for PAPR PCI devices

Currently the pseries machine emulation does not support DMA for emulated
PCI devices, because the PAPR spec always requires a (guest visible,
paravirtualized) IOMMU which was not implemented. Now that we have...

7fb0bd34 05/01/2012 10:47 pm David Gibson

pseries: Use the same interrupt swizzling for host bridges as p2p bridges

Currently the pseries PCI code uses a somewhat strange scheme of PCI irq
allocation - one per slot up to a maximum that's greater than the usual 4.
This scheme more or less worked, because we were able to tell the guest the...

298a9710 03/15/2012 02:12 pm David Gibson

pseries: Configure PCI bridge using properties

Currently, the function spapr_create_phb() uses its parameters to
initialize the correct memory windows for the new PCI Host Bridge
(PHB). This is not the way things are supposed to be done with qdevs,
and means you can't create extra PHBs easily using -device....

3384f95c 10/31/2011 05:53 am David Gibson

pseries: Add partial support for PCI

This patch adds a PCI bus to the pseries machine. This instantiates
the qemu generic PCI bus code, advertises a PCI host bridge in the
guest's device tree and implements the RTAS methods specified by PAPR
to access PCI config space. It also sets up the memory regions we...