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

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



On Thu, Jun 24, 2010 at 11:00:19AM -0500, David Kopstain wrote:
>    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.)
> 

ATI Radeon graphics adapters haven't been tested much with Xen VGA passthru.. 
yet..

You might want to open a thread about this on xen-devel, if you're familiar 
with C coding
and want to hack around to see what's needed to make it work..

-- Pasi


>    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:
>    [1]http://www.kopstain.com/dmesg.txt
> 
>    xend.log:
>    [2]http://www.kopstain.com/xend.log.txt
> 
> References
> 
>    Visible links
>    1. http://www.kopstain.com/dmesg.txt
>    2. http://www.kopstain.com/xend.log.txt

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

_______________________________________________
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®.