From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Teo En Ming (Zhang Enming)" Subject: 100% Perfect Success in Xen 4.2-unstable Changeset 25099 VGA Passthrough with NVIDIA Quadro 6000 (Frank Lyon's Xen VGA Passthrough Configuration Files) Date: Mon, 24 Sep 2012 19:56:30 +0800 Message-ID: <50604A6E.3040305@gmail.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------020803020300030807030301" Return-path: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: "xen-users@lists.xen.org" , "xen-devel@lists.xen.org" , "Teo En Ming (Zhang Enming)" , Frank Lyon , David TECHER , Casey DeLorme , Tobias Geiger List-Id: xen-devel@lists.xenproject.org This is a multi-part message in MIME format. --------------020803020300030807030301 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Dear All, Frank Lyon (Singapore) engaged me to work on Xen VGA Passthrough for him. He started off contemplating VGA Passthrough using Xen Cloud Platform (XCP) but he couldn't get VGA Passthrough to work with it. Then he engaged a tech guy from a software consultancy firm in Singapore but the tech guy he engaged also couldn't get VGA Passthrough to work using Xen Cloud Platform. Finally Frank Lyon engaged me to work on Xen VGA Passthrough for him. I dropped XCP altogether because I have totally no experience with it at all. I finally got 100% perfect success in Xen VGA Passthrough with his NVIDIA Quadro 6000. Here are Frank Lyon's hardware specifications: Server: HP ProLiant DL370G6 Processors: 2x Intel Xeon CPU X5650 @ 2.67 GHz (2 Processors detected, 12 total cores detected per processor) Harddisks: 4X 1TB SAS MDL 6G DP 7.2K Harddisks Memory: 48GB of memory Display adapter: NVIDIA Quadro 6000 Here are Frank Lyon's software configuration: Host Operating System: Ubuntu 12.04 LTS Server CD HVM domU: Windows 7 64-bit and Windows 8 Pro 64-bit Xen Hypervisor version: 4.2-unstable Changeset 25099 Linux Dom0 Kernel: 3.5.4 (I compiled it from sources) Attached in this email are Xen VGA Passthrough configuration files and scripts I have configured for Frank Lyon's Xen VGA Passthrough server. Reference guides/tutorials followed in setting up Frank Lyon's Xen VGA Passthrough server (hosted on Xen Wiki): (1) http://wiki.xen.org/wiki/Building_and_Installing_Xen_4.x_and_Linux_Kernel_3.x_on_Ubuntu_and_Debian_Linux (2) http://wiki.xen.org/wiki/Xen_VGA_Passthrough_to_Windows_8_with_Xen_4.2-unstable The above two are guides/tutorials/HowTo/documentation I have written for (1) building and installing Xen 4.x and Linux Kernel 3.x on Ubuntu and Debian Linux and (2) Xen VGA Passthrough. Dear Jean David Techer, Now I have 100% success in getting Xen VGA Passthrough to work in Frank Lyon's Xen VGA Passthrough server, with Xen VGA Passthrough patches hosted at your personal website. The display adapter which was 100% successfully passed through in Frank Lyon's example is a NVIDIA Quadro 6000. I still have no idea why I have PARTIAL (less than 100%) success with Xen VGA Passthrough with my own NVIDIA Geforce 8400 GS VGA card. As I have told you before, there is a yellow exclamation mark with my NVIDIA Geforce 8400 GS in Device Manager in Windows XP and Windows 8 HVM domUs. I am so totally astonished and elated and happy that I could get 100% success in Xen VGA Passthrough with Frank Lyon's Xen VGA Passthrough server. The Xen VGA Passthrough patches hosted at your personal website definitely works. Thumbs up David Techer! There is ***ABSOLUTELY NO*** yellow exclamation mark with Frank Lyon's NVIDIA Quadro 6000 in Device Manager in Windows 7 and Windows 8 HVM domUs. I really wondered what's the problem with my case. I could get somebody else's Xen VGA Passthrough to work but yet I could not get mine to work 100%. Perhaps I should get another NVIDIA vga card to try out VGA Passthrough. Dear All, Although I have 100% success in Xen VGA Passthrough in Frank Lyon's case, it was done with Xen 4.2-unstable Changeset 25099. I couldn't get Xen VGA Passthrough to work with Xen 4.3-unstable. Perhaps the Xen developers could look into this problem? In addition, I cannot passthrough TWO NVIDIA Quadro 6000 to a single Windows 7 or Windows 8 HVM guest. Anybody knows how I could passthrough two GPUs to a single HVM? Windows 7 and Windows 8 HVM guests would go haywire with the 2nd NVIDIA Quadro 6000 plugged in. The 2nd NVIDIA Quadro 6000 needs to be unplugged. Anybody knows why? Please advise. Thank you very much for your kind attention. -- Yours sincerely, Mr. Teo En Ming (Zhang Enming) Singapore --------------020803020300030807030301 Content-Type: text/plain; name="40_custom" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="40_custom" #!/bin/sh exec tail -n +3 $0 # This file provides an easy way to add custom menu entries. Simply type the # menu entries you want to add after this comment. Be careful not to change # the 'exec tail' line above. menuentry 'Ubuntu 12.04 amd64 Release with Xen 4.3-unstable and Linux Kernel 3.5.4-xen-frank.lyon-sgp' --class gnu-linux --class gnu --class os { recordfail insmod part_msdos insmod ext2 search --no-floppy --fs-uuid --set=root d5ec6b7f-e1db-4b46-b050-d0bd46403f59 set root='(hd0,msdos1)' search --no-floppy --fs-uuid --set=root d5ec6b7f-e1db-4b46-b050-d0bd46403f59 multiboot /xen.gz module /vmlinuz-3.5.4-xen-frank.lyon-sgp placeholder root=/dev/mapper/snow-root dom0_mem=1024 console=tty quiet splash vt.handoff=7 nomodeset module /initrd.img-3.5.4-xen-frank.lyon-sgp } --------------020803020300030807030301 Content-Type: text/plain; name="dsdt.asl" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="dsdt.asl" /****************************************************************************** * DSDT for Xen with Qemu device model * * Copyright (c) 2004, Intel Corporation. * * This program is free software; you can redistribute it and/or modify it * under the terms and conditions of the GNU General Public License, * version 2, as published by the Free Software Foundation. * * This program is distributed in the hope it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for * more details. * * You should have received a copy of the GNU General Public License along with * this program; if not, write to the Free Software Foundation, Inc., 59 Temple * Place - Suite 330, Boston, MA 02111-1307 USA. */ DefinitionBlock ("DSDT.aml", "DSDT", 2, "Xen", "HVM", 0) { Name (\PMBS, 0x0C00) Name (\PMLN, 0x08) Name (\IOB1, 0x00) Name (\IOL1, 0x00) Name (\APCB, 0xFEC00000) Name (\APCL, 0x00010000) Name (\PUID, 0x00) /* _S3 and _S4 are in separate SSDTs */ Name (\_S5, Package (0x04) { 0x00, /* PM1a_CNT.SLP_TYP */ 0x00, /* PM1b_CNT.SLP_TYP */ 0x00, /* reserved */ 0x00 /* reserved */ }) Name(PICD, 0) Method(_PIC, 1) { Store(Arg0, PICD) } Scope (\_SB) { /* ACPI_INFO_PHYSICAL_ADDRESS == 0xFC000000 */ OperationRegion(BIOS, SystemMemory, 0xFC000000, 24) Field(BIOS, ByteAcc, NoLock, Preserve) { UAR1, 1, UAR2, 1, LTP1, 1, HPET, 1, Offset(4), PMIN, 32, PLEN, 32, MSUA, 32, /* MADT checksum address */ MAPA, 32, /* MADT LAPIC0 address */ VGIA, 32 /* VM generation id address */ } /* Fix HCT test for 0x400 pci memory: * - need to report low 640 MB mem as motherboard resource */ Device(MEM0) { Name(_HID, EISAID("PNP0C02")) Name(_CRS, ResourceTemplate() { QWordMemory( ResourceConsumer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, 0x00000000, 0x0009ffff, 0x00000000, 0x000a0000) }) } Device (PCI0) { Name (_HID, EisaId ("PNP0A03")) Name (_UID, 0x00) Name (_ADR, 0x00) Name (_BBN, 0x00) /* Make cirrues VGA S3 suspend/resume work in Windows XP/2003 */ Device (VGA) { Name (_ADR, 0x00020000) Method (_S1D, 0, NotSerialized) { Return (0x00) } Method (_S2D, 0, NotSerialized) { Return (0x00) } Method (_S3D, 0, NotSerialized) { Return (0x00) } } Method (_CRS, 0, NotSerialized) { Name (PRT0, ResourceTemplate () { /* bus number is from 0 - 255*/ WordBusNumber( ResourceProducer, MinFixed, MaxFixed, SubDecode, 0x0000, 0x0000, 0x00FF, 0x0000, 0x0100) IO (Decode16, 0x0CF8, 0x0CF8, 0x01, 0x08) WordIO( ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, 0x0000, 0x0000, 0x0CF7, 0x0000, 0x0CF8) WordIO( ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, 0x0000, 0x0D00, 0xFFFF, 0x0000, 0xF300) /* reserve memory for pci devices */ DWordMemory( ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, 0x000A0000, 0x000BFFFF, 0x00000000, 0x00020000) /* reserve MMIO BARs of gfx for 1:1 mapping */ DWordMemory( ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, 0xF8000000, 0xF9FFFFFF, 0x00000000, 0x02000000) DWordMemory( ResourceProducer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite, 0x00000000, 0xD8000000, 0xDFFFFFFF, 0x00000000, 0x08000000) DWordMemory( ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, 0xD4000000, 0xD7FFFFFF, 0x00000000, 0x04000000) DWordMemory( ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, 0xFB000000, 0xFB07FFFF, 0x00000000, 0x00080000, ,, _Y01) }) CreateDWordField(PRT0, \_SB.PCI0._CRS._Y01._MIN, MMIN) CreateDWordField(PRT0, \_SB.PCI0._CRS._Y01._MAX, MMAX) CreateDWordField(PRT0, \_SB.PCI0._CRS._Y01._LEN, MLEN) Store(\_SB.PMIN, MMIN) Store(\_SB.PLEN, MLEN) Add(MMIN, MLEN, MMAX) Subtract(MMAX, One, MMAX) Return (PRT0) } Device(HPET) { Name(_HID, EISAID("PNP0103")) Name(_UID, 0) Method (_STA, 0, NotSerialized) { If(LEqual(\_SB.HPET, 0)) { Return(0x00) } Else { Return(0x0F) } } Name(_CRS, ResourceTemplate() { DWordMemory( ResourceConsumer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite, 0x00000000, 0xFED00000, 0xFED003FF, 0x00000000, 0x00000400 /* 1K memory: FED00000 - FED003FF */ ) }) } Device (ISA) { Name (_ADR, 0x00010000) /* device 1, fn 0 */ OperationRegion(PIRQ, PCI_Config, 0x60, 0x4) Scope(\) { Field (\_SB.PCI0.ISA.PIRQ, ByteAcc, NoLock, Preserve) { PIRA, 8, PIRB, 8, PIRC, 8, PIRD, 8 } } Device (SYSR) { Name (_HID, EisaId ("PNP0C02")) Name (_UID, 0x01) Name (CRS, ResourceTemplate () { /* TODO: list hidden resources */ IO (Decode16, 0x0010, 0x0010, 0x00, 0x10) IO (Decode16, 0x0022, 0x0022, 0x00, 0x0C) IO (Decode16, 0x0030, 0x0030, 0x00, 0x10) IO (Decode16, 0x0044, 0x0044, 0x00, 0x1C) IO (Decode16, 0x0062, 0x0062, 0x00, 0x02) IO (Decode16, 0x0065, 0x0065, 0x00, 0x0B) IO (Decode16, 0x0072, 0x0072, 0x00, 0x0E) IO (Decode16, 0x0080, 0x0080, 0x00, 0x01) IO (Decode16, 0x0084, 0x0084, 0x00, 0x03) IO (Decode16, 0x0088, 0x0088, 0x00, 0x01) IO (Decode16, 0x008C, 0x008C, 0x00, 0x03) IO (Decode16, 0x0090, 0x0090, 0x00, 0x10) IO (Decode16, 0x00A2, 0x00A2, 0x00, 0x1C) IO (Decode16, 0x00E0, 0x00E0, 0x00, 0x10) IO (Decode16, 0x08A0, 0x08A0, 0x00, 0x04) IO (Decode16, 0x0CC0, 0x0CC0, 0x00, 0x10) IO (Decode16, 0x04D0, 0x04D0, 0x00, 0x02) }) Method (_CRS, 0, NotSerialized) { Return (CRS) } } Device (PIC) { Name (_HID, EisaId ("PNP0000")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0020, 0x0020, 0x01, 0x02) IO (Decode16, 0x00A0, 0x00A0, 0x01, 0x02) IRQNoFlags () {2} }) } Device (DMA0) { Name (_HID, EisaId ("PNP0200")) Name (_CRS, ResourceTemplate () { DMA (Compatibility, BusMaster, Transfer8) {4} IO (Decode16, 0x0000, 0x0000, 0x00, 0x10) IO (Decode16, 0x0081, 0x0081, 0x00, 0x03) IO (Decode16, 0x0087, 0x0087, 0x00, 0x01) IO (Decode16, 0x0089, 0x0089, 0x00, 0x03) IO (Decode16, 0x008F, 0x008F, 0x00, 0x01) IO (Decode16, 0x00C0, 0x00C0, 0x00, 0x20) IO (Decode16, 0x0480, 0x0480, 0x00, 0x10) }) } Device (TMR) { Name (_HID, EisaId ("PNP0100")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0040, 0x0040, 0x00, 0x04) IRQNoFlags () {0} }) } Device (RTC) { Name (_HID, EisaId ("PNP0B00")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0070, 0x0070, 0x00, 0x02) IRQNoFlags () {8} }) } Device (SPKR) { Name (_HID, EisaId ("PNP0800")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0061, 0x0061, 0x00, 0x01) }) } Device (PS2M) { Name (_HID, EisaId ("PNP0F13")) Name (_CID, 0x130FD041) Method (_STA, 0, NotSerialized) { Return (0x0F) } Name (_CRS, ResourceTemplate () { IRQNoFlags () {12} }) } Device (PS2K) { Name (_HID, EisaId ("PNP0303")) Name (_CID, 0x0B03D041) Method (_STA, 0, NotSerialized) { Return (0x0F) } Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0060, 0x0060, 0x00, 0x01) IO (Decode16, 0x0064, 0x0064, 0x00, 0x01) IRQNoFlags () {1} }) } Device (FDC0) { Name (_HID, EisaId ("PNP0700")) Method (_STA, 0, NotSerialized) { Return (0x0F) } Name (_CRS, ResourceTemplate () { IO (Decode16, 0x03F0, 0x03F0, 0x01, 0x06) IO (Decode16, 0x03F7, 0x03F7, 0x01, 0x01) IRQNoFlags () {6} DMA (Compatibility, NotBusMaster, Transfer8) {2} }) } Device (UAR1) { Name (_HID, EisaId ("PNP0501")) Name (_UID, 0x01) Method (_STA, 0, NotSerialized) { If(LEqual(\_SB.UAR1, 0)) { Return(0x00) } Else { Return(0x0F) } } Name (_CRS, ResourceTemplate() { IO (Decode16, 0x03F8, 0x03F8, 8, 8) IRQNoFlags () {4} }) } Device (UAR2) { Name (_HID, EisaId ("PNP0501")) Name (_UID, 0x02) Method (_STA, 0, NotSerialized) { If(LEqual(\_SB.UAR2, 0)) { Return(0x00) } Else { Return(0x0F) } } Name (_CRS, ResourceTemplate() { IO (Decode16, 0x02F8, 0x02F8, 8, 8) IRQNoFlags () {3} }) } Device (LTP1) { Name (_HID, EisaId ("PNP0400")) Name (_UID, 0x02) Method (_STA, 0, NotSerialized) { If(LEqual(\_SB.LTP1, 0)) { Return(0x00) } Else { Return(0x0F) } } Name (_CRS, ResourceTemplate() { IO (Decode16, 0x0378, 0x0378, 0x08, 0x08) IRQNoFlags () {7} }) } Device(VGID) { Name(_HID, EisaID ("XEN0000")) Name(_UID, 0x00) Name(_CID, "VM_Gen_Counter") Name(_DDN, "VM_Gen_Counter") Method(_STA, 0, NotSerialized) { If(LEqual(\_SB.VGIA, 0x00000000)) { Return(0x00) } Else { Return(0x0F) } } Name(PKG, Package () { 0x00000000, 0x00000000 }) Method(ADDR, 0, NotSerialized) { Store(\_SB.VGIA, Index(PKG, 0)) Return(PKG) } } } } } } --------------020803020300030807030301 Content-Type: text/plain; name="grub" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="grub" # If you change this file, run 'update-grub' afterwards to update # /boot/grub/grub.cfg. # For full documentation of the options in this file, see: # info -f grub -n 'Simple configuration' GRUB_DEFAULT=13 #GRUB_HIDDEN_TIMEOUT=0 GRUB_HIDDEN_TIMEOUT_QUIET=true GRUB_TIMEOUT=50 GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian` GRUB_CMDLINE_LINUX_DEFAULT="" GRUB_CMDLINE_LINUX="nomodeset" # Uncomment to enable BadRAM filtering, modify to suit your needs # This works with Linux (no patch required) and with any kernel that obtains # the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...) #GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef" # Uncomment to disable graphical terminal (grub-pc only) #GRUB_TERMINAL=console # The resolution used on graphical terminal # note that you can use only modes which your graphic card supports via VBE # you can see them in real GRUB with the command `vbeinfo' #GRUB_GFXMODE=640x480 # Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux #GRUB_DISABLE_LINUX_UUID=true # Uncomment to disable generation of recovery mode menu entries #GRUB_DISABLE_RECOVERY="true" # Uncomment to get a beep at grub start #GRUB_INIT_TUNE="480 440 1" --------------020803020300030807030301 Content-Type: text/plain; name="rc.local" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="rc.local" #!/bin/sh -e # # rc.local # # This script is executed at the end of each multiuser runlevel. # Make sure that the script will "exit 0" on success or any other # value on error. # # In order to enable or disable this script just change the execution # bits. # # By default this script does nothing. sudo ifconfig eth0 up sudo route add default gw 192.168.25.1 sudo echo "nameserver 192.168.50.15" >> /etc/resolv.conf sudo echo "nameserver 192.168.50.30" >> /etc/resolv.conf exit 0 --------------020803020300030807030301 Content-Type: text/plain; name="start-windows" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="start-windows" #!/bin/sh set -x # #Loads pci-stub kernel module sudo modprobe pci-stub # #Passthrough NVIDIA Quadro 6000 # echo "Passthrough NVIDIA Quadro 6000 VGA card." sudo chmod o+w /sys/bus/pci/drivers/pci-stub/new_id sudo chmod o+w /sys/bus/pci/devices/0000:0d:00.0/driver/unbind sudo chmod o+w /sys/bus/pci/drivers/pci-stub/bind echo "10de 06d8" > /sys/bus/pci/drivers/pci-stub/new_id echo "0000:0d:00.0" > /sys/bus/pci/devices/0000:0d:00.0/driver/unbind echo "0000:0d:00.0" > /sys/bus/pci/drivers/pci-stub/bind # #Passthrough NVIDIA HD Audio Controller # echo "Passthrough NVIDIA HD Audio Controller." sudo chmod o+w /sys/bus/pci/drivers/pci-stub/new_id sudo chmod o+w /sys/bus/pci/devices/0000:0d:00.1/driver/unbind sudo chmod o+w /sys/bus/pci/drivers/pci-stub/bind echo "10de 0be5" > /sys/bus/pci/drivers/pci-stub/new_id echo "0000:0d:00.1" > /sys/bus/pci/devices/0000:0d:00.1/driver/unbind echo "0000:0d:00.1" > /sys/bus/pci/drivers/pci-stub/bind # #Passthrough 2nd NVIDIA Quadro 6000 # #echo "Passthrough 2nd NVIDIA Quadro 6000 VGA card." #sudo chmod o+w /sys/bus/pci/drivers/pci-stub/new_id #sudo chmod o+w /sys/bus/pci/devices/0000:1b:00.0/driver/unbind #sudo chmod o+w /sys/bus/pci/drivers/pci-stub/bind #echo "10de 06d8" > /sys/bus/pci/drivers/pci-stub/new_id #echo "0000:1b:00.0" > /sys/bus/pci/devices/0000:1b:00.0/driver/unbind #echo "0000:1b:00.0" > /sys/bus/pci/drivers/pci-stub/bind # #Passthrough 2nd NVIDIA HD Audio Controller # #echo "Passthrough 2nd NVIDIA HD Audio Controller." #sudo chmod o+w /sys/bus/pci/drivers/pci-stub/new_id #sudo chmod o+w /sys/bus/pci/devices/0000:1b:00.1/driver/unbind #sudo chmod o+w /sys/bus/pci/drivers/pci-stub/bind #echo "10de 0be5" > /sys/bus/pci/drivers/pci-stub/new_id #echo "0000:1b:00.1" > /sys/bus/pci/devices/0000:1b:00.1/driver/unbind #echo "0000:1b:00.1" > /sys/bus/pci/drivers/pci-stub/bind # #Passthrough USB 1.1 Controller #3 # echo "Passthrough USB 1.1 Controller #3" sudo chmod o+w /sys/bus/pci/drivers/pci-stub/new_id sudo chmod o+w /sys/bus/pci/devices/0000:00:1d.2/driver/unbind sudo chmod o+w /sys/bus/pci/drivers/pci-stub/bind echo "8086 3a36" > /sys/bus/pci/drivers/pci-stub/new_id echo "0000:00:1d.2" > /sys/bus/pci/devices/0000:00:1d.2/driver/unbind echo "0000:00:1d.2" > /sys/bus/pci/drivers/pci-stub/bind # #Passthrough USB 1.1 Controller #4 # echo "Passthrough USB 1.1 Controller #4" sudo chmod o+w /sys/bus/pci/drivers/pci-stub/new_id sudo chmod o+w /sys/bus/pci/devices/0000:00:1d.3/driver/unbind sudo chmod o+w /sys/bus/pci/drivers/pci-stub/bind echo "8086 3a39" > /sys/bus/pci/drivers/pci-stub/new_id echo "0000:00:1d.3" > /sys/bus/pci/devices/0000:00:1d.3/driver/unbind echo "0000:00:1d.3" > /sys/bus/pci/drivers/pci-stub/bind # #Wait for 10 seconds # sleep 10 # #Start Windows HVM domU with VGA Passthrough # sudo xl create /etc/xen/Windows7 #sudo xl create /etc/xen/Windows8 --------------020803020300030807030301 Content-Type: text/plain; name="Windows7" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="Windows7" # XL domain configuration file for Windows 8 Consumer Preview 64-bit English HVM domU # Please refer to "man xl.cfg" for further explanations. # See also docs/misc/xl-network-configuration.markdown and # docs/misc/xl-disk-configuration.txt # Written by Teo En Ming (Zhang Enming) # Email: teo.en.ming@gmail.com # Mobile Phone: +65-8369-2618 # Country: Singapore # Date: 18 Mar 2012 Sun name="Windows8" # Product Key: WJBRX-2N7B2-CCBF6-VPP97-R88XV builder="hvm" vcpus=2 memory=2048 on_poweroff="destroy" on_reboot="restart" on_crash="destroy" disk=[ 'format=raw, vdev=hda, access=rw, target=/etc/xen/images/windows7.img', 'format=raw, vdev=hdc, access=ro, devtype=cdrom, target=/home/flyon/windows7.iso' ] vif=[ 'bridge=eth0,type=ioemu,model=e1000' ] #boot=[c|d|n] # Selects the emulated virtual device to boot from. Options are hard disk (c), cd-rom (d) or network/PXE (n). # Multiple options can be given and will be attempted in the order they are given. e.g. to boot from cd-rom # but fallback to the hard disk you can give dc. The default is cd. boot="dc" acpi=1 #xen_platform_pci=1 #viridian=1 #stdvga=1 vnc=1 vnclisten="192.168.25.50" vncdisplay=0 vncunused=1 vncpasswd="" sdl=0 usb=1 # Passthrough the USB Keyboard usbdevice = "host:04f2:0110" # Passthrough the USB Optical Mouse usbdevice = "host:046d:c03d" # Enable Xen VGA Passthrough gfx_passthru=1 # VGA Passthrough NVIDIA Quadro 6000 and PCI Passthrough NVIDIA HD Audio Controller, then 2nd NVIDIA Quadro 6000 and 2nd NVIDIA HD Audio Controller #pci = [ '0d:00.0','0d:00.1','1b:00.0','1b:00.1' ] # The last 2 entries are USB 1.1 controllers. pci = [ '0d:00.0','0d:00.1','00:1d.2','00:1d.3' ] # PCI Passthrough Intel HD Audio Controller. #pci = [ '00:1b.0' ] # PCI Passthrough all the USB Controllers. # pci = [ '00:1a.0','00:1a.1','00:1a.2','00:1a.7','00:1d.0','00:1d.1','00:1d.2','00:1d.7' ] --------------020803020300030807030301 Content-Type: text/plain; name="Windows8" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="Windows8" # XL domain configuration file for Windows 8 Consumer Preview 64-bit English HVM domU # Please refer to "man xl.cfg" for further explanations. # See also docs/misc/xl-network-configuration.markdown and # docs/misc/xl-disk-configuration.txt # Written by Teo En Ming (Zhang Enming) # Email: teo.en.ming@gmail.com # Mobile Phone: +65-8369-2618 # Country: Singapore # Date: 18 Mar 2012 Sun name="Windows8" # Product Key: WJBRX-2N7B2-CCBF6-VPP97-R88XV builder="hvm" vcpus=2 memory=2048 on_poweroff="destroy" on_reboot="restart" on_crash="destroy" disk=[ 'format=raw, vdev=hda, access=rw, target=/etc/xen/images/windows8.img', 'format=raw, vdev=hdc, access=ro, devtype=cdrom, target=/home/flyon/windows8.iso' ] vif=[ 'bridge=eth0,type=ioemu,model=e1000' ] #boot=[c|d|n] # Selects the emulated virtual device to boot from. Options are hard disk (c), cd-rom (d) or network/PXE (n). # Multiple options can be given and will be attempted in the order they are given. e.g. to boot from cd-rom # but fallback to the hard disk you can give dc. The default is cd. boot="dc" acpi=1 #xen_platform_pci=1 #viridian=1 #stdvga=1 vnc=1 vnclisten="192.168.25.50" vncdisplay=0 vncunused=1 vncpasswd="" sdl=0 usb=1 # Passthrough the USB Keyboard usbdevice = "host:04f2:0110" # Passthrough the USB Optical Mouse usbdevice = "host:046d:c03d" # Enable Xen VGA Passthrough gfx_passthru=1 # VGA Passthrough NVIDIA Quadro 6000 and PCI Passthrough NVIDIA HD Audio Controller, then 2nd NVIDIA Quadro 6000 and 2nd NVIDIA HD Audio Controller #pci = [ '0d:00.0','0d:00.1','1b:00.0','1b:00.1' ] pci = [ '0d:00.0','0d:00.1' ] # PCI Passthrough Intel HD Audio Controller. #pci = [ '00:1b.0' ] # PCI Passthrough all the USB Controllers. # pci = [ '00:1a.0','00:1a.1','00:1a.2','00:1a.7','00:1d.0','00:1d.1','00:1d.2','00:1d.7' ] --------------020803020300030807030301 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org http://lists.xen.org/xen-devel --------------020803020300030807030301--