On 06.01.2015 17:03, Alexander Graf wrote: > 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. > > > Happy new year! > > Alexander Graf (4): > pci: Split pcie_host_mmcfg_map() > pci: Add generic PCIe host bridge > arm: Add PCIe host bridge in virt machine > arm: enable Bochs PCI VGA > > default-configs/arm-softmmu.mak | 3 + > hw/arm/virt.c | 83 +++++++++++++++++++-- > hw/pci-host/Makefile.objs | 1 + > hw/pci-host/gpex.c | 156 > ++++++++++++++++++++++++++++++++++++++++ > hw/pci/pcie_host.c | 9 ++- > include/hw/pci-host/gpex.h | 56 +++++++++++++++ > include/hw/pci/pcie_host.h | 1 + > 7 files changed, 302 insertions(+), 7 deletions(-) > create mode 100644 hw/pci-host/gpex.c > create mode 100644 include/hw/pci-host/gpex.h >
Tested with a modified OSv guest on AArch64 using INTx interrupt method. Tested-by: Claudio Fontana <claudio.font...@huawei.com>