From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Teo En Ming (Zhang Enming)" Subject: RE: nVidia Geforce 8400 GS PCI Express x16 VGA Pass Through to Windows XP Home 32-bit HVM Virtual Machine with Intel Desktop Board DQ45CB Date: Thu, 27 Aug 2009 14:03:03 +0800 Message-ID: <7940FA9E34F742AAA0C9DA8599D65962@ASOITIS16> References: Reply-To: enming.teo@asiasoftsea.net Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Return-path: In-Reply-To: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: enming.teo@asiasoftsea.net, weidong.han@intel.com, djmagee@mageenet.net Cc: xen-devel@lists.xensource.com List-Id: xen-devel@lists.xenproject.org I think I cannot use NiBiTor already as I don't have any native Windows operating system running on my computer. Instead, I should create a CD-ROM boot disc that contains nvflash.exe = and also loads USB drivers. I will use nvflash.exe to extract out and save VGA BIOS to USB sticks. NVIDIA GeForce BIOS Backup Guide: = http://www.mvktech.net/content/view/14/37/ Motherboard Flash Boot CD from Linux Mini HOWTO: http://www.nenie.org/misc/flashbootcd.html DOS USB Drivers: http://www.bootdisk.com/usb.htm Regards, =20 Mr. Teo En Ming (Zhang Enming) Dip(Mechatronics Engineering) BEng(Hons)(Mechanical Engineering)=20 Technical Support Engineer=20 Information Technology Department Asiasoft Online Pte Ltd Tampines Central 1 #04-01 Tampines Plaza=20 Singapore 529541 Republic of Singapore Mobile: +65-9648-9798 MSN: teoenming@hotmail.com -----Original Message----- From: xen-devel-bounces@lists.xensource.com [mailto:xen-devel-bounces@lists.xensource.com] On Behalf Of Teo En Ming (Zhang Enming) Sent: Thursday, August 27, 2009 11:18 AM To: weidong.han@intel.com; djmagee@mageenet.net Cc: xen-devel@lists.xensource.com Subject: RE: [Xen-devel] nVidia Geforce 8400 GS PCI Express x16 VGA PassThrough to Windows XP Home 32-bit HVM Virtual Machine withIntel = Desktop Board DQ45CB Dear Weidong, I will go for option 2. > don't initialize emulated VGA in qemu, I I think you have seen the = code. I have not seen the source code. Though I have learnt simple structured = C before in Singapore Polytechnic some 11 years ago, I am not a programmer = by profession. So I would still need some instructions on how I can prevent emulated VGA bios from loading and getting the vga bios of the real = display card to load. Thank you. Regards, =20 Mr. Teo En Ming (Zhang Enming) Dip(Mechatronics Engineering) BEng(Hons)(Mechanical Engineering)=20 Technical Support Engineer=20 Information Technology Department Asiasoft Online Pte Ltd Tampines Central 1 #04-01 Tampines Plaza=20 Singapore 529541 Republic of Singapore Mobile: +65-9648-9798 MSN: teoenming@hotmail.com -----Original Message----- From: xen-devel-bounces@lists.xensource.com [mailto:xen-devel-bounces@lists.xensource.com] On Behalf Of Han, Weidong Sent: Thursday, August 27, 2009 10:01 AM To: 'enming.teo@asiasoftsea.net'; 'djmagee@mageenet.net' Cc: 'xen-devel@lists.xensource.com' Subject: RE: [Xen-devel] nVidia Geforce 8400 GS PCI Express x16 VGA PassThrough to Windows XP Home 32-bit HVM Virtual Machine with = IntelDesktop Board DQ45CB Teo En Ming (Zhang Enming) wrote: > Hi Weidong, >=20 > Currently I am using the entire Xen 3.5-unstable branch and not using > the posted pci-stub patch changeset 19893 to patch Xen 3.4.1-testing. > I am using Xen 3.5-unstable in conjunction with pvops dom 0 kernel > 2.6.31-rc6.=20 >=20 > Here are my questions: >=20 > 1) How do I extract out the VGA BIOS/firmware from the > firmware/EEPROM chip on the Geforce 8400 GS VGA card? If it is not > possible to extract, where can I download the firmware? NVIDIA does > not provide display card firmware/BIOS files for public download on > its website.=20 There are 3 ways to load VGA bios to guest: 1. copy it from host 0xc0000, and map it to guest 0xc0000. This works = for primary gfx card, XCI does like this. But some VGA bios re-execution = doesn't work well. 2. dump VGA bios to a file first, then load it to guest: you can use = NiBiTor to dump VGA bios of Nvidia gfx cards to a file, then load it into guest = roms like what emulated VGA does in hvmloader. This works for all gfx cards, = but it involves manual steps. 3. load VGA bios from expansion rom: Intel iGFX doesn't have expansion = rom >=20 > 2) How do I get the Geforce 8400 GS VGA BIOS to load instead of the > emulated VGA BIOS? Which configuration files/source codes do I have to > configure/patch? don't initialize emulated VGA in qemu, I I think you have seen the code. >=20 > 3) What are physical MMIO, virtual MMIO Bars, dsdt.asl and 1:1 map? I > am sorry but I am not a graphics card hardware engineer so I do not > understand those terms. I would appreciate it if you could write out > some steps that I could carry out or point me to already available > documentation.=20 When you use command 'lspci -v', you may see below messages under each device: ... Memory at d0000000 (32-bit, prefetchable) [size=3D256M] Memory at ff900000 (32-bit, non-prefetchable) [size=3D1M] ... They are MMIO BARs. 1:1 map means make these MMIO BARs in guest are = equal to the values in host. >=20 > 4) I don't mind using experimental code. Please post it on the > xen-devel mailing list so that I could try it out. we will post in near future. pls wait for a while. Regards, Weidong >=20 > Thank you very much. >=20 > Regards, >=20 > Mr. Teo En Ming (Zhang Enming) Dip(Mechatronics Engineering) > BEng(Hons)(Mechanical Engineering) > Technical Support Engineer > Information Technology Department > Asiasoft Online Pte Ltd > Tampines Central 1 #04-01 Tampines Plaza > Singapore 529541 > Republic of Singapore > Mobile: +65-9648-9798 > MSN: teoenming@hotmail.com >=20 > -----Original Message----- > From: Han, Weidong [mailto:weidong.han@intel.com] > Sent: Wednesday, August 26, 2009 6:56 PM > To: 'enming.teo@asiasoftsea.net'; 'djmagee@mageenet.net' > Cc: 'xen-devel@lists.xensource.com' > Subject: RE: [Xen-devel] nVidia Geforce 8400 GS PCI Express x16 VGA > Pass Through to Windows XP Home 32-bit HVM Virtual Machine with Intel > Desktop Board DQ45CB >=20 > Teo En Ming (Zhang Enming) wrote: >> Hi Weidong, >>=20 >> Could you share with us the hack codes for making Geforce 8400 GS >> work and also how to let the Windows HVM guest boot up using the real >> BIOS of Geforce 8400 GS instead of an emulated VGA BIOS? >>=20 >=20 > What patch are you using now? Using real VGA bios of gfx card to > replace emulatd VGA bios is the prerequisite of gfx passthrough. You > can find it in posted gfx passthrough patches or XCI. For hack of > making Geforce 8400, we reserve physical MMIO BARs in dsdt.asl, and > make it 1:1 map between physical MMIO BARs and virtual MMIO BARs of > the card. Currently our code is experimental, we will send out in > mailing list after cleanup and more tests.=20 >=20 > Regards, > Weidong >=20 >> Thank you. >>=20 >> Regards, >>=20 >> Mr. Teo En Ming (Zhang Enming) Dip(Mechatronics Engineering) >> BEng(Hons)(Mechanical Engineering) >> Technical Support Engineer >> Information Technology Department >> Asiasoft Online Pte Ltd >> Tampines Central 1 #04-01 Tampines Plaza >> Singapore 529541 >> Republic of Singapore >> Mobile: +65-9648-9798 >> MSN: teoenming@hotmail.com >> Alma Maters: Singapore Polytechnic, National University of Singapore >>=20 >> -----Original Message----- >> From: xen-devel-bounces@lists.xensource.com >> [mailto:xen-devel-bounces@lists.xensource.com] On Behalf Of Han, >> Weidong Sent: Wednesday, August 26, 2009 4:27 PM >> To: 'djmagee@mageenet.net'; 'enming.teo@asiasoftsea.net' >> Cc: 'xen-devel@lists.xensource.com' >> Subject: RE: [Xen-devel] nVidia Geforce 8400 GS PCI Express x16 >> VGAPassThroughto Windows XP Home 32-bit HVM Virtual Machine with >> IntelDesktop BoardDQ45CB=20 >>=20 >> I suppose you just use the patch posted in mailing list before. >> nVidia Geforce 8400 passthrough needs extra hacks. We can make it >> work in our experiments with 1:1 map of its MMIO BARs. >>=20 >> We are working on gfx passthrough on latest xen-unstable. Firstly, we >> want to cook a simple patch including generic changes to support >> passthrough of virtualization friendly gfx cards, such as Nvidia >> FX3800. This patch is basically done. Then, we will add some hacks >> for more gfx cards passthrough, such as iGFX and some Nvidia and ATI >> cards.=20 >>=20 >> Regards, >> Weidong >>=20 >> djmagee@mageenet.net wrote: >>> As I've pointed out on this list before, there are not enough PCIe >>> lanes on the DQ45CB to drive both the internal graphics adapter and >>> the add-on adapter at the same time. I believe the onboard one may >>> be able to operate in some sort of VGA only mode when there is a >>> card installed and used as the primary adapter. >>>=20 >>> I have a similar setup, using the same motherboard, and an ATI 4770. >>> I used the VGA passthrough patches from an earlier posting (I saw >>> you followed the same set of instructions), with limited success.=20 >>> I've been using 3.4-testing, and 'xenified' 2.6.29.6 kernel. I made >>> modifications to the dom0 portion of the patches so they would apply >>> to my xenified 2.6.29 kernel. These patches include code that will >>> copy the VGA bios to the guest bios instead of using the emulated >>> vga bios. I've had very little success, however. I have only tried >>> passing through the ATI adapter. In all instances, the guest bios >>> messages appear on my monitor, so this much works. In some cases, >>> the guest essentially stops there; xm list show's about 2sec CPU >>> usage and nothing ever happens after that point. In other cases, >>> the guest (win xp/vista/7, as well as KNOPPIX 5.3.1 DVD) will boot >>> all the way, but in very low res/color mode, and cannot properly >>> initialize the video device. Once or twice, it actually did >>> recognize the device and had a reasonable default color/resolution >>> combination. In all cases where the guest actually boots, the >>> system eventually freezes. In some cases, I get endless streams of >>> iommu page faults.=20 >>>=20 >>> I have 8GB ram installed. In all cases I've limited dom0 memory to >>> 2GB. In all cases, my guest has been assigned 2GB of memory. >>>=20 >>> I have a dual core e6600. I've tried allowing dom0 to use both >>> cores, offlining one core (using xend dom0_vcpu setting) after boot, >>> and restricting dom0 to only one core using the dom0_max_vcpus xen >>> hypervisor parameter. In all of these cases I've tried both one and >>> two vcpus for the guest. My success with VGA passthrough seems >>> somewhat random and no combination of cpu assignment seems to have >>> any effect.=20 >>>=20 >>> I have not tried with the 2.6.18-xen kernel as I haven't gotten it >>> to boot on my hardware; it can never find my volume group, even if I >>> create a initrd with all of the required modules, or build those >>> drivers into the kernel. I have not spent more than maybe a half an >>> hour on this problem; I suspect it may have something to do with the >>> version of mkinitrd I'm using (from Fedora 9 x64). >>>=20 >>> If anyone else has any insight or similar experience I'd also love >>> to hear it.=20 >>>=20 >>> Doug Magee >>> djmagee@mageenet.com >>>=20 >>> -----Original Message----- >>> From: xen-devel-bounces@lists.xensource.com >>> [mailto:xen-devel-bounces@lists.xensource.com] On Behalf Of Mr. Teo >>> En Ming (Zhang Enming) Sent: Tuesday, August 25, 2009 11:57 AM >>> To: enming.teo@asiasoftsea.net >>> Cc: xen-devel@lists.xensource.com >>> Subject: Re: [Xen-devel] nVidia Geforce 8400 GS PCI Express x16 VGA >>> PassThroughto Windows XP Home 32-bit HVM Virtual Machine with Intel >>> Desktop BoardDQ45CB=20 >>>=20 >>> I have uninstalled Xen 3.4.1 and installed Xen 3.5-unstable as >>> suggested by Weidong.=20 >>>=20 >>>=20 >>> On 08/25/2009 11:47 PM, Mr. Teo En Ming (Zhang Enming) wrote: >>>> Dear All, >>>>=20 >>>> I have managed to do PCI-e VGA passthrough with the open source Xen >>>> but the work is still in progress because although Windows XP guest >>>> can see the REAL PCI-e x16 graphics card instead of an emulated >>>> graphics driver, it cannot be initialized yet. >>>>=20 >>>> Thanks to Intel Engineer Han Weidong, Pasi K=E4rkk=E4inen, Boris >>>> Derzhavets, Marc, Caz Yokoyama, and others who have helped me and >>>> shared their knowledge with me along the way. >>>>=20 >>>> System Configuration: >>>>=20 >>>> Intel Desktop Board DQ45CB with BIOS upgraded to 0093 >>>> Onboard Intel GMA 4500 Graphics (IGD) >>>> nVidia Geforce 8400 GS PCI Express x16 Graphics Card >>>>=20 >>>> Fedora 11 Linux 64-bit Xen paravirt operations Domain 0 Host >>>> Operating System Xen 3.5 Unstable/Development Type 1 Hypervisor >>>> Jeremy Fitzhardinge's Xen paravirt-ops domain 0 Kernel 2.6.31-rc6 >>>> Primary Video Adapter in BIOS: IGD >>>>=20 >>>> Please see the screenshots and my blog at the link here: >>>>=20 >>>>=20 >>=20 > http://teo-en-ming-aka-zhang-enming.blogspot.com/2009/08/nvidia-geforce-8= 400 >> -gs-pci-express-x16.html >>>>=20 >>>>=20 >>>=20 >>>=20 >>>=20 >>>=20 >>> _______________________________________________ >>> Xen-devel mailing list >>> Xen-devel@lists.xensource.com >>> http://lists.xensource.com/xen-devel >>>=20 >>> _______________________________________________ >>> Xen-devel mailing list >>> Xen-devel@lists.xensource.com >>> http://lists.xensource.com/xen-devel >>=20 >>=20 >> _______________________________________________ >> Xen-devel mailing list >> Xen-devel@lists.xensource.com >> http://lists.xensource.com/xen-devel >>=20 >> No virus found in this incoming message. >> Checked by AVG - www.avg.com >> Version: 8.5.392 / Virus Database: 270.13.65/2324 - Release Date: >> 08/25/09 18:07:00=20 >>=20 >> No virus found in this outgoing message. >> Checked by AVG - www.avg.com >> Version: 8.5.392 / Virus Database: 270.13.65/2324 - Release Date: >> 08/25/09 18:07:00 >=20 >=20 > No virus found in this incoming message. > Checked by AVG - www.avg.com > Version: 8.5.392 / Virus Database: 270.13.65/2324 - Release Date: > 08/25/09 18:07:00 >=20 > No virus found in this outgoing message. > Checked by AVG - www.avg.com > Version: 8.5.392 / Virus Database: 270.13.65/2324 - Release Date: > 08/25/09 18:07:00 _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel No virus found in this incoming message. Checked by AVG - www.avg.com=20 Version: 8.5.392 / Virus Database: 270.13.67/2326 - Release Date: = 08/25/09 18:07:00 No virus found in this outgoing message. Checked by AVG - www.avg.com=20 Version: 8.5.392 / Virus Database: 270.13.67/2326 - Release Date: = 08/26/09 12:16:00 _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel No virus found in this incoming message. Checked by AVG - www.avg.com=20 Version: 8.5.392 / Virus Database: 270.13.69/2328 - Release Date: = 08/26/09 12:16:00 No virus found in this outgoing message. Checked by AVG - www.avg.com=20 Version: 8.5.392 / Virus Database: 270.13.69/2328 - Release Date: = 08/26/09 12:16:00