WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

[Xen-devel] How to do direct assignment of devices to VM in Xen.

To: <xen-devel@xxxxxxxxxxxxxxxxxxx>
Subject: [Xen-devel] How to do direct assignment of devices to VM in Xen.
From: "Saripalli, Ramakrishna" <ramakrishna.saripalli@xxxxxxxxx>
Date: Tue, 27 Jun 2006 22:14:41 -0700
Delivery-date: Tue, 27 Jun 2006 22:15:52 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Thread-index: AcaaccLUvPyP5ggMS6GwrJN2XEhRDg==
Thread-topic: How to do direct assignment of devices to VM in Xen.

I have installed Suse Enterprise 10 RC 2.5 x64 edition on a dual proc EM64T machine that I have @ work. Here is what I am booting. The chipset does not have any IOMMU engine in it. The processor has Intel® VT-x extensions enabled.

 

  • I boot to the Xen kernel option in GRUB.
  • I have installed the same image as a VM (is that ok) using the Xen management console in the control panel. I assume this is the user kernel and the Xen kernel itself is dom0.
  • I have a specialized PCIe device that appears in the config space of the kernel (when I do lspci –vv).
    • Of course, it does not appear in the VM kernel. In fact, lspci returns a null string.
  • I would like to assign the device directly to the VM kernel.
    • What is the procedure I need to do to recompile the kernel (both dom0 and VM kernel) to make this happen?.
    • Essentially, the driver running in the VM should be able to access the device using its config space, issue MMIO requests as well as program the device with DMA requests. The DMA requests should obviously be using host physical addresses.
    • How do the VM kernels know about host physical addresses?.
      • Can they make a hypercall to get a HPA from a VM GPA?.
    • Alternatively, I could have a proxy in the dom0 kernel that programs the device with DMA regions and then does double buffering from its regions to the VM GPA.
      • Even then, I am assuming that the hypercalls would have to be implemented.

 

Another question. Since the Xen in the above Linux distribution is using Intel® VT-x extensions, how do I dump the VMCS for the user image when I boot the Xen kernel?. Is there a virtual device in the /dev filesystem that points to the user image’s memory dump (kind of like /dev/kmem for the VM GPA).

 

Thanks,

RK

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-devel] How to do direct assignment of devices to VM in Xen., Saripalli, Ramakrishna <=