On Mon, Apr 01, 2019 at 09:12:38AM +0000, Elijah Shakkour wrote:
> 
> 
> > -----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?

Would you please answer the questions that Knut asked?  Is it working
for L1 guest?  How about PF?

You can also try to enable VT-d device log by appending:

  -trace enable="vtd_*"

In case it dumps anything useful for you.

-- 
Peter Xu

Reply via email to