History | View | Annotate | Download (16.4 kB)
pci-host: Consistently set cannot_instantiate_with_device_add_yet
Many PCI host bridges consist of a sysbus device and a PCI device.You need both for the thing to work. Arguably, these bridges shouldbe modelled as a single, composite devices instead of pairs of...
qom: Pass available size to object_initialize()
To be passed on to object_initialize_with_type().
Acked-by: Cornelia Huck <cornelia.huck@de.ibm.com> (virtio-ccw)Signed-off-by: Andreas Färber <afaerber@suse.de>
pci: Pass size to pci_bus_new_inplace()
To be passed to qbus_create_inplace().
Reviewed-by: Wenchao Xia <xiawenc@linux.vnet.ibm.com>Signed-off-by: Andreas Färber <afaerber@suse.de>
hw/p*: pass owner to memory_region_init* functions
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
memory: add owner argument to initialization functions
Revert "versatile_pci: Put the host bridge PCI device at slot 29"
This reverts commit 5f37ef92b7690423ac6311d3c597e182fc5f8fe6.It turns out that some kernels incorrectly depend on theold QEMU behaviour of not putting the host PCI bridge devicewhere the hardware puts it, because they use a swizzling IRQ...
hw/pci-host/versatile.c: Update autodetect to detect newer kernels
Newer versatilepb kernels still don't get the IRQ mapping rightfor the PCI controller, but they get it differently wrong (they adda fixed +64 offset to everything they write to PCI_INTERRUPT_LINE)....
hw/pci-host/versatile.c: Provide property for forcing broken IRQ mapping
Although we try our best to automatically detect broken versionsof Linux which assume the old broken IRQ mapping we used to implementfor our model of the Versatile PCI controller, it turns out that...
hw/versatile_pci: Drop unnecessary vpb_pci_config_addr()
Drop the vpb_pci_config_addr() function -- it is unnecessary sincethe size of the memory regions means the hwaddr is always withinthe 24 bit size. (This function was probably a leftover from when...
versatile_pci: Implement the PCI controller's control registers
The versatile_pci PCI controller has a set of control registers whichhandle the mapping between PCI and system address spaces. Implementthese registers (though for now they have no effect since we don't...
versatile_pci: Expose PCI memory space to system
The VersatilePB's PCI controller exposes the PCI memory space to thesystem via three regions controlled by the mapping control registers.Implement this so that guests can actually use MMIO-BAR PCI cards....
versatile_pci: Put the host bridge PCI device at slot 29
On real hardware the host bridge appears as a PCI device in slot 29,so make QEMU put its host bridge in that slot too.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>Acked-by: Paul Brook <paul@codesourcery.com>
versatile_pci: Implement the correct PCI IRQ mapping
Implement the correct IRQ mapping for the Versatile PCI controller; itdiffers between realview and versatile boards, but the previous QEMUimplementation was correct only for the first PCI card on a versatile...
versatile_pci: Update to realize and instance init functions
Update the Versatile PCI controller to use a realize function ratherthan SysBusDevice::init. To reflect the fact that the 'realview_pci'class is taking most of its implementation from 'versatile_pci' (and...
versatile_pci: Change to subclassing TYPE_PCI_HOST_BRIDGE
Change versatile_pci to subclass TYPE_PCI_HOST_BRIDGE and generallyhandle PCI in a more QOM-like fashion.
versatile_pci: Use separate PCI I/O space rather than system I/O space
Rather than overloading the system I/O space (which doesn't even makeany sense on ARM) for PCI I/O, create an memory region in the PCIcontroller and use that to represent the I/O space....
versatile_pci: Fix hardcoded tabs
There is just one line in this source file with a hardcoded tabindent, so just fix it.
versatile_pci: Expose PCI I/O region on Versatile PB
Comments in the QEMU source code claim that the version of the PCIcontroller on the VersatilePB board doesn't support the PCI I/Oregion, but this is incorrect; expose that region, map it in thecorrect location, and drop the misleading comments....
hw: move PCI bridges to hw/pci-* or hw/ARCH