All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH v5 0/4] ARM: Add support for a generic PCI Express host bridge
@ 2015-02-06 17:04 Alexander Graf
  2015-02-06 17:04 ` [Qemu-devel] [PATCH v5 1/4] pci: Allocate PCIe host bridge PCI ID Alexander Graf
                   ` (4 more replies)
  0 siblings, 5 replies; 9+ messages in thread
From: Alexander Graf @ 2015-02-06 17:04 UTC (permalink / raw)
  To: qemu-devel
  Cc: Peter Maydell, ard.biesheuvel, rob.herring, mst, claudio.fontana,
	stuart.yoder, a.rigo

Linux implements a nice binding to describe a "generic" PCI Express host bridge
using only device tree.

This patch set adds enough emulation logic to expose the parts that are
"generic" as a simple sysbus device and maps it into ARM's virt machine.

With this patch set, we can finally spawn PCI devices on ARM VMs. I was able
to have a fully DRM enabled virtual machine with VGA, e1000 and XHCI (for
keyboard and mouse) up and working.

It's only a small step for QEMU, but a big step for ARM VM's usability.

v1 -> v2:

  - Add documentation links
  - Remove mmio_window_size
  - Add define for pci range types
  - Use 4 PCI INTX IRQ lines

v2 -> v3:

  - Update patch description
  - Increase ecam region to full size
  - Expose number of irqs via define
  - Update header description
  - Update host bridge qom description string
  - Use new Red Hat PCIe host bridge PCI ID
  - Coding style fixes
  - Map ECAM space via alias to limit its size
  - Increase ECAM size to 16 buses
  - Use GPEX IRQ number define
  - Align ECAM region, Document region allocation better
  - Move interrupt-map into irq map function
  - s/FDT_PCI_RANGE_TYPE/FDT_PCI_RANGE_TYPE_MASK/

v3 -> v4:

  - update memory map comment

v4 -> v5:

  - fix size alignment calculation
  - expose bus-range as 16
  - improve mmio map comment

Alexander Graf (4):
  pci: Allocate PCIe host bridge PCI ID
  pci: Add generic PCIe host bridge
  arm: Add PCIe host bridge in virt machine
  pci: Move PCI VGA to pci.mak

 default-configs/alpha-softmmu.mak    |   2 -
 default-configs/arm-softmmu.mak      |   2 +
 default-configs/i386-softmmu.mak     |   2 -
 default-configs/mips-softmmu.mak     |   2 -
 default-configs/mips64-softmmu.mak   |   2 -
 default-configs/mips64el-softmmu.mak |   2 -
 default-configs/mipsel-softmmu.mak   |   2 -
 default-configs/pci.mak              |   2 +
 default-configs/ppc-softmmu.mak      |   2 -
 default-configs/ppc64-softmmu.mak    |   2 -
 default-configs/ppcemb-softmmu.mak   |   2 -
 default-configs/sparc64-softmmu.mak  |   2 -
 default-configs/x86_64-softmmu.mak   |   2 -
 hw/arm/virt.c                        | 137 +++++++++++++++++++++++++++++--
 hw/pci-host/Makefile.objs            |   1 +
 hw/pci-host/gpex.c                   | 154 +++++++++++++++++++++++++++++++++++
 include/hw/pci-host/gpex.h           |  56 +++++++++++++
 include/hw/pci/pci.h                 |   1 +
 include/sysemu/device_tree.h         |   9 ++
 19 files changed, 357 insertions(+), 27 deletions(-)
 create mode 100644 hw/pci-host/gpex.c
 create mode 100644 include/hw/pci-host/gpex.h

-- 
1.7.12.4

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

end of thread, other threads:[~2015-02-25 11:29 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-02-06 17:04 [Qemu-devel] [PATCH v5 0/4] ARM: Add support for a generic PCI Express host bridge Alexander Graf
2015-02-06 17:04 ` [Qemu-devel] [PATCH v5 1/4] pci: Allocate PCIe host bridge PCI ID Alexander Graf
2015-02-06 17:04 ` [Qemu-devel] [PATCH v5 2/4] pci: Add generic PCIe host bridge Alexander Graf
2015-02-06 17:04 ` [Qemu-devel] [PATCH v5 3/4] arm: Add PCIe host bridge in virt machine Alexander Graf
2015-02-24 15:09   ` Peter Maydell
2015-02-25  9:52     ` Alexander Graf
2015-02-25 11:29       ` Peter Maydell
2015-02-06 17:04 ` [Qemu-devel] [PATCH v5 4/4] pci: Move PCI VGA to pci.mak Alexander Graf
2015-02-06 17:20 ` [Qemu-devel] [PATCH v5 0/4] ARM: Add support for a generic PCI Express host bridge Peter Maydell

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.