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

RE: [Xen-users] PCI passtrough in HVM Domain ?


  • To: "Sven Oehme" <oehmes@xxxxxxxxxx>, xen-users@xxxxxxxxxxxxxxxxxxx
  • From: "Petersson, Mats" <Mats.Petersson@xxxxxxx>
  • Date: Fri, 19 May 2006 14:22:17 +0200
  • Delivery-date: Fri, 19 May 2006 05:22:00 -0700
  • List-id: Xen user discussion <xen-users.lists.xensource.com>
  • Thread-index: AcZ6wkk4vra84QjNTjSUwa3/VplC8QAe4edA
  • Thread-topic: [Xen-users] PCI passtrough in HVM Domain ?

PCI passthrough isn't supported for HVM guests yet. I don't know why - it shouldn't be too difficult to achieve, I would have thought, but on the other hand, for 90% of devices, it probably doesn't make much sense to just pass them on, since those 90% use direct memory accesses for the data transfers to/from the device, and thus you'd end up shipping out the wrong data - which at best means that the device just won't work, or at worst means that some data from another domain gets sent out to the public to see - the latter is worse becaue you wouldn't know it until you find that your bank-account has been emptied, because you sent all the details off onto the WWW and someone picked it up... ;-)
 
The reason for this is that the HVM guest domain THINKS that memory starts at address zero (or thereabouts) and goes to whatever size we've assigned it. But in reality, the memory used by the HVM guest is living at, for example, 256-512MB. So when the network card is told to transmit memory from address 123456, it should really transmit what's at 256MB + 123456, not actual address 123456. Since the OS and it's drivers are completely unaware about this fact, they can't really fix it...
 
There are two solutions to this problem:
1. Use an IOMMU - unfortunately, there's none available for common x86 hardware today [IBM has one, which is used for large MP systems, I think - not sure if it's x86 or PowerPC based].
2. Use para-virtualized drivers, so the driver is capable of figuring out that the ACTUAL physical address of the data to be DMA'd is different from the OS's idea of the address.
 
--
Mats
 


From: xen-users-bounces@xxxxxxxxxxxxxxxxxxx [mailto:xen-users-bounces@xxxxxxxxxxxxxxxxxxx] On Behalf Of Sven Oehme
Sent: 18 May 2006 22:32
To: xen-users@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-users] PCI passtrough in HVM Domain ?


Hi ,

can i pass a PCI device to a HVM domain ?
i tried Virtual_PCI and Pass trough as PCI_Backends.
in the boot log i see that he hides the device and when i start the domain it tells me that he assigned it now to the domain
but in both ways the Adapter doesn't appears in the Windows System that runs in the HVM domain.

any ideas ?

Sven
_______________________________________________
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®.