[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [qemu-s390x] [PATCH v4 0/7] s390x/pci: Improve zPCI to cover more ca
From: |
Cornelia Huck |
Subject: |
Re: [qemu-s390x] [PATCH v4 0/7] s390x/pci: Improve zPCI to cover more cases |
Date: |
Fri, 1 Dec 2017 11:29:59 +0100 |
On Thu, 30 Nov 2017 13:55:23 +0100
Pierre Morel <address@hidden> wrote:
> This patch fixes the following BUG:
> Even a guest is able to detect virtio_pci device, the init function
> the Linux virtio_pci driver will hang because zPCI does not support
> the subregions used by virtio_pci.
>
> It follows that right now the PCI support is very limited
> (e.g. pass through of a host vfio device)
> To enable features like virtio-pci several modifications needs to be
> done.
>
> As already stated above, Virtio-PCI uses subregions, which may eventually
> be discontinuous inside bars instead of a single flat region often used
> by real devices.
> The address offset being formerly calculated from the BAR base address
> must be adapted to the subregions instead of to the single region.
>
> This patch provides the new calculation for the three kind of BAR
> access, zPCI STORE, zPCI LOAD and zPCI STORE BLOCK done by zPCI.
>
> We use the opportunity to
> - enhance the fault detection for zPCI STORE and LOAD,
> - enhance the fault detection and to provide the maximum STORE BLOCK
> block size, maxstbl, for zPCI STORE BLOCK
> - factor out part of the code used to calculate the offset and
> access the BARs,
> - factor out the code for endianess conversion.
>
>
> Pierre Morel (7):
> s390x/pci: factor out endianess conversion
> s390x/pci: rework PCI STORE
> s390x/pci: rework PCI LOAD
> s390x/pci: rework PCI STORE BLOCK
> s390x/pci: move the memory region read from pcilg
> s390x/pci: move the memory region write from pcistg
> s390x/pci: search for subregion inside the BARs
>
> hw/s390x/s390-pci-bus.h | 1 +
> hw/s390x/s390-pci-inst.c | 251
> ++++++++++++++++++++++++++++-------------------
> hw/s390x/s390-pci-inst.h | 6 +-
> 3 files changed, 158 insertions(+), 100 deletions(-)
>
I massaged this to fit on top of David's patchset and it still works
fine with my pci/tcg patches.
Some small comments for things I can fix up myself (will reply to
individual patches). On the whole, I'm inclined to queue this.