WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

RE: [Xen-devel] RE: Partial Success VGA passthrough NVIDIA GeForce 7600

To: Austin Schuh <austin@xxxxxxxxxxxxxxx>, "xen-devel@xxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxx>
Subject: RE: [Xen-devel] RE: Partial Success VGA passthrough NVIDIA GeForce 7600 GS on Intel 5520
From: "Han, Weidong" <weidong.han@xxxxxxxxx>
Date: Fri, 25 Dec 2009 14:28:37 +0800
Accept-language: en-US
Acceptlanguage: en-US
Cc:
Delivery-date: Thu, 24 Dec 2009 22:29:54 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <4B342F45.2070805@xxxxxxxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <4B332073.60909@xxxxxxxxxxxx> <60E426D47DE8EA47AA104E65008A100D05CD751E32@xxxxxxxxxxxxxxxxxxxxxxxxxxxxx> <4B342F45.2070805@xxxxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Thread-index: AcqFERqNMkBlS/7yRAKyUFItyVZzvgAGIdMw
Thread-topic: [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@xxxxxxxxxxxxxxx] 
Sent: Friday, December 25, 2009 11:20 AM
To: Han, Weidong; xen-devel@xxxxxxxxxxxxxxxxxxx
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@xxxxxxxxxx>
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@xxxxxxxxxxxxx>
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@xxxxxxxxxx>
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@xxxxxxxxxxxx]
> Sent: Thursday, December 24, 2009 4:04 PM
> To: xen-devel@xxxxxxxxxxxxxxxxxxx; 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@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel

<Prev in Thread] Current Thread [Next in Thread>