[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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@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


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.