| 
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 20143
641  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-tools
In 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-tools
At 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-tools
But 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
 |