History | View | Annotate | Download (15.5 kB)
pseries: Use the same interrupt swizzling for host bridges as p2p bridges
Currently the pseries PCI code uses a somewhat strange scheme of PCI irqallocation - 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...
pseries: Fix RTAS based config access
On the pseries platform, access to PCI config space is via RTAS calls(which go to the hypervisor) rather than MMIO. This means we don't usethe same code path as nearly everyone else which goes through pci_host.cand we're missing some of the parameter checking along the way....
pseries: Add support for level interrupts to XICS
The pseries "xics" interrupt controller, like most interruptcontrollers can support both message (i.e. edge sensitive) interruptsand level sensitive interrupts, but it needs to know which are which.
When I implemented the xics emulation for qemu, the only devices we...
pseries: Configure PCI bridge using properties
Currently, the function spapr_create_phb() uses its parameters toinitialize 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....
pseries: Remove unused constant from PCI code
The 'bars' constant array was used in experimental device allocation codewhich is no longer necessary now that we always run the SLOF firmware.This patch removes the now redundant variable.
Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>...
pseries: Remove PCI device from PCI host bridge code
The sPAPR PCI code defines a PCI device "spapr-pci-host-bridge-pci" whichis never used. This came over from the earlier bridge driver we used asa template. Some other bridges appear on their own PCI bus as a device,...
Add missing const attributes for MemoryRegionOps
Most MemoryRegionOps already had the const attribute.This patch adds it to the remaining ones.
Signed-off-by: Stefan Weil <sw@weilnetz.de>Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
qom: Unify type registration
Replace device_init() with generalized type_init().
While at it, unify naming convention: type_init([$prefix_]register_types)Also, type_init() is a function, so add preceding blank line wherenecessary and don't put a semicolon after the closing brace....
qdev: register all types natively through QEMU Object Model
This was done in a mostly automated fashion. I did it in three steps and thenrebased it into a single step which avoids repeatedly touching every file inthe tree.
The first step was a sed-based addition of the parent type to the subclass...
qdev: change ambiguous qdev names
Reported-by: Blue Swirl <blauwirbel@gmail.com>Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
pci: convert to QEMU Object Model
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
sysbus: apic: ioapic: convert to QEMU Object Model
This converts three devices because apic and ioapic are subclasses of sysbus.Converting subclasses independently of their base class is prohibitively hard.
pseries: Support PCI extended config space in RTAS calls
On the pseries machine (which expexts a paravirtualized guest), guestaccess to PCI config space is via host-provided RTAS functions. Thispatch extends these RTAS functions to permit access to PCI extended...
pseries: Use correct dispatcher for PCI config space accesses
The pseries machine expects a para-virtualized guest and so supplies RTASfunctions (via a hypercall) for performing PCI config space access.Currently the implementation of these calls intopci_default_{read,write}_config(). However this would be incorrect for...
pseries: SLOF PCI flag day
Currently on the pseries machine the SLOF firmware is used normally,but we bypass it when -kernel is specified. Having these two
different boot paths can cause some confusion.
In particular at present we need to "probe" the (emulated) PCI bus and...
PPC: Pseries: Check for PCI boundaries
We call pci_host_config_{read,write}_common() which perform PCI configaccesses. However they don't do all limit checking the way we expectit to.
So let's introduce a small wrapper around them, making them behave the...
pseries: Fix array overrun bug in PCI code
spapr_populate_pci_devices() containd a loop with PCI_NUM_REGIONS (7)iterations. However this overruns the 'bars' global array, which only has6 elements. In fact we only want to run this loop for things listed in the...
spapr: fix build
pseries: Add partial support for PCI
This patch adds a PCI bus to the pseries machine. This instantiatesthe qemu generic PCI bus code, advertises a PCI host bridge in theguest's device tree and implements the RTAS methods specified by PAPRto access PCI config space. It also sets up the memory regions we...