Re: [Qemu-devel] Are there any IOMMU emulation in QEMU for x86 platform

2013-12-02 Thread Knut Omang

On Wed, 2013-11-20 at 00:01 +, 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





Re: [Qemu-devel] Are there any IOMMU emulation in QEMU for x86 platform

2013-11-19 Thread Jiang, Yunhong


> -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.

Paolo, thanks for reply.

--jyh

> 
> > 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.  Nested device
> assignment would require a host IOMMU, and would require the host
> IOMMU
> driver to do some kind of shadow-paging.
> 
> Paolo



Re: [Qemu-devel] Are there any IOMMU emulation in QEMU for x86 platform

2013-11-19 Thread Paolo Bonzini
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.

>   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.  Nested device
assignment would require a host IOMMU, and would require the host IOMMU
driver to do some kind of shadow-paging.

Paolo



[Qemu-devel] Are there any IOMMU emulation in QEMU for x86 platform

2013-11-18 Thread Jiang, Yunhong
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? 

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?

Thanks
--jyh