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

[Xen-users] VGA passthrough - guest shows blank screen on startup


  • To: xen-users@xxxxxxxxxxxxxxxxxxx
  • From: David Kopstain <dkopstain@xxxxxxxxx>
  • Date: Thu, 24 Jun 2010 11:00:19 -0500
  • Delivery-date: Thu, 24 Jun 2010 09:15:39 -0700
  • Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:date:message-id:subject:from:to:content-type; b=t+HpwwZRGrOqRHdh5fABrrsQPH87vNLZEul0QDAtx+ApeM9HrMldd/F3394ar+cgN6 tjXJ72MDMKK3MzuMKAy88HeFXVKj13mGtO0i4D6+8BnGUS9PVkJyewnvWE1k9vJaXq3A dHGweEix74Ctiz9PUeEf+6ORAgvCsykRAg/4g=
  • List-id: Xen user discussion <xen-users.lists.xensource.com>

Greetings,

I'm attempting to do gfx_passthru with the primary graphics adapter (03:00.0), passing it to a guest. I can unbind it from the host but when I fire up the guest OS my monitor loses signal from the graphics card and that's that. The GFX card is dual DVI, I've tried both slots. Host is Linux 2.6.32.14-1.2.105.xendom0.fc12.x86_64, Guest is Windows 7. PC is an i7, GFX card is ATI Radeon HD 4670. I'm using Xen 4.0.0.
 
I can passthrough the graphics card as a normal PCI device and the Windows 7 guest identifies it, installs a driver but quickly complains that the device is "not functioning properly".
 
I've spent a lot of time on this, maybe the experts can help here... :) Thanks in advance. Relevant logs are below. (apologize if duplicates are received, I sent earlier but I think the message size was too large.)

Dave


Script to unbind devices on host:

#!/bin/sh
BDFS="0000:03:00.0 0000:03:00.1 0000:00:1d.0 0000:00:1d.1 0000:00:1d.2 0000:00:1d.7 0000:04:00.0"
modprobe xen-pciback

for BDF in $BDFS
do
  [ ! -e /sys/bus/pci/devices/$BDF/driver/unbind ] || \
  echo -n $BDF > /sys/bus/pci/devices/$BDF/driver/unbind
  echo -n $BDF > /sys/bus/pci/drivers/pciback/new_slot
  echo -n $BDF > /sys/bus/pci/drivers/pciback/bind
done


