All of lore.kernel.org
 help / color / mirror / Atom feed
* Is it possible to passthrough 2 GPUs to a single HVM Guest?
@ 2012-09-24  0:46 Teo En Ming (Zhang Enming)
  0 siblings, 0 replies; only message in thread
From: Teo En Ming (Zhang Enming) @ 2012-09-24  0:46 UTC (permalink / raw)
  To: xen-users@lists.xen.org, xen-devel@lists.xen.org
  Cc: Teo En Ming (Zhang Enming), Frank Lyon

[-- Attachment #1: Type: text/plain, Size: 458 bytes --]

Hi,

I tried working on Frank Lyon's server. With 2 GPUs (NVIDIA Quadro 6000) 
plugged in, Windows 7 and Windows 8 HVM guests are unable to start. 
Windows 7 and WIndows 8 HVM guests only manage to start properly when 
the 2nd GPU is unplugged out of the server. Is this right? This doesn't 
make sense.

Attached are Frank Lyon's xen configuration files.

Please advise. Thank you very much.

-- 
Yours sincerely,

Mr. Teo En Ming (Zhang Enming)
Singapore


[-- Attachment #2: 40_custom --]
[-- Type: text/plain, Size: 785 bytes --]

#!/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
}

[-- Attachment #3: grub --]
[-- Type: text/plain, Size: 1235 bytes --]

# 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=0
#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"

[-- Attachment #4: rc.local --]
[-- Type: text/plain, Size: 481 bytes --]

#!/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

[-- Attachment #5: start-windows --]
[-- Type: text/plain, Size: 1997 bytes --]

#!/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

#
#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

[-- Attachment #6: Windows7 --]
[-- Type: text/plain, Size: 1793 bytes --]

# 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' ]
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' ]


[-- Attachment #7: Windows8 --]
[-- Type: text/plain, Size: 1793 bytes --]

# 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' ]


[-- Attachment #8: Type: text/plain, Size: 126 bytes --]

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2012-09-24  0:46 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-09-24  0:46 Is it possible to passthrough 2 GPUs to a single HVM Guest? Teo En Ming (Zhang Enming)

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.