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
|