Statistics
| Branch: | Revision:

root / hw / pci-host @ f487b677

# Date Author Comment
cbef02f8 06/02/2013 06:13 pm Michael S. Tsirkin

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 <>
Signed-off-by: Michael S. Tsirkin <>

68c0e134 05/30/2013 04:42 pm Michael S. Tsirkin

q35: set fw_name

PCI host bridges need to set fw_name to be discoverable
by 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:
Signed-off-by: Michael S. Tsirkin <>...

33201b51 05/15/2013 04:49 pm Peter Maydell

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 the
old QEMU behaviour of not putting the host PCI bridge device
where the hardware puts it, because they use a swizzling IRQ...

bc04d891 05/15/2013 04:49 pm Peter Maydell

hw/pci-host/versatile.c: Update autodetect to detect newer kernels

Newer versatilepb kernels still don't get the IRQ mapping right
for the PCI controller, but they get it differently wrong (they add
a fixed +64 offset to everything they write to PCI_INTERRUPT_LINE)....

913b4b6b 05/15/2013 04:49 pm Peter Maydell

hw/pci-host/versatile.c: Provide property for forcing broken IRQ mapping

Although we try our best to automatically detect broken versions
of Linux which assume the old broken IRQ mapping we used to implement
for our model of the Versatile PCI controller, it turns out that...

903ce9fe 04/27/2013 02:13 pm Artyom Tarasenko

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....

9625036d 04/27/2013 01:35 pm Artyom Tarasenko

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)...

852e82f3 04/27/2013 01:35 pm Artyom Tarasenko

sparc64: allow 64 IRQ lines

According to UltraSPARC™-IIi User’s Manual, PBM has 64 IRQ lines.

Signed-off-by: Artyom Tarasenko <>
Signed-off-by: Blue Swirl <>

af9277e6 04/19/2013 01:15 pm Peter Maydell

hw/versatile_pci: Drop unnecessary vpb_pci_config_addr()

Drop the vpb_pci_config_addr() function -- it is unnecessary since
the size of the memory regions means the hwaddr is always within
the 24 bit size. (This function was probably a leftover from when...

7468d73a 04/19/2013 01:15 pm Peter Maydell

versatile_pci: Implement the PCI controller's control registers

The versatile_pci PCI controller has a set of control registers which
handle the mapping between PCI and system address spaces. Implement
these registers (though for now they have no effect since we don't...

89a32d32 04/19/2013 01:15 pm Peter Maydell

versatile_pci: Expose PCI memory space to system

The VersatilePB's PCI controller exposes the PCI memory space to the
system via three regions controlled by the mapping control registers.
Implement this so that guests can actually use MMIO-BAR PCI cards....

5f37ef92 04/19/2013 01:15 pm Peter Maydell

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 <>
Acked-by: Paul Brook <>

66a96d70 04/19/2013 01:15 pm Peter Maydell

versatile_pci: Implement the correct PCI IRQ mapping

Implement the correct IRQ mapping for the Versatile PCI controller; it
differs between realview and versatile boards, but the previous QEMU
implementation was correct only for the first PCI card on a versatile...

cd93dbf3 04/19/2013 01:15 pm Peter Maydell

versatile_pci: Update to realize and instance init functions

Update the Versatile PCI controller to use a realize function rather
than SysBusDevice::init. To reflect the fact that the 'realview_pci'
class is taking most of its implementation from 'versatile_pci' (and...

0688810b 04/19/2013 01:15 pm Peter Maydell

versatile_pci: Change to subclassing TYPE_PCI_HOST_BRIDGE

Change versatile_pci to subclass TYPE_PCI_HOST_BRIDGE and generally
handle PCI in a more QOM-like fashion.

Signed-off-by: Peter Maydell <>
Acked-by: Paul Brook <>

967c2607 04/19/2013 01:15 pm Peter Maydell

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 make
any sense on ARM) for PCI I/O, create an memory region in the PCI
controller and use that to represent the I/O space....

c5c86c53 04/19/2013 01:15 pm Peter Maydell

versatile_pci: Fix hardcoded tabs

There is just one line in this source file with a hardcoded tab
indent, so just fix it.

Signed-off-by: Peter Maydell <>
Acked-by: Paul Brook <>

5fb8084f 04/19/2013 01:15 pm Peter Maydell

versatile_pci: Expose PCI I/O region on Versatile PB

Comments in the QEMU source code claim that the version of the PCI
controller on the VersatilePB board doesn't support the PCI I/O
region, but this is incorrect; expose that region, map it in the
correct location, and drop the misleading comments....

47b43a1f 04/08/2013 07:13 pm Paolo Bonzini

hw: move private headers to hw/ subdirectories.

Many headers are used only in a single directory. These can be
kept in hw/.

Signed-off-by: Paolo Bonzini <>

c0907c9e 04/08/2013 07:13 pm Paolo Bonzini

hw: move PCI bridges to hw/pci-* or hw/ARCH

Signed-off-by: Paolo Bonzini <>