> -----Original Message----- > From: Peter Xu <pet...@redhat.com> > Sent: Monday, April 1, 2019 5:47 AM > To: Elijah Shakkour <elija...@mellanox.com> > Cc: Knut Omang <knut.om...@oracle.com>; Michael S. Tsirkin > <m...@redhat.com>; Alex Williamson <alex.william...@redhat.com>; > Marcel Apfelbaum <marcel.apfelb...@gmail.com>; Stefan Hajnoczi > <stefa...@gmail.com>; qemu-devel@nongnu.org > Subject: Re: QEMU and vIOMMU support for emulated VF passthrough to > nested (L2) VM > > On Sun, Mar 31, 2019 at 11:15:00AM +0000, Elijah Shakkour wrote: > > [...] > > > I didn't have DMA nor MMIO read/write working with my old command > line. > > But, when I removed all CPU flags and only provided "-cpu host", I see that > MMIO works. > > Still, DMA read/write from emulated device doesn't work for VF. For > example: > > Driver provides me a buffer pointer through MMIO write, this address > (pointer) is GPA of L2, and when I try to call pci_dma_read() with this > address > I get: > > " > > Unassigned mem read 0000000000000000 > > " > > I don't know where this error log was dumped but if it's during DMA then I > agree it can probably be related to vIOMMU. >
This log is dumped from: memory.c: unassigned_mem_read() > > As I said, my problem now is in translation of L2 GPA provided by driver, > when I call DMA read/write for this address from VF. > > Any insights? > > I just noticed that you were using QEMU 2.12 [1]. If that's the case, please > rebase to the latest QEMU, at least >=3.0 because there's major refactor of > the shadow logic during 3.0 devel cycle AFAICT. > Rebased to QEMU 3.1 Now I see the address I'm trying to read from in log but still same error: " Unassigned mem read 00000000f0481000 " What do you suggest? > > > > > > > > I'm using Knut Omang SRIOV patches rebased to QEMU v2.12. > > [1] > > Regards, > > -- > Peter Xu