Win7 Gues config.sxp:
(domain
    (domid 1)
    (vcpus_params ((cap 0) (weight 256)))
    (PV_args )
    (memory_static_min 0)
    (HVM_boot_policy 'BIOS order')
    (PV_bootloader )
    (auto_power_on False)
    (memory_static_max 2147483648)
    (cpus (() () ()))
    (actions_after_shutdown destroy)
    (memory_dynamic_max 2147483648)
    (memory_sharing 0)
    (superpages 0)
    (is_a_template False)
    (PV_bootloader_args )
    (memory_dynamic_min 2147483648)
    (VCPUs_live 1)
    (target 0)
    (actions_after_crash restart)
    (uuid a6731e6f-477e-c9a8-ddf1-24d2559f3f38)
    (PV_ramdisk )
    (other_config ())
    (name_label Win7)
    (PV_kernel )
    (actions_after_reboot restart)
    (VCPUs_at_startup 1)
    (HVM_boot_params ((order c)))
    (platform
        ((timer_mode 1)
            (hpet 0)
            (vpt_align 1)
            (apic 1)
            (loader /usr/lib/xen/boot/hvmloader)
            (rtc_timeoffset 0)
            (serial pty)
            (nomigrate 0)
            (usbdevice tablet)
            (tsc_mode 0)
            (usb 1)
            (device_model /usr/lib64/xen/bin/qemu-dm)
            (boot c)
            (parallel none)
            (xen_platform_pci 1)
            (gfx_passthru 1)
            (pci ((0x0000 0x03 0x00 0x0 0x20 ()) (0x0000 0x03 0x00 0x1 0x28 ()) (0x0000 0x04 0x00 0x0 0x30 ())))
            (pae 1)
            (viridian 0)
            (acpi 1)
            (localtime 1)
        )
    )
    (VCPUs_max 3)
    (Description )
    (bootloader )
    (on_crash restart)
    (uuid a6731e6f-477e-c9a8-ddf1-24d2559f3f38)
    (bootloader_args )
    (vcpus 3)
    (description )
    (name Win7)
    (cpus (() () ()))
    (on_reboot restart)
    (on_poweroff destroy)
    (maxmem 2048)
    (memory 2048)
    (shadow_memory 19)
    (vcpu_avail '7')
    (features )
    (on_xend_start ignore)
    (on_xend_stop ignore)
    (start_time 1277361078.7)
    (image
        (hvm
            (kernel )
            (superpages 0)
            (hpet 0)
            (loader /usr/lib/xen/boot/hvmloader)
            (xen_platform_pci 1)
            (rtc_timeoffset 0)
            (parallel none)
            (pci
                ((0x0000 0x03 0x00 0x0 0x20 ())
                    (0x0000 0x03 0x00 0x1 0x28 ())
                    (0x0000 0x04 0x00 0x0 0x30 ())
                )
            )
            (localtime 1)
            (timer_mode 1)
            (apic 1)
            (usbdevice tablet)
            (vpt_align 1)
            (serial pty)
            (gfx_passthru 1)
            (boot c)
            (pae 1)
            (viridian 0)
            (acpi 1)
            (nomigrate 0)
            (usb 1)
            (tsc_mode 0)
            (device_model /usr/lib64/xen/bin/qemu-dm)
            (notes (SUSPEND_CANCEL 1))
        )
    )
    (status 1)
    (state ------)
    (store_mfn '1044476')
    (device (vkbd (backend 0)))
    (device
        (vbd
            (uuid 38d51f7e-7b2e-895b-eb36-ca17849e8c5c)
            (bootable 1)
            (dev hda:disk)
            (uname phy:/dev/sdf2)
            (mode w)
            (backend 0)
            (VDI )
        )
    )
    (device
        (vfb
            (vncunused 1)
            (keymap en-us)
            (vnc 1)
            (uuid c8f2de24-0fc3-dc03-1141-29d7074bdbb6)
        )
    )
    (device
        (pci
            (dev
                (slot 0x00)
                (domain 0x0000)
                (key 03:00.0)
                (bus 0x03)
                (vdevfn 0x20)
                (func 0x0)
                (uuid 83e7e9d0-9a6c-228d-e69c-3c6715dabdfc)
            )
            (dev
                (slot 0x00)
                (domain 0x0000)
                (key 03:00.1)
                (bus 0x03)
                (vdevfn 0x28)
                (func 0x1)
                (uuid 83e7e9d0-9a6c-228d-e69c-3c6715dabdfc)
            )
            (dev
                (slot 0x00)
                (domain 0x0000)
                (key 04:00.0)
                (bus 0x04)
                (vdevfn 0x30)
                (func 0x0)
                (uuid 83e7e9d0-9a6c-228d-e69c-3c6715dabdfc)
            )
            (uuid 7eca9041-7958-fda6-0d04-406884a17f47)
            (backend 0)
        )
    )
)


