[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] Partial Success VGA passthrough NVIDIA GeForce 7600 GS on Intel 5520
(Sorry if this is a duplicate. I've been having email client trouble and can't tell if it is going out.) I've been working on getting VGA passthrough to Windows 7 working on my machine. I have already succeeded in passing through the second network card. That worked flawlessly. SuperMicro x8dai (5520 chipset) GeForce 7600 GS (I'm passing this one through) GeForce 6800 E5520 processor I started by trying to follow everything that Mr. Teo En Ming did. I applied qemu-change-for-vBAR-pBAR.patch, qemu-claim-vga-cycle-for-secondary-gfx-passthrough.patch, xen-load-vbios-file, and xen-vBAR-pBAR.patch. I applied them all by hand since it's been so long. I also found the message about updating xen-vBAR-pBAR.patch to have the memory addresses from lspci -v, so I did that. 05:00.0 VGA compatible controller: nVidia Corporation G70 [GeForce 7600 GS] (rev a1) (prog-if 00 [VGA controller]) Subsystem: eVga.com. Corp. Device c549 Flags: bus master, fast devsel, latency 0, IRQ 10 Memory at f7000000 (32-bit, non-prefetchable) [size=16M] Memory at c0000000 (64-bit, prefetchable) [size=256M] Memory at f6000000 (64-bit, non-prefetchable) [size=16M] I/O ports at ec00 [size=128] Expansion ROM at f8ee0000 [disabled] [size=128K] Capabilities: <access denied> Kernel driver in use: pci-stub diff -r bec27eb6f72c tools/firmware/hvmloader/acpi/dsdt.asl --- a/tools/firmware/hvmloader/acpi/dsdt.asl Sat Nov 14 10:32:59 2009 +0000 +++ b/tools/firmware/hvmloader/acpi/dsdt.asl Tue Dec 01 10:33:31 2009 -0800 @@ -175,6 +175,34 @@ 0x000BFFFF, 0x00000000, 0x00020000) + + /* reserve MMIO BARs of gfx for 1:1 mapping */ + DWordMemory( + ResourceProducer, PosDecode, MinFixed, MaxFixed, + Cacheable, ReadWrite, + 0x00000000, + 0xC0000000, + 0xCFFFFFFF, + 0x00000000, + 0x10000000) + + DWordMemory( + ResourceProducer, PosDecode, MinFixed, MaxFixed, + NonCacheable, ReadWrite, + 0x00000000, + 0xF7000000, + 0xF7FFFFFF, + 0x00000000, + 0x01000000) + + DWordMemory( + ResourceProducer, PosDecode, MinFixed, MaxFixed, + NonCacheable, ReadWrite, + 0x00000000, + 0xF6000000, + 0xF6FFFFFF, + 0x00000000, + 0x01000000) DWordMemory( ResourceProducer, PosDecode, MinFixed, MaxFixed, I succeeded in getting the videobios to load, and get output on the graphics card! So, at least something works. I still get "Windows has stopped this device because it has reported problems. (Code 43)" and the yellow exclamation mark in the device manager. I then installed Debian in a virtual machine, and tried to do vga passthrough there to get better debug. When I do a "lspci" from inside Debian, it returns 00:05.0 VGA compatible controller: nVidia Corporation G70 [GeForce 7600 GS] (rev a1) (prog-if 00 [VGA controller]) Subsystem: eVga.com. Corp. Device c549 Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx- Latency: 128 Interrupt: pin A routed to IRQ 10 Region 0: Memory at f7000000 (32-bit, non-prefetchable) [size=16M] Region 1: Memory at c0000000 (64-bit, prefetchable) [size=256M] Region 3: Memory at f6000000 (64-bit, non-prefetchable) [size=16M] Region 5: I/O ports at ec00 [size=128] [virtual] Expansion ROM at 50000000 [disabled] [size=128K] Capabilities: <access denied> Kernel modules: nvidiafb, nvidia If I had to guess, I'd say the Expansion ROM isn't loaded correctly, but I don't know where to start to fix that, or if it is even a problem. Any ideas on what is going wrong, or how to fix it? Any help would be appreciated. Thanks, Austin Schuh domid: 6 qemu: the number of cpus is 1 Graphics option: passthrough Watching /local/domain/0/device-model/6/logdirty/cmd Watching /local/domain/0/device-model/6/command char device redirected to /dev/pts/0 qemu_map_cache_init nr_buckets = 10000 size 4194304 shared page at pfn feffd buffered io page at pfn feffb Guest uuid = 9a03e669-f938-ac8a-cbbe-2aa5c4bc8310 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/6/xen_extended_power_mgmt): read error husb: open device 3.8 husb: config #1 need -1 husb: 1 interfaces claimed for configuration 1 husb: grabbed usb device 3.8 medium change watch on `hdc' (index: 1): /home/austin/tmp/en_windows_7_professional_x64_dvd_X15-65805.iso I/O request not ready: 0, ptr: 0, port: 0, data: 0, count: 0, size: 0 (qemu) Log-dirty: no command yet. xs_read(/local/domain/6/log-throttling): read error dm-command: hot insert pass-through pci dev register_real_device: Assigning real physical device 05:00.0 ... pt_iomul_init: Error: pt_iomul_init can't open file /dev/xen/pci_iomul: No such file or directory: 0x5:0x0.0x0 pt_register_regions: IO region registered (size=0x01000000 base_addr=0xf7000000) pt_register_regions: IO region registered (size=0x10000000 base_addr=0xc000000c) pt_register_regions: IO region registered (size=0x01000000 base_addr=0xf6000004) pt_register_regions: IO region registered (size=0x00000080 base_addr=0x0000ec01) pt_register_regions: Expansion ROM registered (size=0x00020000 base_addr=0xf8ee0000) gfx_claim_vga_cycle: bridge for bus 1, previous bridge control is 2 gfx_claim_vga_cycle: bus=0x0, dev=0x1e, func=0x0 gfx_claim_vga_cycle: bridge for bus 1, updated bridge control is 2 gfx_claim_vga_cycle: bridge for bus 5, previous bridge control is 1a gfx_claim_vga_cycle: bus=0x0, dev=0x7, func=0x0 gfx_claim_vga_cycle: bridge for bus 5, updated bridge control is 1a gfx_claim_vga_cycle: bridge for bus 6, previous bridge control is 2 gfx_claim_vga_cycle: bus=0x0, dev=0x3, func=0x0 gfx_claim_vga_cycle: bridge for bus 6, updated bridge control is 2 gfx_claim_vga_cycle: bridge for bus 7, previous bridge control is 2 gfx_claim_vga_cycle: bus=0x0, dev=0x1, func=0x0 gfx_claim_vga_cycle: bridge for bus 7, updated bridge control is 2 gfx_claim_vga_cycle: previous igd control is 0 gfx_claim_vga_cycle: updated igd control is 2 gfx_claim_vga_cycle: previous igd control is 0 gfx_claim_vga_cycle: updated igd control is 2 gfx_claim_vga_cycle: previous igd control is 0 gfx_claim_vga_cycle: updated igd control is 2 gfx_claim_vga_cycle: previous igd control is 2 gfx_claim_vga_cycle: updated igd control is 2 register_real_device: Real physical device 05:00.0 registered successfuly! IRQ type = INTx pt_bar_reg_read: first read BARs of gfx pt_iomem_map: e_phys=f7000000 maddr=f7000000 type=0 len=16777216 index=0 first_map=1 pt_bar_reg_read: first read BARs of gfx pt_iomem_map: e_phys=c0000000 maddr=c0000000 type=8 len=268435456 index=1 first_map=1 pt_bar_reg_read: first read BARs of gfx pt_bar_reg_read: first read BARs of gfx pt_iomem_map: e_phys=f6000000 maddr=f6000000 type=0 len=16777216 index=3 first_map=1 pt_bar_reg_read: first read BARs of gfx pt_bar_reg_read: first read BARs of gfx pt_ioport_map: e_phys=ec00 pio_base=ec00 len=128 index=5 first_map=1 platform_fixed_ioport: changed ro/rw state of ROM memory area. now is rw state. platform_fixed_ioport: changed ro/rw state of ROM memory area. now is ro state. pt_iomem_map: e_phys=ffffffff maddr=f7000000 type=0 len=16777216 index=0 first_map=0 pt_iomem_map: e_phys=ffffffff maddr=c0000000 type=8 len=268435456 index=1 first_map=0 pt_iomem_map: e_phys=ffffffff maddr=f6000000 type=0 len=16777216 index=3 first_map=0 pt_ioport_map: e_phys=ffff pio_base=ec00 len=128 index=5 first_map=0 pt_iomem_map: e_phys=f7000000 maddr=f7000000 type=0 len=16777216 index=0 first_map=0 pt_iomem_map: e_phys=c0000000 maddr=c0000000 type=8 len=268435456 index=1 first_map=0 pt_iomem_map: e_phys=f6000000 maddr=f6000000 type=0 len=16777216 index=3 first_map=0 pt_ioport_map: e_phys=ec00 pio_base=ec00 len=128 index=5 first_map=0 husb: config #1 need 1 husb: 1 interfaces claimed for configuration 1 husb: config #1 need 1 husb: 1 interfaces claimed for configuration 1 husb: config #1 need 1 husb: 1 interfaces claimed for configuration 1 husb: config #1 need 1 husb: 1 interfaces claimed for configuration 1 reset requested in cpu_handle_ioreq. Issued domain 6 reboot _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |