Hey all,
I got pretty excited when reading about the VGA Passthrough features in
Xen 4.0 so i decided to give it a go. I've had partial success, like
some other in here. I've got output on my VGA port but my windows HVM
guest reports that the VGA doesn't work. Windows XP says: Couldn't start
device (10) and Windows 7 says: Windows has stopped the device because
it reported problems (40).
To make this work I:
-built the kernel from Jeremy's tree (2.6.32.15)
-extracted my VGA bios with nvflash
-checked out xen-4.0-testing
-applied the loadvbios, vBar=pBar (xen), vBar=pBar (qemu) and
claimvgacycle patches
-copied the vgabios in my xen tree
-built xen
This is the output for lspci -v -s 01:00.0:
01:00.0 VGA compatible controller: nVidia Corporation G71 [GeForce 7900
GS] (rev a1)
Subsystem: ASUSTeK Computer Inc. Device 8224
Flags: bus master, fast devsel, latency 0, IRQ 10
Memory at f6000000 (32-bit, non-prefetchable) [size=16M]
Memory at e0000000 (64-bit, prefetchable) [size=256M]
Memory at f5000000 (64-bit, non-prefetchable) [size=16M]
I/O ports at dc00 [size=128]
Expansion ROM at f7ee0000 [disabled] [size=128K]
Capabilities: <access denied>
Kernel driver in use: pci-stub
Kernel modules: nvidiafb
I've attached my dmesg, xm dmesg and qemu log files and my hvm config file.
I noticed a few things which might cause problems. In de xm dmesg file i
found this:
(XEN) Intel VT-d Snoop Control supported.
(XEN) Intel VT-d DMA Passthrough not supported.
(XEN) Intel VT-d Queued Invalidation supported.
(XEN) Intel VT-d Interrupt Remapping not supported.
Is DMA Passthrough or Interrupt remapping a requirement to make VGA
Passthrough work?
I think my motherboard should support these features though, does this
have to do with my kernel build or something?
In my qemu log file i saw this:
pt_iomul_init: Error: pt_iomul_init can't open file /dev/xen/pci_iomul:
No such file or directory: 0x1:0x0.0x0
and
pt_register_regions: IO region registered (size=0x01000000
base_addr=0xf6000000)
pt_register_regions: IO region registered (size=0x10000000
base_addr=0xe000000c)
pt_register_regions: IO region registered (size=0x01000000
base_addr=0xf5000004)
pt_register_regions: IO region registered (size=0x00000080
base_addr=0x0000ac01)
pt_register_regions: Expansion ROM registered (size=0x00020000
base_addr=0xf7ae0002)
These bytes are off by a few. I don't know why and i don't know if it
makes any difference.
Can anyone give me any pointers on where i should look to find the
problem? Also, could anybody mail me a working (with vga passthrough)
.config file for the 2.6.32.15 kernel?
Thanks for the help
Greetings
Thomas Richard
dmesg.log
Description: Text document
qemu-dm-winxp.log
Description: Text document
windows7.hvm
Description: Text document
xm_dmesg.log
Description: Text document
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|