[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] VGA passthough still not working



Hello,

I have spent a lot of time trying to get gfx passthru working on my system without success.

I looked onto my hardware capabilities again to make sure that it does support VT-d and I am not too sure that it does fully.

My hardware is as follows:
- Supermicro X8DTH-6F motherboard (5520 chipset which supports VT-d)
- single Xeon X5650 CPU (which is listed as supporting VT-x, no mention of VT-d at ark.intel.com)

Now, according to the VTdHowTo, the motherboard BIOS, chipset AND CPU need to support VT-d.
What confuses me is, why is the 55x0 chipset listed there if none of the CPU's supported, that I know of, dont have the VT-d feature option, only VT-x.

Browsing around a bit, I read that the VT-d is a memory related feature which was included in the chipsets because memory was interfaced via the chipset, but now-a-days when the memory controller is in the CPU, VT-d should be in the CPU. Why does the 5520 chipset support VT-d and the X5650 not?

Could anyone who has experience with a similar platform to mine (5520 chipset and Xeon CPU) please share their experiences with PCI passthu and gfx passthru.

My setup quickly:
- onboard VGA (primary) used by dom0 (Debian with the 3.1.9 kernel)
- EVGA GTX 480 (secondary) passed thru to domU (Windows)

The only errors that I see are:

cat /var/log/xen/qemu-dm-winxp.log |grep -i er
xs_read(/local/domain/0/device-model/2/xen_extended_power_mgmt): read error
xs_read(): vncpasswd get error. /vm/d04a58cf-037a-4219-80a1-73abe49b81ab/vncpasswd.
vcpu-set: watch node error.
xs_read(/local/domain/2/log-throttling): read error
pt_iomul_init: Error: pt_iomul_init can't open file /dev/xen/pci_iomul: No such file or directory: 0x3:0x0.0x0
pt_iomul_init: Error: pt_iomul_init can't open file /dev/xen/pci_iomul: No such file or directory: 0x3:0x0.0x1

I cant find much info about this error...

cat /var/log/xen/xl-winxp.log
Waiting for domain winxp (domid 1) to die [pid 3038]
Domain 1 is dead
Action for shutdown reason code 3 is restart
Domain 1 needs to be cleaned up: destroying the domain
libxl: error: libxl_pci.c:776:libxl__device_pci_reset: The kernel doesn't support reset from sysfs for PCI device 0000:03:00.0
libxl: error: libxl_pci.c:776:libxl__device_pci_reset: The kernel doesn't support reset from sysfs for PCI device 0000:03:00.1
Done. Rebooting now
xc: info: VIRTUAL MEMORY ARRANGEMENT:
  Loader:        0000000000100000->0000000000182bb4
  TOTAL:         0000000000000000->000000003f800000
  ENTRY ADDRESS: 0000000000100000
xc: info: PHYSICAL MEMORY ALLOCATION:
  4KB PAGES: 0x0000000000000200
  2MB PAGES: 0x00000000000001fb
  1GB PAGES: 0x0000000000000000
libxl: error: libxl_pci.c:776:libxl__device_pci_reset: The kernel doesn't support reset from sysfs for PCI device 0000:03:00.0
libxl: error: libxl_pci.c:776:libxl__device_pci_reset: The kernel doesn't support reset from sysfs for PCI device 0000:03:00.1
Waiting for domain winxp (domid 2) to die [pid 3038]

