[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Xen-users] VGA PassThrough works for EVGA GTX 460 SE 1024 MB
Hi
Finally I succeeded to use my graphic card EVGA GTX 460 SE 1024M with Xen 4.2 unstable.
Before I was using my MSI GT 440.
Kernel ---> 3.1.0-rc9 downloaded from http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=summary
My kernel's config is attached to this mail.
About Xen:
Download Xen
hg clone -r 23965 http://xenbits.xensource.com/staging/xen-unstable.hg/ xen-unstable.hg-rev-23965-ok
Make a first init build for tools
cd xen-unstable.hg-rev-23965-ok/tools make -j4 make clean cd ..
Apply the patches attached to this mail (patch -p0 < ....)
Copy the VGA BIOS extracted using nvlfash 5.100
cp /path/to/VGABIOS.ROM tools/firmware/vgabios/vgabios-pt.bin
Compil again
make -j4 tools
Install
make -j4 install-tools PYTHON_PREFIX_ARG=
Since my old domU XP 64 bits was using GT 440, I replaced my old graphic card with the EVGA GTX 460 SE.
Everything was OK (except that it is impossible to restart the domU withtout restarting the dom0 as usual)
About dsdt.asl.patch file =========================
For your information concerning the patch for dsd (I've already give the informations in an other mail but I will give it again)
Get the identifier for your graphic card root@mercury:/opt/tmp/gfx_patchs_gtx-460-se-evga# lspci |grep VGA 01:00.0 VGA compatible controller: nVidia Corporation Device 0e23 (rev a1)
Use dmesg to get the required ranges root@mercury:/opt/tmp/gfx_patchs_gtx-460-se-evga# dmesg | grep 01:00.0 | grep BAR [ 2.481779] pci 0000:01:00.0: BAR 0: reserving [mem 0xf8000000-0xf9ffffff flags 0x40200] (d=0, p=0) [ 2.481782] pci 0000:01:00.0: BAR 1: reserving [mem 0xd0000000-0xd7ffffff flags 0x14220c] (d=0, p=0) [ 2.481784] pci 0000:01:00.0: BAR 3: reserving [mem 0xd8000000-0xdbffffff flags 0x14220c] (d=0, p=0) [ 2.481787] pci 0000:01:00.0: BAR 5: reserving [io 0xe000-0xe07f flags 0x40101] (d=0, p=0)
The 3 ranges [0xf8000000-0xf9fffff], [0xd0000000-0xd7ffffff], [0xd8000000-0xdbfffff] need to be specify in dsdt.asl.patch
Moreover you need to use the formula
Maximum - Minimum + 1 for the difference.
As a example: for the first range [0xf8000000-0xf9fffff]
Maximum = (0xf9fffff) / Minimum = 0xf8000000 => Difference = 4194303999 - 4160749568 + 1 = 33554432 => hexadecimal = 0x02000000
That the reason why that in the patch, there are
+ 0xF8000000, + 0xF9FFFFFF, 0x00000000, - 0x05000000, - ,, _Y01) + 0x02000000)
Do the same for the others ranges
Hope this help.
I do not make test for Windows 7. I do not plan to try.
-------------------------------------
Jean David TECHER
davidgis.fr
--------------------------------------
Attachment:
config-3.1.0-rc9
Description: Binary data
Attachment:
dsdt.asl.patch
Description: application/download
Attachment:
hvmloader.c.patch
Description: application/download
Attachment:
Makefile.patch
Description: application/download
Attachment:
pass-through.c.patch
Description: application/download
Attachment:
pci.c.patch
Description: application/download
_______________________________________________
Xen-users mailing list
Xen-users@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-users
|