[root@jedi root]# lspci
00:00.0 Host bridge: Intel Corporation 5520/5500/X58 I/O Hub to ESI Port (rev 12)
00:01.0 PCI bridge: Intel Corporation 5520/5500/X58 I/O Hub PCI Express Root Port 1 (rev 12)
00:03.0 PCI bridge: Intel Corporation 5520/5500/X58 I/O Hub PCI Express Root Port 3 (rev 12)
00:07.0 PCI bridge: Intel Corporation 5520/5500/X58 I/O Hub PCI Express Root Port 7 (rev 12)
00:14.0 PIC: Intel Corporation 5520/5500/X58 I/O Hub System Management Registers (rev 12)
00:14.1 PIC: Intel Corporation 5520/5500/X58 I/O Hub GPIO and Scratch Pad Registers (rev 12)
00:14.2 PIC: Intel Corporation 5520/5500/X58 I/O Hub Control Status and RAS Registers (rev 12)
00:14.3 PIC: Intel Corporation 5520/5500/X58 I/O Hub Throttle Registers (rev 12)
00:1a.0 USB Controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #4
00:1a.1 USB Controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #5
00:1a.2 USB Controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #6
00:1a.7 USB Controller: Intel Corporation 82801JI (ICH10 Family) USB2 EHCI Controller #2
00:1c.0 PCI bridge: Intel Corporation 82801JI (ICH10 Family) PCI Express Root Port 1
00:1c.2 PCI bridge: Intel Corporation 82801JI (ICH10 Family) PCI Express Root Port 3
00:1c.4 PCI bridge: Intel Corporation 82801JI (ICH10 Family) PCI Express Root Port 5
00:1c.5 PCI bridge: Intel Corporation 82801JI (ICH10 Family) PCI Express Root Port 6
00:1d.0 USB Controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #1
00:1d.1 USB Controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #2
00:1d.2 USB Controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #3
00:1d.7 USB Controller: Intel Corporation 82801JI (ICH10 Family) USB2 EHCI Controller #1
00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev 90)
00:1f.0 ISA bridge: Intel Corporation 82801JIR (ICH10R) LPC Interface Controller
00:1f.2 SATA controller: Intel Corporation 82801JI (ICH10 Family) SATA AHCI Controller
00:1f.3 SMBus: Intel Corporation 82801JI (ICH10 Family) SMBus Controller
03:00.0 VGA compatible controller: ATI Technologies Inc RV730XT [Radeon HD 4670]
03:00.1 Audio device: ATI Technologies Inc RV710/730
04:00.0 Ethernet controller: Marvell Technology Group Ltd. 88E8056 PCI-E Gigabit Ethernet Controller (rev 12)
05:00.0 SATA controller: JMicron Technology Corp. JMB362/JMB363 Serial ATA Controller (rev 03)
05:00.1 IDE interface: JMicron Technology Corp. JMB362/JMB363 Serial ATA Controller (rev 03)
06:00.0 Ethernet controller: Marvell Technology Group Ltd. 88E8056 PCI-E Gigabit Ethernet Controller (rev 12)
08:02.0 FireWire (IEEE 1394): VIA Technologies, Inc. VT6306/7/8 [Fire II(M)] IEEE 1394 OHCI Controller (rev c0)



qemu-dm-Win7.log
domid: 1
Watching /local/domain/0/device-model/1/logdirty/cmd
Watching /local/domain/0/device-model/1/command
char device redirected to /dev/pts/1
qemu_map_cache_init nr_buckets = 10000 size 4194304
shared page at pfn feffd
buffered io page at pfn feffb
Guest uuid = a6731e6f-477e-c9a8-ddf1-24d2559f3f38
Time offset set 0
Register xen platform.
Done register platform.
platform_fixed_ioport: changed ro/rw state of ROM memory area. now is rw state.
xs_read(/local/domain/0/device-model/1/xen_extended_power_mgmt): read error
xs_read(): vncpasswd get error. /vm/a6731e6f-477e-c9a8-ddf1-24d2559f3f38/vncpasswd.
Log-dirty: no command yet.
I/O request not ready: 0, ptr: 0, port: 0, data: 0, count: 0, size: 0
I/O request not ready: 0, ptr: 0, port: 0, data: 0, count: 0, size: 0
xs_read(/local/domain/1/log-throttling): read error
qemu: ignoring not-understood drive `/local/domain/1/log-throttling'
medium change watch on `/local/domain/1/log-throttling' - unknown device, ignored
I/O request not ready: 0, ptr: 0, port: 0, data: 0, count: 0, size: 0
dm-command: hot insert pass-through pci dev
register_real_device: Assigning real physical device 03:00.0 ...
pt_iomul_init: Error: pt_iomul_init can't open file /dev/xen/pci_iomul: No such file or directory: 0x3:0x0.0x0
pt_register_regions: IO region registered (size=0x10000000 base_addr=0xd000000c)
pt_register_regions: IO region registered (size=0x00010000 base_addr=0xfba20004)
pt_register_regions: IO region registered (size=0x00000100 base_addr=0x0000a001)
pt_register_regions: Expansion ROM registered (size=0x00020000 base_addr=0xfba00002)
pci_intx: intx=1
register_real_device: Real physical device 03:00.0 registered successfuly!
IRQ type = INTx
dm-command: hot insert pass-through pci dev
register_real_device: Assigning real physical device 03:00.1 ...
pt_iomul_init: Error: pt_iomul_init can't open file /dev/xen/pci_iomul: No such file or directory: 0x3:0x0.0x1
pt_register_regions: IO region registered (size=0x00004000 base_addr=0xfbafc004)
pci_intx: intx=2
register_real_device: Real physical device 03:00.1 registered successfuly!
IRQ type = INTx
dm-command: hot insert pass-through pci dev
register_real_device: Assigning real physical device 04:00.0 ...
pt_iomul_init: Error: pt_iomul_init can't open file /dev/xen/pci_iomul: No such file or directory: 0x4:0x0.0x0
pt_register_regions: IO region registered (size=0x00004000 base_addr=0xfbbfc004)
pt_register_regions: IO region registered (size=0x00000100 base_addr=0x0000b801)
pt_register_regions: Expansion ROM registered (size=0x00020000 base_addr=0xfbbc0000)
pci_intx: intx=1
register_real_device: Real physical device 04:00.0 registered successfuly!
IRQ type = INTx
pt_iomem_map: e_phys=e0000000 maddr=d0000000 type=8 len=268435456 index=0 first_map=1
pt_iomem_map: e_phys=f1040000 maddr=fba20000 type=0 len=65536 index=2 first_map=1
pt_iomem_map: e_phys=f1050000 maddr=fbafc000 type=0 len=16384 index=0 first_map=1
pt_iomem_map: e_phys=f1054000 maddr=fbbfc000 type=0 len=16384 index=0 first_map=1
pt_ioport_map: e_phys=c100 pio_base=a000 len=256 index=4 first_map=1
pt_ioport_map: e_phys=c200 pio_base=b800 len=256 index=2 first_map=1

