History | View | Annotate | Download (13 kB)
pci_bridge: upper 32 bit are long registers
Use pci_set_long for accesses.
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
pci_bridge: fix status: do not override cap bit
pci_bridge: user-friendly default bus name
For a pci bridge device, if we don't overridethe 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...
pci: convert to QEMU Object Model
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
pci_bridge: fix typo
Reviewed-by: Avi Kivity <avi@redhat.com>Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
pci_bridge: simplify memory regions some more
replace alloc/free with struct members.todo: smash with initial implementation aftertesting.
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 addressspace. But we don't init PCI bus's address space if it is not bus0. A crash was reported:...
pci: implement bridge filtering
Support bridge filtering on top of the memoryAPI as suggested by Avi Kivity:
Create a memory region for the bridge's address space. This region isnot directly added to system_memory or its descendants. Devices underthe bridge see this region as its pci_address_space(). The region is...
pci bridge: implement secondary bus reset
Trigger secondary bus reset when secondary bus reset bitvalue changes from 0 to 1.
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Introduce range.h
Extract range functions from pci.h. These will be used by later patchesby non-PCI devices. Adjust current users.
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>(cherry picked from commit bf1b00712375bea65f2254dea8281fa646eebbd5)
pci/bridge: fix pci_bridge_reset()
The lower bits of base/limit registers is RO and shouldn't be zerocleared on reset. This patch fixes it.In fact, the default value of base/limit registers aren't specifiedin the spec. And some bridges disable forwarding on reset instead of...
pci bridge: add helper function for ssvid capability.
helper function to add ssvid capability.
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
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....
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 <yamahata@valinux.co.jp>...
pci_bridge: rename PCIBridge::bus -> PCIBridge::sec_bus.
To avoid confusion of primary bus with secondary bus,rename PCIBridge::bus to PCIBridge::sec_bus.
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.cfor 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....