dec.c - move to pci-bridge
Looks like dec.c is in pci-host by mistake.Moving it over to pci-bridge.
Acked-by: Andreas Färber <afaerber@suse.de>Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
q35: set fw_name
PCI host bridges need to set fw_name to be discoverableby bios for boot device selection.
In particular, seabios expects root device to be called"/pci/@i0cf8", so let's set it up like that for Q35.
Cc: qemu-stable@nongnu.orgSigned-off-by: Michael S. Tsirkin <mst@redhat.com>...
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...
sparc64: use direct interrupt mapping for PCI devices
Every PCI Slot in PBM has 4 directly mapped IRQ lines.Use the IRQ routing schema 0bssnn (Bus, Slot, interrupt Number)described in Section 19.3.3 of UltraSPARC™-IIi User's Manual.
Please note that this patch requires the OpenBIOS counterpart patch....
sparc64: fix loosing interrupts
- clear interrupts only on writing to the interrupt clear registers- don't overwrite a currently active interrupt request- use the correct addresses for the interrupt clear registers (section 19.3.3.3 of the UltraSPARC™-IIi User’s Manual)...
sparc64: allow 64 IRQ lines
According to UltraSPARC™-IIi User’s Manual, PBM has 64 IRQ lines.
Signed-off-by: Artyom Tarasenko <atar4qemu@gmail.com>Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
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 private headers to hw/ subdirectories.
Many headers are used only in a single directory. These can bekept in hw/.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
hw: move PCI bridges to hw/pci-* or hw/ARCH