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