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 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 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 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: [] ? __report_bad_irq+0x1e/0x90 Dec 24 19:08:17 iron kernel: [] ? note_interrupt+0x198/0x1e0 Dec 24 19:08:17 iron kernel: [] ? handle_level_irq+0xed/0x120 Dec 24 19:08:17 iron kernel: [] ? handle_irq+0x17/0x20 Dec 24 19:08:17 iron kernel: [] ? xen_evtchn_do_upcall+0x203/0x240 Dec 24 19:08:17 iron kernel: [] ? xen_do_hypervisor_callback+0x1e/0x30 Dec 24 19:08:17 iron kernel: [] ? hypercall_page+0x3aa/0x1010 Dec 24 19:08:17 iron kernel: [] ? hypercall_page+0x3aa/0x1010 Dec 24 19:08:17 iron kernel: [] ? xen_vcpuop_set_next_event+0x0/0x70 Dec 24 19:08:17 iron kernel: [] ? xen_safe_halt+0xc/0x20 Dec 24 19:08:17 iron kernel: [] ? xen_idle+0x4e/0x80 Dec 24 19:08:17 iron kernel: [] ? cpu_idle+0x67/0xd0 Dec 24 19:08:17 iron kernel: [] ? start_kernel+0x3da/0x460 Dec 24 19:08:17 iron kernel: [] ? xen_start_kernel+0x670/0x756 Dec 24 19:08:17 iron kernel: handlers: Dec 24 19:08:17 iron kernel: [] (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: > 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- > SERR- 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: > 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