xen-devel
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
|
|
|