[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: [Xen-devel] Using VT-D to grant a Windows DomU access to a PCIExpress graphics card?
- To: 陈诚 <concretechen@xxxxxxxxx>, <Xen-devel@xxxxxxxxxxxxxxxxxxx>
- From: "Han, Weidong" <weidong.han@xxxxxxxxx>
- Date: Fri, 7 Dec 2007 14:23:58 +0800
- Delivery-date: Thu, 06 Dec 2007 22:25:01 -0800
- List-id: Xen developer discussion <xen-devel.lists.xensource.com>
- Thread-index: Acg4mKrYm0epuVtGQKKROuRElS1jbwAABLwA
- Thread-topic: [Xen-devel] Using VT-D to grant a Windows DomU access to a PCIExpress graphics card?
Yes, I think you may also need to change int10
handler.
Randy
(Weidong)
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)
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
|