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