Hi Alvise, I now got to test the series for my use case, in particular to enable the ARM 64bit OSv guest (OSv's devices come from pci + virtio).
Could you respin the series, possibly including also Rob's patches, addressing the issues which have been raised before? Thanks! Claudio On 11.07.2014 09:21, Alvise Rigo wrote: > This patch series is based on the previous work [1] and [2] by Rob > Herring and it tries to enhance this work on these points: > > - Some of the hardcoded values have been moved to an header file. This > header file is also used to share some device structures with the > mach-virt machine. > - The interrupt-map dt node generation has been revisited; it is now > done after the generic devices init so that it's possible to attach > PCI devices by mean of the qdev infrastructure. This allows to have > several devices in the PCI bus, with the current limitation of one > interrupt per PCI slot. > > Probably the most objectionable part of these patches regards the way > some data and definitions have been shared between the machine and the > device code; a better solution is still under evaluation. Any advice on > this and on the rest of the work is highly appreciated. > > This work has been tested attaching several PCI devices to the mach-virt > platform. The tested devices are: virtio-blk-pci, virtio-net-pci, > lsi53c895a and pci-ohci (all attached at the same time). > Even if the original work was not changed in its core functionalities, I > couldn't reproduce the malfunctioning of the LSI SCSI mentioned in [1]. > After attaching several qcow2 images, formatting and filling them, I > didn't notice anything wrong. Am I missing something? > > Thank you, > alvise > > [1] > "[Qemu-devel] [RFC PATCH 1/2] hw/pci-host: add a generic PCI host" > http://lists.gnu.org/archive/html/qemu-devel/2014-06/msg03482.html > [2] > "[Qemu-devel] [RFC PATCH 2/2] hw/arm/virt: Add generic PCI host device" > http://lists.gnu.org/archive/html/qemu-devel/2014-06/msg03483.html > > Alvise Rigo (8): > mach-virt: move GIC inside mach-virt structure > mach-virt: improve PCI memory topology definition > QEMUMachine: finalize_dt function > generic_pci: create header file > generic_pci: create own map irq function > generic_pci: generate dt node after devices init > generic_pci: realize device with machine data > generic_pci: add interrupt map structures > > hw/arm/virt.c | 110 +++++++++++++++--------- > hw/pci-host/generic-pci.c | 173 > +++++++++++++++++++++++++++++--------- > include/hw/boards.h | 4 + > include/hw/pci-host/pci_generic.h | 66 +++++++++++++++ > vl.c | 5 ++ > 5 files changed, 277 insertions(+), 81 deletions(-) > create mode 100644 include/hw/pci-host/pci_generic.h >