Austin Schuh
2009-Dec-24 08:24 UTC
[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 _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Han, Weidong
2009-Dec-25 01:58 UTC
[Xen-devel] RE: Partial Success VGA passthrough NVIDIA GeForce 7600 GS on Intel 5520
The log looks no problem. Can you have a try with WinXP guest? Meanwhile, what xen version are you using (xen changeset, qemu commit and dom0)? I assume you used the same with Mr. Teo En Ming. And also pls post your hvm config file, and output of "lspci -vvv". Regards, Weidong -----Original Message----- From: Austin Schuh [mailto:schuh@berkeley.edu] Sent: Thursday, December 24, 2009 4:04 PM To: xen-devel@lists.xensource.com; Han, Weidong Subject: Partial Success VGA passthrough NVIDIA GeForce 7600 GS on Intel 5520 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. Any ideas on what went wrong, or how to fix it? Any help would be appreciated. Thanks, Austin Schuh _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Austin Schuh
2009-Dec-25 03:19 UTC
Re: [Xen-devel] RE: Partial Success VGA passthrough NVIDIA GeForce 7600 GS on Intel 5520
I''ll see about a WinXP guest. It''ll be harder for me to find an install disk around the house. Will that give you any more/better information than a linux hvm guest? I haven''t been able to get X11 to start with the Nvidia drivers with a linux hvm guest either, and the X11 log set to verbose seems to be a bit more useful than anything I have found under Windows. I''m using the latest pv-ops kernel, as of this morning. Unmodified. "Linux iron 2.6.31.6 #32 SMP PREEMPT Thu Dec 24 15:39:55 PST 2009 x86_64 GNU/Linux" root[9814] iron /home/austin/local/xen/linux-2.6-xen # git log commit 60e0545e9649b08dd8ef5f2b991930049c40537e Merge: b5624ab... 444c982... Author: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com> Date: Tue Dec 22 13:20:07 2009 -0800 root[9795] iron /home/austin/local/xen/currentpatched.xen-unstable.hg/tools/ioemu-remote # git log commit 3140780e451d3919ef2c81f91ae0ebe3f286eb06 Author: Ian Jackson <ian.jackson@eu.citrix.com> Date: Thu Oct 29 13:00:31 2009 +0000 root[9799] iron /home/austin/local/xen/currentpatched.xen-unstable.hg # hg tip changeset: 20453:bec27eb6f72c tag: tip user: Keir Fraser <keir.fraser@citrix.com> date: Sat Nov 14 10:32:59 2009 +0000 summary: tmem: fix domain shutdown problem/race If these aren''t the versions you are looking for, what commands should I run where to get them? I''m not exactly sure how to get the version numbers you are asking for. I''ll see if I can switch to using the latest xen-unstable. I tried to checkout the same version as Mr. Teo En Ming, but I couldn''t get the patches to apply, or it to compile. So I instead applied them by hand to the latest Xen. I also attached the xen config file for the Debian guest I have been using, and it''s lspci output. I find it fishy that it says that the Expansion ROM is locate at 50000000 and is virtual. I tried changing the pci_load_option_roms function in hvmloader.c so that it loads the option ROM for the graphics card, but it wasn''t finding a nonzero option_rom_addr. I then forced option_rom_addr to be 0xf8ee0000 (the address given by lspci on the host), and that got X11 to get further, but it then it errored out with a kernel message on the host saying "Message from syslogd@iron at Dec 24 19:08:17 ... kernel:Disabling IRQ #16 Dec 24 19:08:17 iron kernel: irq 16: nobody cared (try booting with the "irqpoll" option) Dec 24 19:08:17 iron kernel: Pid: 0, comm: swapper Not tainted 2.6.31.6 #32 Dec 24 19:08:17 iron kernel: Call Trace: Dec 24 19:08:17 iron kernel: <IRQ> [<ffffffff8109bb3e>] ? __report_bad_irq+0x1e/0x90 Dec 24 19:08:17 iron kernel: [<ffffffff8109bd48>] ? note_interrupt+0x198/0x1e0 Dec 24 19:08:17 iron kernel: [<ffffffff8109c8bd>] ? handle_level_irq+0xed/0x120 Dec 24 19:08:17 iron kernel: [<ffffffff81018707>] ? handle_irq+0x17/0x20 Dec 24 19:08:17 iron kernel: [<ffffffff812b5143>] ? xen_evtchn_do_upcall+0x203/0x240 Dec 24 19:08:17 iron kernel: [<ffffffff810162ee>] ? xen_do_hypervisor_callback+0x1e/0x30 Dec 24 19:08:17 iron kernel: <EOI> [<ffffffff810093aa>] ? hypercall_page+0x3aa/0x1010 Dec 24 19:08:17 iron kernel: [<ffffffff810093aa>] ? hypercall_page+0x3aa/0x1010 Dec 24 19:08:17 iron kernel: [<ffffffff810108b0>] ? xen_vcpuop_set_next_event+0x0/0x70 Dec 24 19:08:17 iron kernel: [<ffffffff810100ec>] ? xen_safe_halt+0xc/0x20 Dec 24 19:08:17 iron kernel: [<ffffffff8100c5de>] ? xen_idle+0x4e/0x80 Dec 24 19:08:17 iron kernel: [<ffffffff81013b47>] ? cpu_idle+0x67/0xd0 Dec 24 19:08:17 iron kernel: [<ffffffff817cbdfd>] ? start_kernel+0x3da/0x460 Dec 24 19:08:17 iron kernel: [<ffffffff817ce94a>] ? xen_start_kernel+0x670/0x756 Dec 24 19:08:17 iron kernel: handlers: Dec 24 19:08:17 iron kernel: [<ffffffff8139e2f0>] (usb_hcd_irq+0x0/0xe0) Dec 24 19:08:17 iron kernel: Disabling IRQ #16" and a message in the Xorg log saying "NVIDIA: could not open the device file /dev/nvidia0 (Input/output error). (EE) Dec 24 19:08:18 NVIDIA(0): The NVIDIA kernel module does not appear to be receiving (EE) Dec 24 19:08:18 NVIDIA(0): interrupts generated by the NVIDIA graphics device" Any suggestions on what to look for? Thanks, Austin Schuh Han, Weidong wrote:> The log looks no problem. Can you have a try with WinXP guest? > > Meanwhile, what xen version are you using (xen changeset, qemu commit and dom0)? I assume you used the same with Mr. Teo En Ming. And also pls post your hvm config file, and output of "lspci -vvv". > > Regards, > Weidong > > -----Original Message----- > From: Austin Schuh [mailto:schuh@berkeley.edu] > Sent: Thursday, December 24, 2009 4:04 PM > To: xen-devel@lists.xensource.com; Han, Weidong > Subject: Partial Success VGA passthrough NVIDIA GeForce 7600 GS on Intel 5520 > > 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. > > Any ideas on what went wrong, or how to fix it? Any help would be appreciated. > > Thanks, > Austin Schuh_______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Han, Weidong
2009-Dec-25 06:28 UTC
RE: [Xen-devel] RE: Partial Success VGA passthrough NVIDIA GeForce 7600 GS on Intel 5520
WinXP guest was tested sufficiently. So I suggest you to have a try on it. BTW, can you install the driver with below issue? You know those patches are not rebased and tested on latest xen-unstable. I prefer you to use the same version as Mr. Teo En Ming, what''s wrong when you apply patches and compile? Regards, Weidong -----Original Message----- From: Austin Schuh [mailto:austin@boardsailor.com] Sent: Friday, December 25, 2009 11:20 AM To: Han, Weidong; xen-devel@lists.xensource.com Subject: Re: [Xen-devel] RE: Partial Success VGA passthrough NVIDIA GeForce 7600 GS on Intel 5520 I''ll see about a WinXP guest. It''ll be harder for me to find an install disk around the house. Will that give you any more/better information than a linux hvm guest? I haven''t been able to get X11 to start with the Nvidia drivers with a linux hvm guest either, and the X11 log set to verbose seems to be a bit more useful than anything I have found under Windows. I''m using the latest pv-ops kernel, as of this morning. Unmodified. "Linux iron 2.6.31.6 #32 SMP PREEMPT Thu Dec 24 15:39:55 PST 2009 x86_64 GNU/Linux" root[9814] iron /home/austin/local/xen/linux-2.6-xen # git log commit 60e0545e9649b08dd8ef5f2b991930049c40537e Merge: b5624ab... 444c982... Author: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com> Date: Tue Dec 22 13:20:07 2009 -0800 root[9795] iron /home/austin/local/xen/currentpatched.xen-unstable.hg/tools/ioemu-remote # git log commit 3140780e451d3919ef2c81f91ae0ebe3f286eb06 Author: Ian Jackson <ian.jackson@eu.citrix.com> Date: Thu Oct 29 13:00:31 2009 +0000 root[9799] iron /home/austin/local/xen/currentpatched.xen-unstable.hg # hg tip changeset: 20453:bec27eb6f72c tag: tip user: Keir Fraser <keir.fraser@citrix.com> date: Sat Nov 14 10:32:59 2009 +0000 summary: tmem: fix domain shutdown problem/race If these aren''t the versions you are looking for, what commands should I run where to get them? I''m not exactly sure how to get the version numbers you are asking for. I''ll see if I can switch to using the latest xen-unstable. I tried to checkout the same version as Mr. Teo En Ming, but I couldn''t get the patches to apply, or it to compile. So I instead applied them by hand to the latest Xen. I also attached the xen config file for the Debian guest I have been using, and it''s lspci output. I find it fishy that it says that the Expansion ROM is locate at 50000000 and is virtual. I tried changing the pci_load_option_roms function in hvmloader.c so that it loads the option ROM for the graphics card, but it wasn''t finding a nonzero option_rom_addr. I then forced option_rom_addr to be 0xf8ee0000 (the address given by lspci on the host), and that got X11 to get further, but it then it errored out with a kernel message on the host saying "Message from syslogd@iron at Dec 24 19:08:17 ... kernel:Disabling IRQ #16 Dec 24 19:08:17 iron kernel: irq 16: nobody cared (try booting with the "irqpoll" option) Dec 24 19:08:17 iron kernel: Pid: 0, comm: swapper Not tainted 2.6.31.6 #32 Dec 24 19:08:17 iron kernel: Call Trace: Dec 24 19:08:17 iron kernel: <IRQ> [<ffffffff8109bb3e>] ? __report_bad_irq+0x1e/0x90 Dec 24 19:08:17 iron kernel: [<ffffffff8109bd48>] ? note_interrupt+0x198/0x1e0 Dec 24 19:08:17 iron kernel: [<ffffffff8109c8bd>] ? handle_level_irq+0xed/0x120 Dec 24 19:08:17 iron kernel: [<ffffffff81018707>] ? handle_irq+0x17/0x20 Dec 24 19:08:17 iron kernel: [<ffffffff812b5143>] ? xen_evtchn_do_upcall+0x203/0x240 Dec 24 19:08:17 iron kernel: [<ffffffff810162ee>] ? xen_do_hypervisor_callback+0x1e/0x30 Dec 24 19:08:17 iron kernel: <EOI> [<ffffffff810093aa>] ? hypercall_page+0x3aa/0x1010 Dec 24 19:08:17 iron kernel: [<ffffffff810093aa>] ? hypercall_page+0x3aa/0x1010 Dec 24 19:08:17 iron kernel: [<ffffffff810108b0>] ? xen_vcpuop_set_next_event+0x0/0x70 Dec 24 19:08:17 iron kernel: [<ffffffff810100ec>] ? xen_safe_halt+0xc/0x20 Dec 24 19:08:17 iron kernel: [<ffffffff8100c5de>] ? xen_idle+0x4e/0x80 Dec 24 19:08:17 iron kernel: [<ffffffff81013b47>] ? cpu_idle+0x67/0xd0 Dec 24 19:08:17 iron kernel: [<ffffffff817cbdfd>] ? start_kernel+0x3da/0x460 Dec 24 19:08:17 iron kernel: [<ffffffff817ce94a>] ? xen_start_kernel+0x670/0x756 Dec 24 19:08:17 iron kernel: handlers: Dec 24 19:08:17 iron kernel: [<ffffffff8139e2f0>] (usb_hcd_irq+0x0/0xe0) Dec 24 19:08:17 iron kernel: Disabling IRQ #16" and a message in the Xorg log saying "NVIDIA: could not open the device file /dev/nvidia0 (Input/output error). (EE) Dec 24 19:08:18 NVIDIA(0): The NVIDIA kernel module does not appear to be receiving (EE) Dec 24 19:08:18 NVIDIA(0): interrupts generated by the NVIDIA graphics device" Any suggestions on what to look for? Thanks, Austin Schuh Han, Weidong wrote:> The log looks no problem. Can you have a try with WinXP guest? > > Meanwhile, what xen version are you using (xen changeset, qemu commit and dom0)? I assume you used the same with Mr. Teo En Ming. And also pls post your hvm config file, and output of "lspci -vvv". > > Regards, > Weidong > > -----Original Message----- > From: Austin Schuh [mailto:schuh@berkeley.edu] > Sent: Thursday, December 24, 2009 4:04 PM > To: xen-devel@lists.xensource.com; Han, Weidong > Subject: Partial Success VGA passthrough NVIDIA GeForce 7600 GS on > Intel 5520 > > 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. > > Any ideas on what went wrong, or how to fix it? Any help would be appreciated. > > Thanks, > Austin Schuh_______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Han, Weidong
2009-Dec-28 01:36 UTC
RE: [Xen-devel] RE: Partial Success VGA passthrough NVIDIA GeForce 7600 GS on Intel 5520
Don''t use latest pv-ops dom0, pls try below xen, qemu and dom0 version which was tested and worked for Geforce 8400 GS passthrough with my sent patches: Xen changeset: 20143 Qemu commit: 0fdbb469 2.6.18 dom0 changeset: 844 We didn''t test with GeForce 7600 GS, if you still failed on above environment. It''s possibly the card is specific and needs extra hacks to make it work. Regards, Weidong -----Original Message----- From: Austin Schuh [mailto:schuh@berkeley.edu] Sent: Saturday, December 26, 2009 4:14 PM To: Han, Weidong; xen-devel@lists.xensource.com Subject: Re: [Xen-devel] RE: Partial Success VGA passthrough NVIDIA GeForce 7600 GS on Intel 5520 I''m not sure which issues I was having when I tried to use changeset 20143 a month ago, since I was able to check out changeset 20143, and apply the patches successfully when I tried again today. Weird. I applied the same patches that Mr. Teo En Ming listed in his email http://article.gmane.org/gmane.comp.emulators.xen.devel/71101. They all applied cleanly. So, I''m now running what should be the same setup as Mr. Teo En Ming from what I can tell, except that my vBar-pBAR patch is for my machine, and I''m using the latest pv-ops. I succeeded in creating an XP HVM guest, but I can''t get the drivers to work. When I boot XP, the console output for dom0 switches to the second graphics card, and any console output messes with the display output. I don''t know if this is an issue, or merely a nuisance. Once I install the NVIDIA drivers and reboot, it reverts back to 640x480, 16 colors, and the device manager reports that the device could not start (Code 10). So, that''s not working. Any suggestions on what to try or look for? lspci -vvv on a Linux domU still reports the same problem with the expansion ROM as before. Thanks, Austin Schuh Han, Weidong wrote:> WinXP guest was tested sufficiently. So I suggest you to have a try on it. BTW, can you install the driver with below issue? > > You know those patches are not rebased and tested on latest xen-unstable. I prefer you to use the same version as Mr. Teo En Ming, what''s wrong when you apply patches and compile? > > Regards, > Weidong >_______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Konrad Rzeszutek Wilk
2009-Dec-28 14:33 UTC
Re: [Xen-devel] Partial Success VGA passthrough NVIDIA GeForce 7600 GS on Intel 5520
Does X in DomU work ? If not, what are the errors the Xorg.log file has?> > 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 >_______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel