On Wed, 2013-11-20 at 00:01 +0000, Jiang, Yunhong wrote:
> 
> > -----Original Message-----
> > From: Paolo Bonzini [mailto:paolo.bonz...@gmail.com] On Behalf Of Paolo
> > Bonzini
> > Sent: Tuesday, November 19, 2013 1:14 AM
> > To: Jiang, Yunhong
> > Cc: qemu-devel@nongnu.org; da...@gibson.dropbear.id.au;
> > eduard.munte...@linux360.ro
> > Subject: Re: Are there any IOMMU emulation in QEMU for x86 platform
> > 
> > Il 19/11/2013 07:34, Jiang, Yunhong ha scritto:
> > > Hi, all
> > > I noticed there are several patchset has been sent out about IOMMU
> > emulation like
> > > http://lists.gnu.org/archive/html/qemu-devel/2011-10/msg03764.html,
> > > http://lists.gnu.org/archive/html/qemu-devel/2011-01/msg03196.html .
> > > Also I noticed that PPC platform has IOMMU emulation support in QEMU
> > > already. Are there any plan to support IOMMU emulation in QEMU for
> > x86 now?
> > 
> > Not that I know of.  Of course, patches are welcome.

I have been working on some code to emulate an Intel IOMMU - I have a
simple patch to SeaBIOS to provide a minimal DMAR table and skeleton
device code that answers about what the kernel would expect to the Intel IOMMU 
Linux driver boot a VM with intel_iommu=on 

I got as far as when I was going to try to figure out how to emulate the 
interrupt remapping 
which appears to be where the kernel gets stuck after I got past the initial 
setup 
and invalidation cycles.

Unfortunately I haven't had much time to work on it lately, but I'll be
happy to share what I have so far. I have created branches of qemu and seabios 
here:

git://github.com/knuto/seabios.git
git://github.com/knuto/qemu.git

> > >   And also, does it requires the real host platform have the IOMMU to
> > support the QEMU IOMMU emulation? Or it will be a purely software
> > emulation?
> > 
> > For emulated devices it could be purely software.  

I picture that the way forward should include some way of adapting to
what "real" hardware that exists and use the "best" approach from that.

> > Nested device
> > assignment would require a host IOMMU, and would require the host
> > IOMMU driver to do some kind of shadow-paging.
> > 
> > Paolo
> 

Knut Omang



Reply via email to