dmesg |grep 03:00
[    0.000000] Command line: placeholder root=UUID=d5f5207b-d2aa-4f19-b51d-bc2c727b9e8f ro nomodeset xen-pciback.passthrough=1 xen-pciback.permissive xen-pciback.hide=(03:00.0)(03:00.1) quiet
[    5.948984] Kernel command line: placeholder root=UUID=d5f5207b-d2aa-4f19-b51d-bc2c727b9e8f ro nomodeset xen-pciback.passthrough=1 xen-pciback.permissive xen-pciback.hide=(03:00.0)(03:00.1) quiet
[    6.152642] pci 0000:03:00.0: [10de:06c0] type 0 class 0x000300
[    6.152663] pci 0000:03:00.0: reg 10: [mem 0xf8000000-0xf9ffffff]
[    6.152685] pci 0000:03:00.0: reg 14: [mem 0xd8000000-0xdfffffff 64bit pref]
[    6.152707] pci 0000:03:00.0: reg 1c: [mem 0xd4000000-0xd7ffffff 64bit pref]
[    6.152723] pci 0000:03:00.0: reg 24: [io  0xdc00-0xdc7f]
[    6.152738] pci 0000:03:00.0: reg 30: [mem 0xfae80000-0xfaefffff pref]
[    6.152831] pci 0000:03:00.1: [10de:0be5] type 0 class 0x000403
[    6.152851] pci 0000:03:00.1: reg 10: [mem 0xfae7c000-0xfae7ffff]
[    6.222176] vgaarb: device added: PCI:0000:03:00.0,decodes=io+mem,owns=none,locks=none
[    6.222205] vgaarb: bridge control possible 0000:03:00.0
[    6.276478] pciback 0000:03:00.0: seizing device
[    6.276483] pciback 0000:03:00.1: seizing device
[    6.549901] pciback 0000:03:00.0: Signaling PME through PCIe PME interrupt
[    6.549903] pciback 0000:03:00.1: Signaling PME through PCIe PME interrupt
[    6.550408] pciback 0000:03:00.1: PCI INT B -> GSI 25 (level, low) -> IRQ 25
[    6.550417] pciback 0000:03:00.1: PCI INT B disabled
[    6.550454] pciback 0000:03:00.0: enabling device (0146 -> 0147)
[    6.550470] pciback 0000:03:00.0: PCI INT A -> GSI 26 (level, low) -> IRQ 26
[    6.550477] pciback 0000:03:00.0: PCI INT A disabled
[12048.241890] pciback 0000:03:00.0: device has been assigned to another domain! Over-writting the ownership, but beware.
[12048.243009] pciback 0000:03:00.1: device has been assigned to another domain! Over-writting the ownership, but beware.

PCI device 03:00.x is the GTX 480.

xl list
Name                                        ID   Mem VCPUs State Time(s)
Domain-0                                     0  1024    12     r-----    1507.2
winxp                                        2  1015     1     r-----     212.2


When I create the winxp domain, my primary graphics goes blank... (This confuses me the most).


And lastly, my xen cfg file...

cat /xen-vms/xenwinxp.cfg 
kernel = "/usr/lib/xen/boot/hvmloader"
builder='hvm'
memory =1024 
# shadow_memory = 1024
name = "winxp"
vcpus='1'
# vif = [ 'bridge=eth0,mac=00:14:3e:00:8f:c2' ]
# disk = ['file:/xen-vms/winxp/xenwinxp.img,hda,w','file:/xen-vms/isos/winxp.iso,hdc:cdrom,r']
disk = ['file:/xen-vms/winxp/xenwinxp.img,hda,w','phy:/dev/sr0,hdc:cdrom,r']
boot="cd"
sdl=0
# vnc=1
# vnclisten="0.0.0.0"
# vncconsole=1
# vncpasswd=''
acpi=1
apic=1
xen_extended_power_mgmt=1
pae=1
arch='x86_64'
hpet = 1
hap = 1
viridian = 1
monitor=1
serial='pty'
# keymap='fr'
# soundhw = "all"
# audio="on"
ne2000=0
>
on_reboot   = 'restart'
on_crash    = 'restart'
xen_platform_pci=1 
gfx_passthru=1
pci  = [ '03:00.0','03:00.1' ]
pci_msitranslate=0
pci_power_mgmt=0
acpi_s3 = 1
acpi_s4 = 1


If anyone has any ideas, or things I should check or try, please let me know. Also, if there is a way for me to get more debug info from xen that might help me figure out what I am doing wrong in my configuration, I would appreciate that info too.

Sandi
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.