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

RE: [Xen-devel] Full virtualization and I/O



 

> -----Original Message-----
> From: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx 
> [mailto:xen-devel-bounces@xxxxxxxxxxxxxxxxxxx] On Behalf Of 
> Puthiyaparambil, Aravindh
> Sent: 22 November 2006 18:34
> To: Petersson, Mats; Thomas Heinz; xen-devel@xxxxxxxxxxxxxxxxxxx
> Subject: RE: [Xen-devel] Full virtualization and I/O
> 
> Mats,
> 
> > For fully virtualized mode (hardware supported virtual machine, such
> as
> > Finally, while I'm on the subject of fully virtualized mode: It is
> > currently not possible to give a DMA-based device to a
> fully-virtualized
> > domain. The reason for this is that the guest OS will have been told
> > that memory is from 0..256MB (say), and it's actual machine physical
> > address is at 256MB..512MB. The OS is completely unaware of this
> > "mismatch". So the OS will perform some operation to take a virtual
> > address of some buffer (say a network packet) and make it into a
> > "physical address", which will be an address in the range 
> of 0..256MB.
> > This will of course (at least) lead to the wrong data being
> transmitted,
> > as the address of the actual data is somewhere in the range
> > 256MB..512MB. The only solution to this is to have an 
> IOMMU, which can
> > translate the guest's understanding of a physical address (0..256MB)
> to
> > a machine physical address (256..512MB).
> 
> I know that individual domains can be given direct access to 
> individual
> PCI devices.
> 
> http://www.cl.cam.ac.uk/research/srg/netos/xen/readmes/user/us
> er.html#SE
> CTION03230000000000000000
> 
> Is this not possible with HVM domains? Is it possible for HVM 
> domains to
> be a PCI frontend and receive a PCI device which is "hidden" 
> from Dom0?
> Or is this what paravirtualized drivers for HVM domains are doing?

No, PV-on-HVM drivers are using the "standard" front/back-end driver
structures. 

You could write a Virtualization-Aware driver for HVM. That would
require replacing any "virtual-to-physical" translations from the native
OS driver version to a "virtualization aware" model that calls the
hypervisor to translate the data. 

Aside from that, all you need is a way to inform the HVM domain of the
existance of that PCI device, which shouldn't be a major deal. 

--
Mats
> 
> Thanks,
> Aravindh
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@xxxxxxxxxxxxxxxxxxx
> http://lists.xensource.com/xen-devel
> 
> 
> 



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


 


Rackspace

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