Statistics
| Branch: | Revision:

root / hw / pci_bridge.c @ 4be403c8

History | View | Annotate | Download (12.9 kB)

# Date Author Comment
5e59b024 07/29/2012 05:05 pm Michael S. Tsirkin

Merge branch pci into master

Merge master and pci branch, resolve build breakage in hw/esp.c
introduced by f90c2bcd.

Conflicts:
hw/esp.c

f90c2bcd 07/04/2012 03:52 pm Alex Williamson

pci: convert PCIUnregisterFunc to void

Not a single driver has any possibility of failure on their
exit function, let's keep it that way.

Signed-off-by: Alex Williamson <>
Signed-off-by: Michael S. Tsirkin <>

8aca5215 06/18/2012 06:35 pm Anthony Liguori

Merge remote-tracking branch 'afaerber-or/qom-next-2' into staging

  • afaerber-or/qom-next-2: (22 commits)
    qom: Push error reporting to object_property_find()
    qdev: Remove qdev_prop_exists()
    qbus: Initialize in standard way
    qbus: Make child devices links...
0d936928 06/18/2012 04:14 pm Anthony Liguori

qdev: Convert busses to QEMU Object Model

This is far less interesting than it sounds. We simply add an Object to each
BusState and then register the types appropriately. Most of the interesting
refactoring will follow in the next patches.

Since we're changing fundamental type names (BusInfo -> BusClass), it all needs...

cbd2d434 06/07/2012 05:19 pm Jan Kiszka

msi: Invoke msi/msix_reset from PCI core

There is no point in pushing this burden to the devices, they tend to
forget to call them (like intel-hda, ahci, xhci did). Instead, reset
functions are now called from pci_device_reset. They do nothing if
MSI/MSI-X is not in use....

cd7898f7 03/16/2012 12:41 am Michael S. Tsirkin

pci_bridge: upper 32 bit are long registers

Use pci_set_long for accesses.

Signed-off-by: Michael S. Tsirkin <>

95be1196 03/15/2012 05:04 pm Michael S. Tsirkin

pci_bridge: fix status: do not override cap bit

8a3d80fa 03/15/2012 05:04 pm Michael S. Tsirkin

pci_bridge: user-friendly default bus name

For a pci bridge device, if we don't override
the name with custom code, the bus will be addressed as
<id>.0, where id is the id specified by the user.

Since PCI Bridge devices have a single bus each, we don't need...

40021f08 01/27/2012 06:50 pm Anthony Liguori

pci: convert to QEMU Object Model

Signed-off-by: Anthony Liguori <>

52ce6f05 10/23/2011 05:05 pm Blue Swirl

pci_bridge: fix typo

Reviewed-by: Avi Kivity <>
Signed-off-by: Blue Swirl <>

336411ca 09/20/2011 05:46 pm Michael S. Tsirkin

pci_bridge: simplify memory regions some more

replace alloc/free with struct members.
todo: smash with initial implementation after
testing.

Signed-off-by: Michael S. Tsirkin <>

778d1799 09/19/2011 09:22 pm Wen Congyang

pci_bridge: use parent bus's address space

The switch to the new memory API caused the following problem:

The pci device may call pci_register_bar() to use PCI bus's address
space. But we don't init PCI bus's address space if it is not bus
0. A crash was reported:...

7df32ca0 09/19/2011 09:22 pm Michael S. Tsirkin

pci: implement bridge filtering

Support bridge filtering on top of the memory
API as suggested by Avi Kivity:

Create a memory region for the bridge's address space. This region is
not directly added to system_memory or its descendants. Devices under
the bridge see this region as its pci_address_space(). The region is...

a5fce077 11/22/2010 10:00 am Isaku Yamahata

pci bridge: implement secondary bus reset

Trigger secondary bus reset when secondary bus reset bit
value changes from 0 to 1.

Signed-off-by: Isaku Yamahata <>
Signed-off-by: Anthony Liguori <>
Signed-off-by: Michael S. Tsirkin <>

5afb9869 10/27/2010 08:01 pm Blue Swirl

Introduce range.h

Extract range functions from pci.h. These will be used by later patches
by non-PCI devices. Adjust current users.

Signed-off-by: Blue Swirl <>
(cherry picked from commit bf1b00712375bea65f2254dea8281fa646eebbd5)

0208def1 10/20/2010 01:05 pm Isaku Yamahata

pci/bridge: fix pci_bridge_reset()

The lower bits of base/limit registers is RO and shouldn't be zero
cleared on reset. This patch fixes it.
In fact, the default value of base/limit registers aren't specified
in the spec. And some bridges disable forwarding on reset instead of...

f4c817e0 09/07/2010 08:10 pm Isaku Yamahata

pci bridge: add helper function for ssvid capability.

helper function to add ssvid capability.

Signed-off-by: Isaku Yamahata <>
Signed-off-by: Michael S. Tsirkin <>

68f79994 09/07/2010 08:01 pm Isaku Yamahata

pci_bridge: introduce pci bridge library.

introduce pci bridge library.
convert apb bridge and dec p2p bridge to use new pci bridge library.
save/restore is supported as a side effect.
This is also preparation for pci express root/upstream/downstream port....

51a92333 07/22/2010 12:21 pm Isaku Yamahata

pci_bridge: clean up: remove pci_{register, unregister}_secondary_bus()

Remove pci_{register, unregister}_secondary_bus() by open code.
They are old stype API and aren't used any more by others. So eliminate it.

Signed-off-by: Isaku Yamahata <>...

7e98e3af 07/22/2010 12:21 pm Isaku Yamahata

pci_bridge: rename PCIBridge::bus -> PCIBridge::sec_bus.

To avoid confusion of primary bus with secondary bus,
rename PCIBridge::bus to PCIBridge::sec_bus.

Signed-off-by: Isaku Yamahata <>
Signed-off-by: Michael S. Tsirkin <>

783753fd 07/22/2010 12:21 pm Isaku Yamahata

pci/bridge: split out pci bridge code into pci_bridge.c from pci.c

Move pci bridge related code into pci_bridge.c from pci.c
for further enhancement. pci.c is big enough now, so split it out.
No code change but exporting some accesser functions.

In fact, few pci bridge functions stays in pci.c....