output of xm dmesg
 __  __            _  _    ___   ___      ___  _____  __      _ ____
 \ \/ /___ _ __   | || |  / _ \ / _ \    / _ \|___  |/ _| ___/ |___ \
  \  // _ \ '_ \  | || |_| | | | | | |__| | | |  / /| |_ / __| | __) |
  /  \  __/ | | | |__   _| |_| | |_| |__| |_| | / /_|  _| (__| |/ __/
 /_/\_\___|_| |_|    |_|(_)___(_)___/    \___(_)_/(_)_|  \___|_|_____|

(XEN) Xen version 4.0.0 (root@) (gcc version 4.4.2 20091027 (Red Hat 4.4.2-7) (GCC) ) Tue Jun 22 17:14:29 EDT 2010
(XEN) Latest ChangeSet: unavailable
(XEN) Command line: iommu_inclusive_mapping=1 vtd=1 acpi=force apic=on
(XEN) Video information:
(XEN)  VGA is text mode 80x25, font 8x16
(XEN)  VBE/DDC methods: V2; EDID transfer time: 1 seconds
(XEN) Disc information:
(XEN)  Found 2 MBR signatures
(XEN)  Found 6 EDD information structures
(XEN) Xen-e820 RAM map:
(XEN)  0000000000000000 - 000000000009ec00 (usable)
(XEN)  000000000009ec00 - 00000000000a0000 (reserved)
(XEN)  00000000000e4000 - 0000000000100000 (reserved)
(XEN)  0000000000100000 - 00000000bf780000 (usable)
(XEN)  00000000bf780000 - 00000000bf798000 (ACPI data)
(XEN)  00000000bf798000 - 00000000bf7dc000 (ACPI NVS)
(XEN)  00000000bf7dc000 - 00000000c0000000 (reserved)
(XEN)  00000000fee00000 - 00000000fee01000 (reserved)
(XEN)  00000000ffe00000 - 0000000100000000 (reserved)
(XEN)  0000000100000000 - 0000000280000000 (usable)
(XEN) ACPI: RSDP 000FB0C0, 0024 (r2 ACPIAM)
(XEN) ACPI: XSDT BF780100, 0064 (r1 012810 XSDT1341 20100128 MSFT       97)
(XEN) ACPI: FACP BF780290, 00F4 (r3 012810 FACP1341 20100128 MSFT       97)
(XEN) ACPI: DSDT BF7804B0, D2BA (r1  A1088 A1088000        0 INTL 20060113)
(XEN) ACPI: FACS BF798000, 0040
(XEN) ACPI: APIC BF780390, 00D8 (r1 012810 APIC1341 20100128 MSFT       97)
(XEN) ACPI: MCFG BF780470, 003C (r1 012810 OEMMCFG  20100128 MSFT       97)
(XEN) ACPI: OEMB BF798040, 0072 (r1 012810 OEMB1341 20100128 MSFT       97)
(XEN) ACPI: HPET BF78F4B0, 0038 (r1 012810 OEMHPET  20100128 MSFT       97)
(XEN) ACPI: DMAR BF7980C0, 0120 (r1    AMI  OEMDMAR        1 MSFT       97)
(XEN) ACPI: OSFR BF78F4F0, 00B0 (r1 012810 OEMOSFR  20100128 MSFT       97)
(XEN) ACPI: SSDT BF79A000, 0363 (r1 DpgPmm    CpuPm       12 INTL 20060113)
(XEN) System RAM: 9178MB (9398292kB)
(XEN) Domain heap initialised
(XEN) Processor #0 7:10 APIC version 21
(XEN) Processor #2 7:10 APIC version 21
(XEN) Processor #4 7:10 APIC version 21
(XEN) Processor #6 7:10 APIC version 21
(XEN) Processor #1 7:10 APIC version 21
(XEN) Processor #3 7:10 APIC version 21
(XEN) Processor #5 7:10 APIC version 21
(XEN) Processor #7 7:10 APIC version 21
(XEN) IOAPIC[0]: apic_id 8, version 32, address 0xfec00000, GSI 0-23
(XEN) IOAPIC[1]: apic_id 9, version 32, address 0xfec8a000, GSI 24-47
(XEN) Enabling APIC mode:  Flat.  Using 2 I/O APICs
(XEN) [VT-D]dmar.c:504:   RMRR address range not in reserved memory base = bf7dc000 end = bf7dbfff; iommu_inclusive_mapping=1 parameter may be needed.
(XEN) [VT-D]dmar.c:561:   The RMRR (bf7dc000, bf7dbfff) is incorrect!
(XEN) Using scheduler: SMP Credit Scheduler (credit)
(XEN) Detected 2937.052 MHz processor.
(XEN) Initing memory sharing.
(XEN) VMX: Supported advanced features:
(XEN)  - APIC MMIO access virtualisation
(XEN)  - APIC TPR shadow
(XEN)  - Extended Page Tables (EPT)
(XEN)  - Virtual-Processor Identifiers (VPID)
(XEN)  - Virtual NMI
(XEN)  - MSR direct-access bitmap
(XEN) HVM: ASIDs enabled.
(XEN) HVM: VMX enabled
(XEN) HVM: Hardware Assisted Paging detected.
(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 supported.
(XEN) I/O virtualisation enabled
(XEN) I/O virtualisation for PV guests disabled
(XEN) Total of 8 processors activated.
(XEN) ENABLING IO-APIC IRQs
(XEN)  -> Using new ACK method
(XEN) TSC is reliable, synchronization unnecessary
(XEN) Platform timer is 14.318MHz HPET
(XEN) Allocated console ring of 16 KiB.
(XEN) Brought up 8 CPUs
(XEN) *** LOADING DOMAIN 0 ***
(XEN)  Xen  kernel: 64-bit, lsb, compat32
(XEN)  Dom0 kernel: 64-bit, PAE, lsb, paddr 0x1000000 -> 0x1a7e000
(XEN) PHYSICAL MEMORY ARRANGEMENT:
(XEN)  Dom0 alloc.:   0000000274000000->0000000278000000 (2275778 pages to be allocated)
(XEN) VIRTUAL MEMORY ARRANGEMENT:
(XEN)  Loaded kernel: ffffffff81000000->ffffffff81a7e000
(XEN)  Init. ramdisk: ffffffff81a7e000->ffffffff821d2e00
(XEN)  Phys-Mach map: ffffffff821d3000->ffffffff8334fe10
(XEN)  Start info:    ffffffff83350000->ffffffff833504b4
(XEN)  Page tables:   ffffffff83351000->ffffffff8336e000
(XEN)  Boot stack:    ffffffff8336e000->ffffffff8336f000
(XEN)  TOTAL:         ffffffff80000000->ffffffff83400000
(XEN)  ENTRY ADDRESS: ffffffff81826200
(XEN) Dom0 has maximum 8 VCPUs
(XEN) Scrubbing Free RAM: .done.
(XEN) Xen trace buffers: disabled
(XEN) Std. Loglevel: Errors and warnings
(XEN) Guest Loglevel: Nothing (Rate-limited: Errors and warnings)
(XEN) Xen is relinquishing VGA console.
(XEN) *** Serial input -> DOM0 (type 'CTRL-a' three times to switch input to Xen)
(XEN) Freed 168kB init memory.

system dmesg:
http://www.kopstain.com/dmesg.txt

xend.log:
http://www.kopstain.com/xend.log.txt



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

 


Rackspace

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