qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel]  [PATCH V3 0/3]  hw/pcie: Multi-root support for Q35
@ 2015-11-26 16:00 Marcel Apfelbaum
  2015-11-26 16:00 ` [Qemu-devel] [PATCH V3 1/3] hw/acpi: merge pxb adjacent memory/IO ranges Marcel Apfelbaum
                   ` (3 more replies)
  0 siblings, 4 replies; 22+ messages in thread
From: Marcel Apfelbaum @ 2015-11-26 16:00 UTC (permalink / raw)
  To: qemu-devel
  Cc: ehabkost, mst, armbru, kraxel, laine, pbonzini, marcel, imammedo,
	lersek, rth

Note:
I took the liberty to CC all the reviewers that took their time
and had a look on the previous version, thanks!!

The PXB host bridge provides a way to have multiple PCI hierarchies (PCI root buses).
This series introduces the pxb-pcie counterpart for PCI Express machines(Currently Q35).

This approach works because the Root Complexes are exposed to guest as regular
(legacy) opaque PCI host bridges.

Tested on Fedora and Windows guests with both Root Ports and PCIe Switches.

v2 -> v3:
 Addressed Eduardo Habkost comments:
 - Added a bus property to PC machines and use it when querying bus 0.
 Addressed comments from multiple reviewers (Paolo,Markus,Gerd,Michael)
 - The issue was the backport compatibility when the PXB changes.
 - Following all the comments I chose:
   - Leave the PXB intact as it does the job and all its features
     (including the internal pci bridge) makes sense.
   - Add a new device that re-uses all the PXB code but is exposed as
     a different device to guests.
   - Once the functionality of the new device diverges we will have
     no problem to separate the code.

v1 -> v2:
 Addressed Gerd Hoffmann comments:
 - Added x-enable-internal-bridge compat property to keep the PCI
   bridge for older machine to avoid breaking migration.

Thanks,
Marcel

Marcel Apfelbaum (3):
  hw/acpi: merge pxb adjacent memory/IO ranges
  hw/pxb: introduce pxb-pcie expander for PCIe machines
  hw/i386: extend pxb query for all PC machines

 hw/i386/acpi-build.c                | 126 +++++++++++++++++++++---------------
 hw/i386/pc.c                        |   2 +-
 hw/i386/pc_piix.c                   |   1 +
 hw/i386/pc_q35.c                    |   1 +
 hw/pci-bridge/pci_expander_bridge.c |  98 +++++++++++++++++++++++-----
 include/hw/i386/pc.h                |   1 +
 include/hw/pci/pci.h                |   1 +
 7 files changed, 163 insertions(+), 67 deletions(-)

-- 
2.1.0

^ permalink raw reply	[flat|nested] 22+ messages in thread

end of thread, other threads:[~2015-12-01 22:33 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-11-26 16:00 [Qemu-devel] [PATCH V3 0/3] hw/pcie: Multi-root support for Q35 Marcel Apfelbaum
2015-11-26 16:00 ` [Qemu-devel] [PATCH V3 1/3] hw/acpi: merge pxb adjacent memory/IO ranges Marcel Apfelbaum
2015-11-26 16:00 ` [Qemu-devel] [PATCH V3 2/3] hw/pxb: introduce pxb-pcie expander for PCIe machines Marcel Apfelbaum
2015-11-26 16:00 ` [Qemu-devel] [PATCH V3 3/3] hw/i386: extend pxb query for all PC machines Marcel Apfelbaum
2015-11-27 17:28   ` Eduardo Habkost
2015-11-29  8:46     ` Marcel Apfelbaum
2015-11-30 15:07       ` Eduardo Habkost
2015-12-01 14:07         ` Marcel Apfelbaum
2015-12-01 14:48           ` Eduardo Habkost
2015-12-01 14:55             ` Marcel Apfelbaum
2015-12-01 15:09               ` Eduardo Habkost
2015-12-01 16:50                 ` Marcel Apfelbaum
2015-12-01 17:10                   ` Eduardo Habkost
2015-12-01 18:20   ` Eduardo Habkost
2015-12-01 20:53     ` Marcel Apfelbaum
2015-12-01 22:33       ` Eduardo Habkost
2015-11-26 17:01 ` [Qemu-devel] [PATCH V3 0/3] hw/pcie: Multi-root support for Q35 Laszlo Ersek
2015-11-26 18:35   ` Marcel Apfelbaum
2015-11-27 17:04     ` Igor Mammedov
2015-11-29  8:53       ` Marcel Apfelbaum
2015-11-29 12:37   ` Marcel Apfelbaum
2015-11-30  5:23     ` Laszlo Ersek

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).