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: "Han, Weidong" <weidong.han@xxxxxxxxx>, Xen-devel@xxxxxxxxxxxxxxxxxxx
Subject: Re: [Xen-devel] Using VT-D to grant a Windows DomU access to a PCIExpress graphics card?
From: "陈诚" <concretechen@xxxxxxxxx>
Date: Fri, 7 Dec 2007 14:16:02 +0800
Delivery-date: Thu, 06 Dec 2007 22:16:40 -0800
Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:to:subject:in-reply-to:mime-version:content-type:references; bh=C1cQBatzky/LxMYwH7U1TFrukPhFRfgzEBDiGhRJuxw=; b=g7TGIYSoO1msG6oo9dFWoEDMXi7ydmg4lwAT+vvoo3ZphU3z0MWjiCTkxBJ8LHXaHgM226bToZSUBShQRo6FvYj6NhrleLkqTwBkuAiKhpknDGt5g4gl67airorOfiwsTQddrw8TKYmW+zYGHTxY6WTNdfmDT+nmZ5aOd9QlyDY=
Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:to:subject:in-reply-to:mime-version:content-type:references; b=CCCh2nGEY7vVF3aLQ6hakPrIRWy44vKFhj5tY95DFdmYAfuZyQ/BQFkZtnNmwTLcEF9bMdjsYGen+eNB3vJXpH0Ln6SQ7atTkuxyBLz/CHiRhIrfhNjt00wKYnVG4J+uuT7wT/6IQnoDDTa6uMd5V7QJLzXB0r1RRRMZuoiazkM=
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
In-reply-to: <08DF4D958216244799FC84F3514D70F0BB258B@xxxxxxxxxxxxxxxxxxxxxxxxxxxx>
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> <8cad9e040712062143l1ba5d7c6ye271c6748b70d6fb@xxxxxxxxxxxxxx> <08DF4D958216244799FC84F3514D70F0BB258B@xxxxxxxxxxxxxxxxxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Yes, so currently we are working on it.
Simply 1-to-1 map the framebuffer and the real vga bios does not work.
And Some standard vga I/O ports should be passed through and the cirrus
related stuff should be  removed.
 
2007/12/7, Han, Weidong <weidong.han@xxxxxxxxx>:
Once more, graphics card is special,  you need to do some tricky things to make it work.
 
Randy (Weidong)


From: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx [mailto: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx] On Behalf Of 陈诚
Sent: 2007年12月7日 13:43
To: David Stone; Xen-devel@xxxxxxxxxxxxxxxxxxx
Subject: Re: [Xen-devel] Using VT-D to grant a Windows DomU access to a PCIExpress graphics card?

 
We are trying to pass a PCI-E graphics card to Vista(HVM)
using the Neo-1-to-1 approach, but encountered the same
problem with you.
 
2007/12/7, David Stone <unclestoner@xxxxxxxxx>:
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?  The
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?
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


- 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