[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-users] RE: PCI Passthrough to VMX Guest



> -----Original Message-----
> From: David Goodlad [mailto:dgoodlad@xxxxxxxxx] 
> Sent: 21 March 2006 17:02
> To: Petersson, Mats
> Cc: mark.williamson@xxxxxxxxxxxx; xen-users@xxxxxxxxxxxxxxxxxxx
> Subject: Re: PCI Passthrough to VMX Guest
> 
> On 3/21/06, Petersson, Mats <Mats.Petersson@xxxxxxx> wrote:
> >
> >
> > > -----Original Message-----
> > > From: xen-users-bounces@xxxxxxxxxxxxxxxxxxx
> > > [mailto:xen-users-bounces@xxxxxxxxxxxxxxxxxxx] On Behalf Of M.A. 
> > > Williamson
> > > Sent: 21 March 2006 15:46
> > > To: David Goodlad
> > > Cc: xen-users@xxxxxxxxxxxxxxxxxxx
> > > Subject: Re: [Xen-users] PCI Passthrough to VMX Guest
> > >
> > > Sorry, PCI passthrough to VMX guests isn't supported - 
> the guest has 
> > > to be paravirt and be running the PCI frontend driver.
> > >
> > > The VMX spec does include some helpful features for passing PCI 
> > > devices through to a guest, and I'm sure it's possible to make it 
> > > work - in principle. I don't know of anyone actually planning to 
> > > hack on it though :-(
> >
> > One of the problems with this is that the OS/Driver that 
> supports the 
> > nVidia (or other graphics adapter) will need to actually know it's 
> > physical addresses in memory - something that it doesn't, 
> because the 
> > HVM solution may well tell the OS that it's got 512MB of 
> memory from 0 
> > to 512M, but it's ACTUALLY living at 512M to 1G. So when 
> the graphics 
> > driver says "You have a bitmap at 128MB", it should 
> actually say "You 
> > have a bitmap at 640MB". Until there's an IOMMU implementation, 
> > there's nothing we can do about this.
> >
> > So even if you COULD assign your PCI device to the DomU, it still 
> > wouldn't do the right thing... :-(
> >
> > So until then, there's a bit of a problem implementing any complex 
> > hardware support in a virtual machine. There may be ways to solve 
> > this, but they are non-trivial (and most like specific to the 
> > particular hardware...).
> >
> > --
> > Mats
> >
> >
> 
> Ahh, that clears things up.  I never thought of the memory 
> addressing issue!  I assume that this issue is handled in 
> paravirtualized machines by the PCI frontend driver?

Actually, in the paravirtualized case, it's MOSTLY the para-virtualized
driver for the hardware and kernel modifications in the para-virt kernel
that fixes up things. Since the para-virt kernel KNOWS that it's
virtual, it can fix things up for itself. When you're running under HVM,
the kernel doesn't actually know that it's not running on a real
hardware, and thus can't fix things like this up. The IOMMU that AMD is
going to put in the NEXT generation of SVM processors (not the ones
coming out this year, next years models), will be able to fix this up. I
think Intel has some similar spec, but I'm not an expert on that. 

For now, I think we'll need to fix things up with para-virtualized
drivers for HVM systems, which means that you'd have to install a
special driver once you've got your unmodified kernel working as a
virtual machine... 

--
Mats
> 
> Dave
> 
> 
> --
> Dave Goodlad
> dgoodlad@xxxxxxxxx or dave@xxxxxxxxxx
> http://david.goodlad.ca/
> 
> 


_______________________________________________
Xen-users mailing list
Xen-users@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-users


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.