[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [0/10] Clean up PCI code to allow for multiple root buses (
From: |
David Gibson |
Subject: |
[Qemu-devel] [0/10] Clean up PCI code to allow for multiple root buses (v2) |
Date: |
Thu, 6 Jun 2013 18:48:44 +1000 |
The current PCI subsystem has kind of half-hearted support for
multiple independent root buses - aka PCI domains - in the form of the
PCIHostBus structure and its domain field. However, it doesn't quite
work because pci_host_bus_register() is always called with a domain of
0.
Worse, though, the whole concept of numbered domains isn't general
enough. Many platforms can have independent root buses (usually on
wholly independent host bridges), but only x86 gives them a
hardware-significant domain number, essentially as a hack to allow all
the separate config spaces to be accessed via the same IO ports.
Linux guests on other platforms will show domain numbers in lspci, but
these are purely guest assigned, so qemu won't know about them.
This patch series, therefore, removes the broken-as-is domain concept
from qemu, and replaces it with a different way of handling multiple
root buses, based on a host bridge class method to provide a
identifier for the root bus. This hook is designed in such a way as
to allow a single bridge object to support mutiple root buses with
future changes, which will allow future implementations of x86 north
bridges with multiple domains to be supported correctly, and in way
that matches the existing practice for all external interfaces.
v2:
* Rework concept of "primary" bus in response to Michael Tsirkin's
comments.
- [Qemu-devel] [0/10] Clean up PCI code to allow for multiple root buses (v2),
David Gibson <=
- [Qemu-devel] [PATCH 04/10] pci: Use helper to find device's root bus in pci_find_domain(), David Gibson, 2013/06/06
- [Qemu-devel] [PATCH 08/10] pci: Simpler implementation of primary PCI bus, David Gibson, 2013/06/06
- [Qemu-devel] [PATCH 06/10] pci: Add root bus argument to pci_get_bus_devfn(), David Gibson, 2013/06/06
- [Qemu-devel] [PATCH 09/10] pci: Remove domain from PCIHostBus, David Gibson, 2013/06/06
- [Qemu-devel] [PATCH 02/10] pci: Move pci_read_devaddr to pci-hotplug-old.c, David Gibson, 2013/06/06
- [Qemu-devel] [PATCH 03/10] pci: Abolish pci_find_root_bus(), David Gibson, 2013/06/06
- [Qemu-devel] [PATCH 01/10] pci: Cleanup configuration for pci-hotplug.c, David Gibson, 2013/06/06
- [Qemu-devel] [PATCH 10/10] pci: Fold host_buses list into PCIHostState functionality, David Gibson, 2013/06/06
- [Qemu-devel] [PATCH 07/10] pci: Add root bus parameter to pci_nic_init(), David Gibson, 2013/06/06