On Mon, Jun 06, 2016 at 07:11:09PM +0200, Andrew Jones wrote: > On Mon, Jun 06, 2016 at 02:46:29PM +0200, Alexander Gordeev wrote: > > Hi all, > > > > This series should be applied on top of "Cleanup low-level arch code" > > series which is still not included. Yet, it is ready for review as > > all previous comments and suggestions are addressed. > > > > There might be some confusion about version numbering as I posted > > the previous version as RFC with no version number at all. In fact > > it was 3rd version so I am labelling this series as v4. Unlike the > > RFC it does not have gaps in implementation. > > > > There are quite a lot of changes since the previous version. > > > > I tried pci-testdev against ARM and got the device semi-operational. > > It is still to investigate, but that could be addressed separately. > > I'd like to either have this resolved, or at least understood it > before we accept the series. If you drop your pci-testdev > implementation (patch 11/12) into x86/vmexit.c, in order to replace > the implementation there, does pci-testdev still work? I.e. have > you checked if x86 works both with its current implementation and > yours? pci-testdev does not work. It does not work for x86/vmexit.c as well, but unlike my implementation x86/vmexit.c does not check status of device writes and therefore fails to notice that the writes do not take place for "wildcard-eventfd" and "datamatch-eventfd" cases. CONFIG_EVENTFD is set, so I am not sure what is happening here. pci-testdev also does not implement 16 and 32 bit accesses, although x86/vmexit.c and pci/pci-testdev.c do have code to test these two. It is not a bug though. > > Most interesting - writing to IO BAR on ARM does not seem working as > > a written value does not read back. Probably, ARM64 is also affected, > > but again - I have not investigated it yet. > > Maybe add some tracing to QEMU to see if the writes are making there. > > > Anyway, this series has really improved! I'm glad to see it coming > together! > > Thanks, > drew > > > > > Cc: Thomas Huth <thuth@xxxxxxxxxx> > > Cc: Andrew Jones <drjones@xxxxxxxxxx> > > > > Alexander Gordeev (12): > > pci: Fix coding style in generic PCI files > > pci: x86: Rename pci_config_read() to pci_config_readl() > > pci: x86: Add remaining PCI configuration space accessors > > pci: Rework pci_bar_addr() > > pci: Factor out pci_bar_get() > > pci: Add pci_bar_set_addr() > > pci: Add pci_dev_exists() > > pci: Add pci_print() > > pci: Add generic ECAM host support > > arm/arm64: pci: Add PCI bus operation test > > pci: Add pci-testdev PCI bus test device > > arm/arm64: pci: Add pci-testdev PCI device operation test > > > > arm/Makefile.common | 7 +- > > arm/pci-test.c | 31 ++++++ > > arm/run | 7 +- > > lib/arm/asm/pci.h | 26 +++++ > > lib/arm64/asm/pci.h | 1 + > > lib/pci-host-generic.c | 294 +++++++++++++++++++++++++++++++++++++++++++++++++ > > lib/pci-host-generic.h | 46 ++++++++ > > lib/pci-testdev.c | 184 +++++++++++++++++++++++++++++++ > > lib/pci.c | 194 ++++++++++++++++++++++++++++---- > > lib/pci.h | 33 +++++- > > lib/x86/asm/pci.h | 31 +++++- > > x86/vmexit.c | 4 +- > > 12 files changed, 830 insertions(+), 28 deletions(-) > > create mode 100644 arm/pci-test.c > > create mode 100644 lib/arm/asm/pci.h > > create mode 100644 lib/arm64/asm/pci.h > > create mode 100644 lib/pci-host-generic.c > > create mode 100644 lib/pci-host-generic.h > > create mode 100644 lib/pci-testdev.c > > > > -- > > 1.8.3.1 > > -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html