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

RE: [Xen-devel] Using VT-D to grant a Windows DomU access to a PCIExpres

To: "David Stone" <unclestoner@xxxxxxxxx>, "Xen Developers" <xen-devel@xxxxxxxxxxxxxxxxxxx>
Subject: RE: [Xen-devel] Using VT-D to grant a Windows DomU access to a PCIExpress graphics card?
From: "Han, Weidong" <weidong.han@xxxxxxxxx>
Date: Fri, 7 Dec 2007 10:03:48 +0800
Delivery-date: Thu, 06 Dec 2007 18:04:32 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
In-reply-to: <1a74a8410712061118h538b4a08wca216c1ec1447078@xxxxxxxxxxxxxx>
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>
References: <1a74a8410712061118h538b4a08wca216c1ec1447078@xxxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Thread-index: Acg4PTJbVMN3JHnDT+a3tsRRIG8AlAANhfUg
Thread-topic: [Xen-devel] Using VT-D to grant a Windows DomU access to a PCIExpress graphics card?
David Stone wrote:
>  I've also been trying to get hardware-accelerate Direct3D to work in
> a (Windows) DomU via VT-D.  I've got a PCI NIC passing through fine,
> but 
> not a graphics carrd.  The points below describe where I'm at and what
> is happening.  I'd appreciate any help anyone could offer, and also I
> have these specific questions:
> 
> Is PCI Express supported by VT-D and/or Xen's VT-D support?  

Yes.

> graphics card I'd like to pass through is PCI Express.
> If so, what PCI devices do I have to hide from Dom0 and pass to my
> Windows DomU?  Do I need to do this for the "PCI Express Root Port"
> AND "PCI Express Port 1" PCI devices as well has the graphics card
> itself?

Graphices card is special. Many tricky things need to be done, such as
frame buffer, VGA guest bios, etc. So current VT-d in Xen doesn't
support assigning graphics card yet.

> What device types have been tested (informally) with Xen's VT-D
> support?  NICs I assume (plus NICs work fine for me anyway), anything
> else?  Has all the testing been with a Linux HVM DomU, or also other
> OS DomU's
> 

NICs including PCI and PCIe are regularly tested, you can see test
results in mailing list. Disk and USB devices should also work. Current
VT-d only supports HVM guests including Windows and Linux. In addition,
VT-d only works on 64-bit and 32PAE host.

> 
>  - I have a machine with a VT-D IOMMU (Dell Optiplex 755).
>  - I'm using various Xen builds from xen-unstable.
>  - I've verified that (for certain builds) Xen's VT-D support is
> working for me.  I used a NIC PCI device (for a couple of reasons) as
> a test of VT-D/Xen, and it works...I can see the actual NIC in Windows
> 2003 DomU's Device Manager (not an emulated NIC nor a PV driver), and
> it interacts with the network fine.  Furthermore I can RDP into the
> Windows DomU
>  - The next step was to try passing the PCI Express graphics card (an
> ATI) through to the Windows DomU.
>  - In order to save my graphics card for my Windows DomU,  I tell
> various components (grub, Xen kernel, Linux kernel) to use the serial
> port instead of the graphics card.  I also pciback.hide the PCI
> Express graphics card from Dom0 (just as I hid the PCI NIC).  When
> booting up Xen/Dom0 the all I see on the monitor is the BIOS spash
> screen, "Grub Loading Stage2...", and after that just a black screen
> with a blinking cursor in the upper-left corner.  Everything else
> starting with the Grub selection screen is through the serial port.
>  - I start up my Windows DomU.  For now the intent is to RDP into it
> and see if Windows sees the graphics card I passed through to it or
> not.  (As stated above, this works fine if I don't try to pass through
> the graphics card)  But, after may 20 seconds (about the time it takes
> the Windows DomU to fully boot up normally), my physical machine
> hangs.  The last thing is just an open-parenthesis on the serial
> console (where I have Xen directing it's output)...I presume it is the
> beginning of a message from Xen that is related to the hang, because I
> don't see any such message normally.
> 
> lspci -nn
> 00:00.0 Host bridge [0600]: Intel Corporation DRAM Controller
> [8086:29b0] (rev 02)
> 00:01.0 PCI bridge [0604]: Intel Corporation PCI Express Root Port
> [8086:29b1] (rev 02)
> 00:03.0 Communication controller [0780]: Intel Corporation MEI
> Controller [8086:29b4] (rev 02)
> 00:03.2 IDE interface [0101]: Intel Corporation PT IDER Controller
> [8086:29b6] (rev 02)
> 00:03.3 Serial controller [0700]: Intel Corporation Serial KT
> Controller [8086:29b7] (rev 02)
> 00:1a.0 USB Controller [0c03]: Intel Corporation USB UHCI Controller
> #4 [8086:2937] (rev 02)
> 00:1a.1 USB Controller [0c03]: Intel Corporation USB UHCI Controller
> #5 [8086:2938] (rev 02)
> 00:1a.7 USB Controller [0c03]: Intel Corporation USB2 EHCI Controller
> #2 [8086:293c] (rev 02)
> 00:1b.0 Audio device [0403]: Intel Corporation HD Audio Controller
> [8086:293e] (rev 02)
> 00:1c.0 PCI bridge [0604]: Intel Corporation PCI Express Port 1
> [8086:2940] (rev 02)
> 00:1d.0 USB Controller [0c03]: Intel Corporation USB UHCI Controller
> #1 [8086:2934] (rev 02)
> 00:1d.1 USB Controller [0c03]: Intel Corporation USB UHCI Controller
> #2 [8086:2935] (rev 02)
> 00:1d.2 USB Controller [0c03]: Intel Corporation USB UHCI Controller
> #3 [8086:2936] (rev 02)
> 00:1d.7 USB Controller [0c03]: Intel Corporation USB2 EHCI Controller
> #1 [8086:293a] (rev 02)
> 00:1e.0 PCI bridge [0604]: Intel Corporation 82801 PCI Bridge
> [8086:244e] (rev 92)
> 00:1f.0 ISA bridge [0601]: Intel Corporation LPC Interface Controller
> [8086:2914] (rev 02)
> 00:1f.2 SATA controller [0106]: Intel Corporation 6 port SATA AHCI
> Controller [8086:2922] (rev 02)
> 00:1f.3 SMBus [0c05]: Intel Corporation SMBus Controller [8086:2930]
> (rev 02) 01:00.0 VGA compatible controller [0300]: ATI Technologies
> Inc Unknown device [1002:94c3]
> 03:00.0 Ethernet controller [0200]: Intel Corporation 82557/8/9
> [Ethernet Pro 100] [8086:1229] (rev 05)
> 
> _______________________________________________
> 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