Samuel Thibault
2008-Jul-17 18:31 UTC
[Xen-devel] [PATCH] stubdom: add example config file
stubdom: add example config file Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com> diff -r e69570f85e85 tools/examples/stubdom-ExampleHVMDomain --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tools/examples/stubdom-ExampleHVMDomain Thu Jul 17 19:31:13 2008 +0100 @@ -0,0 +1,21 @@ +# Not to be started directly, +# See xmexample.hvm-stubdom and stubdom/README for more details + +import os, re +arch = os.uname()[4] +if re.search(''64'', arch): + arch_libdir = ''lib64'' +else: + arch_libdir = ''lib'' + +kernel = "/usr/" + arch_libdir + "/xen/boot/ioemu-stubdom.gz" + +# Must be the same as in xmexample.hvm-stubdom, with a prepended vif for TCP/IP +# networking in the stubdomain itself, here just '''' +vif = [ '''', ''type=ioemu, bridge=xenbr0'' ] + +# Set here instead of in xmexample.hvm-stubdom +disk = [ ''file:/var/images/min-el3-i386.img,hda,w'', '',hdc:cdrom,r'' ] + +# Actual output via PVFB +vfb = [ ''type=sdl'' ] diff -r e69570f85e85 tools/examples/xmexample.hvm --- a/tools/examples/xmexample.hvm Thu Jul 17 15:35:55 2008 +0100 +++ b/tools/examples/xmexample.hvm Thu Jul 17 19:31:13 2008 +0100 @@ -15,7 +15,7 @@ #---------------------------------------------------------------------------- # Kernel image file. -kernel = "/usr/lib/xen/boot/hvmloader" +kernel = "/usr/" + arch_libdir + "/xen/boot/hvmloader" # The domain build function. HVM domain uses ''hvm''. builder=''hvm'' @@ -119,7 +119,7 @@ #=========================================================================== -# New stuff +# Device Model to be used device_model = ''/usr/'' + arch_libdir + ''/xen/bin/qemu-dm'' #----------------------------------------------------------------------------- diff -r e69570f85e85 tools/examples/xmexample.hvm-stubdom --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tools/examples/xmexample.hvm-stubdom Thu Jul 17 19:31:13 2008 +0100 @@ -0,0 +1,325 @@ +# -*- mode: python; -*- +#===========================================================================+# Python configuration setup for ''xm create''. +# This script sets the parameters used when a domain is created using ''xm create''. +# You use a separate script for each domain you want to create, or +# you can set the parameters for the domain on the xm command line. +#===========================================================================+# +# This is a version using a stubdomain for device model, see +# stubdom-ExampleHVMDomain and stubdom/README for more details +# The differences with xmexample.hvm are marked with "STUBDOM" + +import os, re +arch = os.uname()[4] +if re.search(''64'', arch): + arch_libdir = ''lib64'' +else: + arch_libdir = ''lib'' + +#---------------------------------------------------------------------------- +# Kernel image file. +kernel = "/usr/" + arch_libdir + "/xen/boot/hvmloader" + +# The domain build function. HVM domain uses ''hvm''. +builder=''hvm'' + +# Initial memory allocation (in megabytes) for the new domain. +# +# WARNING: Creating a domain with insufficient memory may cause out of +# memory errors. The domain needs enough memory to boot kernel +# and modules. Allocating less than 32MBs is not recommended. +memory = 128 + +# Shadow pagetable memory for the domain, in MB. +# If not explicictly set, xend will pick an appropriate value. +# Should be at least 2KB per MB of domain memory, plus a few MB per vcpu. +# shadow_memory = 8 + +# A name for your domain. All domains must have different names. +name = "ExampleHVMDomain" + +# 128-bit UUID for the domain. The default behavior is to generate a new UUID +# on each call to ''xm create''. +#uuid = "06ed00fe-1162-4fc4-b5d8-11993ee4a8b9" + +#----------------------------------------------------------------------------- +# The number of cpus guest platform has, default=1 +#vcpus=1 + +# Enable/disable HVM guest PAE, default=1 (enabled) +#pae=1 + +# Enable/disable HVM guest ACPI, default=1 (enabled) +#acpi=1 + +# Enable/disable HVM APIC mode, default=1 (enabled) +# Note that this option is ignored if vcpus > 1 +#apic=1 + +# List of which CPUS this domain is allowed to use, default Xen picks +#cpus = "" # leave to Xen to pick +#cpus = "0" # all vcpus run on CPU0 +#cpus = "0-3,5,^1" # all vcpus run on cpus 0,2,3,5 +#cpus = ["2", "3"] # VCPU0 runs on CPU2, VCPU1 runs on CPU3 + +# Optionally define mac and/or bridge for the network interfaces. +# Random MACs are assigned if not given. +#vif = [ ''type=ioemu, mac=00:16:3e:00:00:11, bridge=xenbr0, model=ne2k_pci'' ] +# type=ioemu specify the NIC is an ioemu device not netfront +vif = [ ''type=ioemu, bridge=xenbr0'' ] + +#---------------------------------------------------------------------------- +# Define the disk devices you want the domain to have access to, and +# what you want them accessible as. +# Each disk entry is of the form phy:UNAME,DEV,MODE +# where UNAME is the device, DEV is the device name the domain will see, +# and MODE is r for read-only, w for read-write. +# +# STUBDOM: do not put it here but in stubdom-ExampleHVMDomain + +#disk = [ ''phy:hda1,hda1,r'' ] +#disk = [ ''file:/var/images/min-el3-i386.img,hda,w'', '',hdc:cdrom,r'' ] + +#---------------------------------------------------------------------------- +# Configure the behaviour when a domain exits. There are three ''reasons'' +# for a domain to stop: poweroff, reboot, and crash. For each of these you +# may specify: +# +# "destroy", meaning that the domain is cleaned up as normal; +# "restart", meaning that a new domain is started in place of the old +# one; +# "preserve", meaning that no clean-up is done until the domain is +# manually destroyed (using xm destroy, for example); or +# "rename-restart", meaning that the old domain is not cleaned up, but is +# renamed and a new domain started in its place. +# +# In the event a domain stops due to a crash, you have the additional options: +# +# "coredump-destroy", meaning dump the crashed domain''s core and then destroy; +# "coredump-restart'', meaning dump the crashed domain''s core and the restart. +# +# The default is +# +# on_poweroff = ''destroy'' +# on_reboot = ''restart'' +# on_crash = ''restart'' +# +# For backwards compatibility we also support the deprecated option restart +# +# restart = ''onreboot'' means on_poweroff = ''destroy'' +# on_reboot = ''restart'' +# on_crash = ''destroy'' +# +# restart = ''always'' means on_poweroff = ''restart'' +# on_reboot = ''restart'' +# on_crash = ''restart'' +# +# restart = ''never'' means on_poweroff = ''destroy'' +# on_reboot = ''destroy'' +# on_crash = ''destroy'' + +#on_poweroff = ''destroy'' +#on_reboot = ''restart'' +#on_crash = ''restart'' + +#===========================================================================+ +# Device Model to be used +# +# STUBDOM: this is a script that creates the stub domain running the device +# model +device_model = ''/usr/'' + arch_libdir + ''/xen/bin/stubdom-dm'' + +#----------------------------------------------------------------------------- +# boot on floppy (a), hard disk (c), Network (n) or CD-ROM (d) +# default: hard disk, cd-rom, floppy +#boot="cda" + +#----------------------------------------------------------------------------- +# write to temporary files instead of disk image files +#snapshot=1 + +#---------------------------------------------------------------------------- +# enable SDL library for graphics, default = 0 +# +# STUBDOM: always disable since the stub domain doesn''t have direct X access +sdl=0 + +#---------------------------------------------------------------------------- +# enable OpenGL for texture rendering inside the SDL window, default = 1 +# valid only if sdl is enabled. +# +# STUBDOM: always disable for the same reason +opengl=0 + +#---------------------------------------------------------------------------- +# enable VNC library for graphics, default = 1 +vnc=0 + +#---------------------------------------------------------------------------- +# address that should be listened on for the VNC server if vnc is set. +# default is to use ''vnc-listen'' setting from /etc/xen/xend-config.sxp +#vnclisten="127.0.0.1" + +#---------------------------------------------------------------------------- +# set VNC display number, default = domid +#vncdisplay=1 + +#---------------------------------------------------------------------------- +# try to find an unused port for the VNC server, default = 1 +#vncunused=1 + +#---------------------------------------------------------------------------- +# enable spawning vncviewer for domain''s console +# (only valid when vnc=1), default = 0 +#vncconsole=0 + +#---------------------------------------------------------------------------- +# set password for domain''s VNC console +# default is depents on vncpasswd in xend-config.sxp +vncpasswd='''' + +#---------------------------------------------------------------------------- +# no graphics, use serial port +#nographic=0 + +#---------------------------------------------------------------------------- +# enable stdvga, default = 0 (use cirrus logic device model) +stdvga=0 + +#----------------------------------------------------------------------------- +# serial port re-direct to pty deivce, /dev/pts/n +# then xm console or minicom can connect +# +# STUBDOM: always disable as the stub domain doesn''t have access to dom0''s +# ptys +#serial=''pty'' + + +#----------------------------------------------------------------------------- +# Qemu Monitor, default is disable +# Use ctrl-alt-2 to connect +#monitor=1 + + +#----------------------------------------------------------------------------- +# enable sound card support, [sb16|es1370|all|..,..], default none +# +# STUBDOM: not supported +#soundhw=''sb16'' + + +#----------------------------------------------------------------------------- +# set the real time clock to local time [default=0 i.e. set to utc] +#localtime=1 + + +#----------------------------------------------------------------------------- +# set the real time clock offset in seconds [default=0 i.e. same as dom0] +#rtc_timeoffset=3600 + +#----------------------------------------------------------------------------- +# start in full screen +#full-screen=1 + + +#----------------------------------------------------------------------------- +# Enable USB support (specific devices specified at runtime through the +# monitor window) +#usb=1 + +# Enable USB mouse support (only enable one of the following, `mouse'' for +# PS/2 protocol relative mouse, `tablet'' for +# absolute mouse) +#usbdevice=''mouse'' +#usbdevice=''tablet'' + +#----------------------------------------------------------------------------- +# Set keyboard layout, default is en-us keyboard. +#keymap=''ja'' + +#----------------------------------------------------------------------------- +# Configure guest CPUID responses: +# +#cpuid=[ ''1:ecx=xxxxxxxxxxx00xxxxxxxxxxxxxxxxxxx, +# eax=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'' ] +# - Unset the SSE4 features (CPUID.1[ECX][20-19]) +# - Default behaviour for all other bits in ECX And EAX registers. +# +# Each successive character represent a lesser-significant bit: +# ''1'' -> force the corresponding bit to 1 +# ''0'' -> force to 0 +# ''x'' -> Get a safe value (pass through and mask with the default policy) +# ''k'' -> pass through the host bit value +# ''s'' -> as ''k'' but preserve across save/restore and migration +# +# Expose to the guest multi-core cpu instead of multiple processors +# Example for intel, expose a 8-core processor : +#cpuid=[''1:edx=xxx1xxxxxxxxxxxxxxxxxxxxxxxxxxxx, +# ebx=xxxxxxxx00010000xxxxxxxxxxxxxxxx'', +# ''4,0:eax=001111xxxxxxxxxxxxxxxxxxxxxxxxxx''] +# - CPUID.1[EDX][HT] : Enable HT +# - CPUID.1[EBX] : Number of vcpus * 2 +# - CPUID.4,0[EAX] : Number of vcpus * 2 - 1 +#vcpus=8 +# +# Example for amd, expose a 5-core processor : +# cpuid = [''1:ebx=xxxxxxxx00000001xxxxxxxxxxxxxxxx, +# edx=xxx1xxxxxxxxxxxxxxxxxxxxxxxxxxxx'', +# ''0x80000008:ecx=xxxxxxxxxxxxxxxx0000xxxx00001010''] +# - CPUID.1[EBX] : (Thread * Cores ) per processors +# - CPUID.1[EDX][HT] : Enable HT +# - CPUID.0x80000008[ECX] : Number of vcpus * 2 +#vcpus=5 +# +# Downgrade the cpuid to make a better compatibility for migration : +# Look like a generic 686 : +# cpuid = [ ''0:eax=0x3,ebx=0x0,ecx=0x0,edx=0x0'', +# ''1:eax=0x06b1, +# ecx=xxxxxxxxxx0000xx00xxx0000000xx0, +# edx=xx00000xxxxxxx0xxxxxxxxx0xxxxxx'', +# ''4:eax=0x3,ebx=0x0,ecx=0x0,edx=0x0'', +# ''0x80000000:eax=0x3,ebx=0x0,ecx=0x0,edx=0x0''] +# with the highest leaf +# - CPUID.0[EAX] : Set the highest leaf +# - CPUID.1[EAX] : 686 +# - CPUID.1[ECX] : Mask some features +# - CPUID.1[EDX] : Mask some features +# - CPUID.4 : Reply like the highest leaf, in our case CPUID.3 +# - CPUID.0x80000000 : No extension we are on a Pentium III, reply like the +# highest leaf (CPUID.3). +# +# Configure host CPUID consistency checks, which must be satisfied for this +# VM to be allowed to run on this host''s processor type: +#cpuid_check=[ ''1:ecx=xxxxxxxxxxxxxxxxxxxxxxxxxx1xxxxx'' ] +# - Host must have VMX feature flag set +# +# The format is similar to the above for ''cpuid'': +# ''1'' -> the bit must be ''1'' +# ''0'' -> the bit must be ''0'' +# ''x'' -> we don''t care (do not check) +# ''s'' -> the bit must be the same as on the host that started this VM + + +#----------------------------------------------------------------------------- +# Configure PVSCSI devices: +# +#vscsi=[ ''PDEV, VDEV'' ] +# +# PDEV gives physical SCSI device to be attached to specified guest +# domain by one of the following identifier format. +# - XX:XX:XX:XX (4-tuples with decimal notation which shows +# "host:channel:target:lun") +# - /dev/sdxx or sdx +# - /dev/stxx or stx +# - /dev/sgxx or sgx +# - result of ''scsi_id -gu -s''. +# ex. # scsi_id -gu -s /block/sdb +# 36000b5d0006a0000006a0257004c0000 +# +# VDEV gives virtual SCSI device by 4-tuples (XX:XX:XX:XX) as +# which the specified guest domain recognize. +# + +#vscsi = [ ''/dev/sdx, 0:0:0:0'' ] _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Seemingly Similar Threads
- [PATCH] stubdom: rename the ioemu-dm domain config file to domainname-dm
- WIndows 2008, Quard Core Opteron, xen
- Problems with hyperthreading in Windows HVM
- [PATCH] [UPDATE] stubdom: compile stubdom with qemu-remote
- How to run stubdom with the most recent Xen 3.4 ?