David TECHER
2011-Oct-15 02:05 UTC
[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. I am little excited that it works now. Kernel ==== 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. 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 ================There is no real changes from the patches I''ve sent in August/September. The change is only for dsdt.asl.patch 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. David _______________________________________________ Xen-users mailing list Xen-users@lists.xensource.com http://lists.xensource.com/xen-users
david.techer
2011-Oct-15 02:21 UTC
[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
--------------------------------------
_______________________________________________
Xen-users mailing list
Xen-users@lists.xensource.com
http://lists.xensource.com/xen-users