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] nVidia Geforce 8400 GS PCI Express x16 VGA Pass Through

To: "'enming.teo@xxxxxxxxxxxxxxx'" <enming.teo@xxxxxxxxxxxxxxx>, "'djmagee@xxxxxxxxxxxx'" <djmagee@xxxxxxxxxxxx>
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
From: "Han, Weidong" <weidong.han@xxxxxxxxx>
Date: Thu, 27 Aug 2009 10:01:26 +0800
Accept-language: en-US
Acceptlanguage: en-US
Cc: "'xen-devel@xxxxxxxxxxxxxxxxxxx'" <xen-devel@xxxxxxxxxxxxxxxxxxx>
Delivery-date: Wed, 26 Aug 2009 19:03:30 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <7FA836125C4D472E975FD7D40DAEA1DC@ASOITIS16>
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: <715D42877B251141A38726ABF5CABF2C054B533186@xxxxxxxxxxxxxxxxxxxxxxxxxxxx> <7FA836125C4D472E975FD7D40DAEA1DC@ASOITIS16>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Thread-index: AcolnMU83uLVvJx8SzOGCqdGU4J5DgACUx9wAB/AgKAAAkHr4AAC5mngAADsWvAAHj128A==
Thread-topic: [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
Teo En Ming (Zhang Enming) wrote:
> Hi Weidong,
> 
> 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. 
> 
> Here are my questions:
> 
> 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. 

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

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

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

When you use command 'lspci -v', you may see below messages under each device:

...
Memory at d0000000 (32-bit, prefetchable) [size=256M]
Memory at ff900000 (32-bit, non-prefetchable) [size=1M]
...

They are MMIO BARs. 1:1 map means make these MMIO BARs in guest are equal to 
the values in host.

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

> 
> Thank you very much.
> 
> Regards,
> 
> 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@xxxxxxxxxxx
> 
> -----Original Message-----
> From: Han, Weidong [mailto:weidong.han@xxxxxxxxx]
> Sent: Wednesday, August 26, 2009 6:56 PM
> To: 'enming.teo@xxxxxxxxxxxxxxx'; 'djmagee@xxxxxxxxxxxx'
> Cc: 'xen-devel@xxxxxxxxxxxxxxxxxxx'
> 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
> 
> Teo En Ming (Zhang Enming) wrote:
>> Hi Weidong,
>> 
>> 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?
>> 
> 
> 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. 
> 
> Regards,
> Weidong
> 
>> Thank you.
>> 
>> Regards,
>> 
>> 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@xxxxxxxxxxx
>> Alma Maters: Singapore Polytechnic, National University of Singapore
>> 
>> -----Original Message-----
>> From: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
>> [mailto:xen-devel-bounces@xxxxxxxxxxxxxxxxxxx] On Behalf Of Han,
>> Weidong Sent: Wednesday, August 26, 2009 4:27 PM
>> To: 'djmagee@xxxxxxxxxxxx'; 'enming.teo@xxxxxxxxxxxxxxx'
>> Cc: 'xen-devel@xxxxxxxxxxxxxxxxxxx'
>> Subject: RE: [Xen-devel] nVidia Geforce 8400 GS PCI Express x16
>> VGAPassThroughto Windows XP Home 32-bit HVM Virtual Machine with
>> IntelDesktop BoardDQ45CB 
>> 
>> 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.
>> 
>> 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. 
>> 
>> Regards,
>> Weidong
>> 
>> djmagee@xxxxxxxxxxxx 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.
>>> 
>>> 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. 
>>> 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. 
>>> 
>>> 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.
>>> 
>>> 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. 
>>> 
>>> 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).
>>> 
>>> If anyone else has any insight or similar experience I'd also love
>>> to hear it. 
>>> 
>>> Doug Magee
>>> djmagee@xxxxxxxxxxxx
>>> 
>>> -----Original Message-----
>>> From: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
>>> [mailto:xen-devel-bounces@xxxxxxxxxxxxxxxxxxx] On Behalf Of Mr. Teo
>>> En Ming (Zhang Enming) Sent: Tuesday, August 25, 2009 11:57 AM
>>> To: enming.teo@xxxxxxxxxxxxxxx
>>> Cc: xen-devel@xxxxxxxxxxxxxxxxxxx
>>> 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 
>>> 
>>> I have uninstalled Xen 3.4.1 and installed Xen 3.5-unstable as
>>> suggested by Weidong. 
>>> 
>>> 
>>> On 08/25/2009 11:47 PM, Mr. Teo En Ming (Zhang Enming) wrote:
>>>> Dear All,
>>>> 
>>>> 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.
>>>> 
>>>> Thanks to Intel Engineer Han Weidong, Pasi Kärkkäinen, Boris
>>>> Derzhavets, Marc, Caz Yokoyama, and others who have helped me and
>>>> shared their knowledge with me along the way.
>>>> 
>>>> System Configuration:
>>>> 
>>>> Intel Desktop Board DQ45CB with BIOS upgraded to 0093
>>>> Onboard Intel GMA 4500 Graphics (IGD)
>>>> nVidia Geforce 8400 GS PCI Express x16 Graphics Card
>>>> 
>>>> 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
>>>> 
>>>> Please see the screenshots and my blog at the link here:
>>>> 
>>>> 
>> 
> http://teo-en-ming-aka-zhang-enming.blogspot.com/2009/08/nvidia-geforce-8400
>> -gs-pci-express-x16.html
>>>> 
>>>> 
>>> 
>>> 
>>> 
>>> 
>>> _______________________________________________
>>> Xen-devel mailing list
>>> Xen-devel@xxxxxxxxxxxxxxxxxxx
>>> http://lists.xensource.com/xen-devel
>>> 
>>> _______________________________________________
>>> Xen-devel mailing list
>>> Xen-devel@xxxxxxxxxxxxxxxxxxx
>>> http://lists.xensource.com/xen-devel
>> 
>> 
>> _______________________________________________
>> Xen-devel mailing list
>> Xen-devel@xxxxxxxxxxxxxxxxxxx
>> http://lists.xensource.com/xen-devel
>> 
>> 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 
>> 
>> 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
> 
> 
> 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
> 
> 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@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel

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