[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [RFC v3 0/2] Add Generic PCI host device update
From: |
Claudio Fontana |
Subject: |
Re: [Qemu-devel] [RFC v3 0/2] Add Generic PCI host device update |
Date: |
Thu, 15 Jan 2015 11:58:44 +0100 |
User-agent: |
Mozilla/5.0 (Windows NT 6.1; rv:24.0) Gecko/20100101 Thunderbird/24.0.1 |
On 14.01.2015 11:16, Alvise Rigo wrote:
> This is just an update to address the comments received on v2.
>
> This patch series is based on the previous work [1] and [2] by Rob Herring.
> This is a stand alone work, but I will not hesitate to split the patches in a
> more accurate way if needed.
>
> Changes from [1] and [2]:
> - memory topology definition has been revisited
> - memory addresses and sizes are now defined as qdev properties
> - four system interrupts are swizzled between all the PCI devices and their
> pins
> - other minor changes
> - removed implicit creation of lsi and pci-ohci devices
>
> Changes from v2:
> - Some comments from Peter Maydell have been addressed: the device tree node
> generation is moved back to the mach-virt platform as in the original work.
> For this reason, mach-virt is the only supported machine model at the
> moment.
> Moreover, the device tree node is statically created at the device init,
> while in the previous versions it was generated according to the PCI devices
> attached to the bus.
> - The creation of the device memory regions has been postponed in the realize
> function (thanks to Alexander Graf).
> - Various comments from Claudio Fontana have been addressed to better explain
> some crucial points of the adopted PCI specifications (see below).
>
> There are two specifications used by these patches. The first one regards
> mainly how to describe a PCI regions inside the dt node "ranges" property.
> Look
> at "PCI Bus binding: IEEE Std 1275-1994" for more details. The second instead
> regards mainly the properties "interrupt-map-mask" and "interrupt-map" that
> are
> described in "Open Firmware Recommended Practice: Interrupt Mapping". This
> document propose a way to route PCI interrupts to system interrupts. All
> these
> specifications have been firstly implemented, in kernel side, by the
> host-generic-pci driver.
>
> This work has been tested attaching several PCI devices to the mach-virt
> platform using an ARMv7 CPU. The tested devices are: virtio-blk-pci,
> virtio-net-pci, lsi53c895a and pci-ohci (all attached at the same time).
>
> TODO:
> - Add MSI, MSI-X support
> - PCI-E support. For this, you would probably look at Alexander Graf work [3]
>
> 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
> [3]
> "[Qemu-devel] [PATCH 0/4] ARM: Add support for a generic PCI Express host
> bridge"
> https://www.mail-archive.com/address@hidden/msg272648.html
>
>
>
> Alvise Rigo (2):
> pci/pci-host: Add generic-pci PCI host controller device
> hw/arm/virt: add generic-pci PCI host controller
>
> hw/arm/virt.c | 112 +++++++++++++++++++++++++++++-
> hw/pci-host/Makefile.objs | 2 +-
> hw/pci-host/generic-pci.c | 140
> ++++++++++++++++++++++++++++++++++++++
> include/hw/pci-host/generic-pci.h | 45 ++++++++++++
> 4 files changed, 297 insertions(+), 2 deletions(-)
> create mode 100644 hw/pci-host/generic-pci.c
> create mode 100644 include/hw/pci-host/generic-pci.h
>
Tested-by: Claudio Fontana <address@hidden>
Reviewed-by: Claudio Fontana <address@hidden>