[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] RE: [Xen-devel] Video Presentation on PCI Express x16 VGA Pass Through to Xen-based Windows XP Home Edition HVM Virtual Machine
Hi All,I went through the history and here are the steps I took to patch xen 3.5-unstable for VGA passthrough. Based on Weidong's advice I checked out changeset earlier than 20144. Initial trial without secondary gfx passthrough patch ================================= 637 hg clone http://xenbits.xensource.com/xen-unstable.hg 638 cd xen-unstable.hg 639 vi tools/firmware/hvmloader/hvmloader.c 640 hg checkout 20143641 cp ~enming/intel-gfx-passthru-patches/intel-gfx-passthru-patch01.patch . 642 patch -p1 < intel-gfx-passthru-patch01.patch 643 make tools 644 history 645 cd tools/ioemu-remote/646 cp ~enming/intel-gfx-passthru-patches/intel-gfx-passthru-patch02.patch . 647 patch -p1 < intel-gfx-passthru-patch02.patch 648 cd .. 649 cd .. 650 cp ~enming/intel-gfx-passthru-patches/xen-load-vbios-file.patch . 651 patch -p1 < xen-load-vbios-file.patch 652 cp ~enming/intel-gfx-passthru-patches/xen-vBAR-pBAR.patch . 653 patch -p1 < xen-vBAR-pBAR.patch 654 cd tools/ioemu-remote/655 cp ~enming/intel-gfx-passthru-patches/qemu-change-for-vBAR-pBAR.patch . 656 patch -p1 < qemu-change-for-vBAR-pBAR.patch 657 cd ../../ 658 make clean 659 cp ~enming/vgabios-pt.bin tools/firmware/vgabios/ 660 ls tools/firmware/vgabios/vgabios-pt.bin 661 make xen 662 make install-xen 663 make tools 664 make install-toolsIn the above case, intel-gfx-passthru-patch01.patch is actually xen-gfx-passthrough.patch as posted by Weidong. intel-gfx-passthru-patch02.patch is actually qemu-gfx-passthrough.patch as posted by Weidong. After building and installing everything, I rebooted. When I tried to passthrough the nVidia Geforce 8400 GS, I got "not enough free resources" in Windows XP domU. This is in fact much better than my earlier trial when I got "device cannot start" in Windows XP domU device manager with the wrong approach of using onboard gma4500 graphics as primary and nvidia geforce 8400 gs as secondary. This time I am using nvidia geforce 8400 gs as the primary and nothing else as the secondary. After Timothy Moore's suggestion, I proceeded to the next trial. Next trial WITH secondary gfx passthrough patch ============================== 679 cd /usr/src 680 mv xen-unstable.hg xen-unstable.hg-20143-no-secondary-patch 681 cp -R xen-unstable.hg-20143-no-secondary-patch xen-unstable.hg 682 cd xen-unstable.hg 683 history 684 cd tools/ioemu-remote/685 cp ~enming/intel-gfx-passthru-patches/qemu-claim-vga-cycle-for-secondary-gfx-passthrough.patch . 686 patch -p1 < qemu-claim-vga-cycle-for-secondary-gfx-passthrough.patch 687 cd ../.. 688 make clean 689 cp ~enming/vgabios-pt.bin tools/firmware/vgabios/ 690 ls tools/firmware/vgabios/vgabios-pt.bin 691 make xen 692 make install-xen 693 make tools 694 make install-toolsAt this point, I encountered an error with build.c as documented with my earlier postings in xen-devel mailing list. So I applied my very own patch:Patch created by Teo En Ming (Zhang Enming) on 29 August 2009 Saturday at 8:00 P.M. Singapore Time Email #1: enming.teo@xxxxxxxxxxxxxxx Email #2: space.time.universe@xxxxxxxxx MSN: teoenming@xxxxxxxxxxx Mobile Phone: +65-9648-9798 --- ssdt_pm.h 2009-08-29 19:54:52.653088000 +0800 +++ ssdt_pm.h 2009-08-29 19:56:51.813088550 +0800 @@ -10,7 +10,7 @@ * C source code output * */ -unsigned char AmlCode[] = +unsigned char AmlCode_PM[] = { 0x53,0x53,0x44,0x54,0xD6,0x05,0x00,0x00, /* 00000000 "SSDT...." */ 0x02,0xB9,0x58,0x65,0x6E,0x00,0x00,0x00, /* 00000008 "..Xen..." */ --- ssdt_tpm.h 2009-08-29 19:55:44.578738954 +0800 +++ ssdt_tpm.h 2009-08-29 19:57:27.896638884 +0800 @@ -10,7 +10,7 @@ * C source code output * */ -unsigned char AmlCode[] = +unsigned char AmlCode_TPM[] = { 0x53,0x53,0x44,0x54,0x4C,0x00,0x00,0x00, /* 00000000 "SSDTL..." */ 0x02,0x2A,0x58,0x65,0x6E,0x00,0x00,0x00, /* 00000008 ".*Xen..." */ Then I checked ssdt_pm.h and ssdt_tpm.h to make sure they are correct. 695 vi tools/firmware/hvmloader/acpi/ssdt_pm.h 696 vi tools/firmware/hvmloader/acpi/ssdt_tpm.h 697 make install-toolsBut I still get "not enough free resources" in Win XP domU device manager. So apparently the patch qemu-claim-vga-cycle-for-secondary-gfx-passthrough.patch doesn't affect my nvidia geforce 8400 gs passed through operations since I am using nvidia as primary and nothing as secondary. The secondary gfx patch is for cases when you have a primary for dom0 and passing through the secondary gfx to a HVM domU. -- 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 Company Website: http://www.asiasoft.sg/ Mobile: +65-9648-9798 MSN: teoenming@xxxxxxxxxxx Alma Maters: Singapore Polytechnic, National University of Singapore _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |