ia64/xen-unstable

changeset 2848:00560d53e611

bitkeeper revision 1.1159.1.351 (4188f393nZSy-C7Sn46WkZ8BpaZuTw)

doc updates (and new ignores)
author smh22@tempest.cl.cam.ac.uk
date Wed Nov 03 15:04:51 2004 +0000 (2004-11-03)
parents 42df95ee8ac3
children 0956f3af9fd3
files BitKeeper/etc/ignore docs/src/interface.tex docs/src/user.tex
line diff
     1.1 --- a/BitKeeper/etc/ignore	Wed Nov 03 14:34:35 2004 +0000
     1.2 +++ b/BitKeeper/etc/ignore	Wed Nov 03 15:04:51 2004 +0000
     1.3 @@ -75,3 +75,191 @@ xen/tools/figlet/figlet
     1.4  xen/xen
     1.5  xen/xen-syms
     1.6  xen/xen.*
     1.7 +install/boot/System.map-2.6.9-xen0
     1.8 +install/boot/System.map-2.6.9-xenU
     1.9 +install/boot/config-2.6.9-xen0
    1.10 +install/boot/config-2.6.9-xenU
    1.11 +install/boot/vmlinux-syms-2.6.9-xen0
    1.12 +install/boot/vmlinux-syms-2.6.9-xenU
    1.13 +install/boot/vmlinuz-2.6.9-xen0
    1.14 +install/boot/vmlinuz-2.6.9-xenU
    1.15 +install/boot/xen-syms
    1.16 +install/boot/xen.gz
    1.17 +install/etc/xen/scripts/block-enbd
    1.18 +install/etc/xen/scripts/block-file
    1.19 +install/etc/xen/scripts/network
    1.20 +install/etc/xen/scripts/vif-bridge
    1.21 +install/etc/xen/xend-config.sxp
    1.22 +install/etc/xen/xmexample1
    1.23 +install/etc/xen/xmexample2
    1.24 +install/lib/modules/2.6.9-xen0/build
    1.25 +install/lib/modules/2.6.9-xen0/kernel/crypto/crc32c.ko
    1.26 +install/lib/modules/2.6.9-xen0/kernel/crypto/des.ko
    1.27 +install/lib/modules/2.6.9-xen0/kernel/crypto/md5.ko
    1.28 +install/lib/modules/2.6.9-xen0/kernel/crypto/sha1.ko
    1.29 +install/lib/modules/2.6.9-xen0/kernel/drivers/pcmcia/ds.ko
    1.30 +install/lib/modules/2.6.9-xen0/kernel/drivers/pcmcia/pcmcia_core.ko
    1.31 +install/lib/modules/2.6.9-xen0/kernel/drivers/pcmcia/yenta_socket.ko
    1.32 +install/lib/modules/2.6.9-xen0/kernel/fs/exportfs/exportfs.ko
    1.33 +install/lib/modules/2.6.9-xen0/kernel/fs/fat/fat.ko
    1.34 +install/lib/modules/2.6.9-xen0/kernel/fs/msdos/msdos.ko
    1.35 +install/lib/modules/2.6.9-xen0/kernel/fs/nfsd/nfsd.ko
    1.36 +install/lib/modules/2.6.9-xen0/kernel/fs/vfat/vfat.ko
    1.37 +install/lib/modules/2.6.9-xen0/kernel/net/ipv4/netfilter/ip_conntrack.ko
    1.38 +install/lib/modules/2.6.9-xen0/kernel/net/ipv4/netfilter/ip_conntrack_ftp.ko
    1.39 +install/lib/modules/2.6.9-xen0/kernel/net/ipv4/netfilter/ip_tables.ko
    1.40 +install/lib/modules/2.6.9-xen0/modules.alias
    1.41 +install/lib/modules/2.6.9-xen0/modules.ccwmap
    1.42 +install/lib/modules/2.6.9-xen0/modules.dep
    1.43 +install/lib/modules/2.6.9-xen0/modules.ieee1394map
    1.44 +install/lib/modules/2.6.9-xen0/modules.inputmap
    1.45 +install/lib/modules/2.6.9-xen0/modules.isapnpmap
    1.46 +install/lib/modules/2.6.9-xen0/modules.pcimap
    1.47 +install/lib/modules/2.6.9-xen0/modules.symbols
    1.48 +install/lib/modules/2.6.9-xen0/modules.usbmap
    1.49 +install/lib/modules/2.6.9-xen0/source
    1.50 +install/lib/modules/2.6.9-xenU/build
    1.51 +install/lib/modules/2.6.9-xenU/kernel/crypto/crc32c.ko
    1.52 +install/lib/modules/2.6.9-xenU/kernel/crypto/md5.ko
    1.53 +install/lib/modules/2.6.9-xenU/kernel/drivers/block/loop.ko
    1.54 +install/lib/modules/2.6.9-xenU/kernel/drivers/block/nbd.ko
    1.55 +install/lib/modules/2.6.9-xenU/kernel/drivers/scsi/scsi_mod.ko
    1.56 +install/lib/modules/2.6.9-xenU/kernel/drivers/scsi/sd_mod.ko
    1.57 +install/lib/modules/2.6.9-xenU/kernel/fs/fat/fat.ko
    1.58 +install/lib/modules/2.6.9-xenU/kernel/fs/msdos/msdos.ko
    1.59 +install/lib/modules/2.6.9-xenU/kernel/fs/vfat/vfat.ko
    1.60 +install/lib/modules/2.6.9-xenU/kernel/lib/libcrc32c.ko
    1.61 +install/lib/modules/2.6.9-xenU/source
    1.62 +install/lib/python/xen/__init__.py
    1.63 +install/lib/python/xen/lowlevel/__init__.py
    1.64 +install/lib/python/xen/sv/CreateDomain.py
    1.65 +install/lib/python/xen/sv/Daemon.py
    1.66 +install/lib/python/xen/sv/DomInfo.py
    1.67 +install/lib/python/xen/sv/DomList.py
    1.68 +install/lib/python/xen/sv/GenTabbed.py
    1.69 +install/lib/python/xen/sv/HTMLBase.py
    1.70 +install/lib/python/xen/sv/Main.py
    1.71 +install/lib/python/xen/sv/MigrateDomain.py
    1.72 +install/lib/python/xen/sv/NodeInfo.py
    1.73 +install/lib/python/xen/sv/RestoreDomain.py
    1.74 +install/lib/python/xen/sv/SaveDomain.py
    1.75 +install/lib/python/xen/sv/TabView.py
    1.76 +install/lib/python/xen/sv/Wizard.py
    1.77 +install/lib/python/xen/sv/__init__.py
    1.78 +install/lib/python/xen/sv/params.py
    1.79 +install/lib/python/xen/sv/util.py
    1.80 +install/lib/python/xen/util/Brctl.py
    1.81 +install/lib/python/xen/util/__init__.py
    1.82 +install/lib/python/xen/util/console_client.py
    1.83 +install/lib/python/xen/util/ip.py
    1.84 +install/lib/python/xen/util/tempfile.py
    1.85 +install/lib/python/xen/xend/Args.py
    1.86 +install/lib/python/xen/xend/Blkctl.py
    1.87 +install/lib/python/xen/xend/EventServer.py
    1.88 +install/lib/python/xen/xend/EventTypes.py
    1.89 +install/lib/python/xen/xend/PrettyPrint.py
    1.90 +install/lib/python/xen/xend/Vifctl.py
    1.91 +install/lib/python/xen/xend/XendAsynchProtocol.py
    1.92 +install/lib/python/xen/xend/XendClient.py
    1.93 +install/lib/python/xen/xend/XendConsole.py
    1.94 +install/lib/python/xen/xend/XendDB.py
    1.95 +install/lib/python/xen/xend/XendDmesg.py
    1.96 +install/lib/python/xen/xend/XendDomain.py
    1.97 +install/lib/python/xen/xend/XendDomainConfig.py
    1.98 +install/lib/python/xen/xend/XendDomainInfo.py
    1.99 +install/lib/python/xen/xend/XendError.py
   1.100 +install/lib/python/xen/xend/XendLogging.py
   1.101 +install/lib/python/xen/xend/XendMigrate.py
   1.102 +install/lib/python/xen/xend/XendNode.py
   1.103 +install/lib/python/xen/xend/XendProtocol.py
   1.104 +install/lib/python/xen/xend/XendRoot.py
   1.105 +install/lib/python/xen/xend/XendVnet.py
   1.106 +install/lib/python/xen/xend/__init__.py
   1.107 +install/lib/python/xen/xend/encode.py
   1.108 +install/lib/python/xen/xend/server/SrvBase.py
   1.109 +install/lib/python/xen/xend/server/SrvConsole.py
   1.110 +install/lib/python/xen/xend/server/SrvConsoleDir.py
   1.111 +install/lib/python/xen/xend/server/SrvDaemon.py
   1.112 +install/lib/python/xen/xend/server/SrvDeviceDir.py
   1.113 +install/lib/python/xen/xend/server/SrvDir.py
   1.114 +install/lib/python/xen/xend/server/SrvDmesg.py
   1.115 +install/lib/python/xen/xend/server/SrvDomain.py
   1.116 +install/lib/python/xen/xend/server/SrvDomainDir.py
   1.117 +install/lib/python/xen/xend/server/SrvEventDir.py
   1.118 +install/lib/python/xen/xend/server/SrvNode.py
   1.119 +install/lib/python/xen/xend/server/SrvRoot.py
   1.120 +install/lib/python/xen/xend/server/SrvServer.py
   1.121 +install/lib/python/xen/xend/server/SrvVnetDir.py
   1.122 +install/lib/python/xen/xend/server/SrvXendLog.py
   1.123 +install/lib/python/xen/xend/server/__init__.py
   1.124 +install/lib/python/xen/xend/server/blkif.py
   1.125 +install/lib/python/xen/xend/server/channel.py
   1.126 +install/lib/python/xen/xend/server/console.py
   1.127 +install/lib/python/xen/xend/server/controller.py
   1.128 +install/lib/python/xen/xend/server/domain.py
   1.129 +install/lib/python/xen/xend/server/messages.py
   1.130 +install/lib/python/xen/xend/server/netif.py
   1.131 +install/lib/python/xen/xend/server/params.py
   1.132 +install/lib/python/xen/xend/sxp.py
   1.133 +install/lib/python/xen/xm/__init__.py
   1.134 +install/lib/python/xen/xm/create.py
   1.135 +install/lib/python/xen/xm/destroy.py
   1.136 +install/lib/python/xen/xm/help.py
   1.137 +install/lib/python/xen/xm/main.py
   1.138 +install/lib/python/xen/xm/migrate.py
   1.139 +install/lib/python/xen/xm/opts.py
   1.140 +install/lib/python/xen/xm/shutdown.py
   1.141 +install/usr/bin/miniterm
   1.142 +install/usr/bin/xen_cpuperf
   1.143 +install/usr/bin/xencons
   1.144 +install/usr/bin/xentrace
   1.145 +install/usr/bin/xentrace_format
   1.146 +install/usr/include/xc.h
   1.147 +install/usr/include/xen/COPYING
   1.148 +install/usr/include/xen/arch-x86_32.h
   1.149 +install/usr/include/xen/arch-x86_64.h
   1.150 +install/usr/include/xen/dom0_ops.h
   1.151 +install/usr/include/xen/event_channel.h
   1.152 +install/usr/include/xen/grant_table.h
   1.153 +install/usr/include/xen/io/blkif.h
   1.154 +install/usr/include/xen/io/domain_controller.h
   1.155 +install/usr/include/xen/io/netif.h
   1.156 +install/usr/include/xen/linux/privcmd.h
   1.157 +install/usr/include/xen/linux/suspend.h
   1.158 +install/usr/include/xen/physdev.h
   1.159 +install/usr/include/xen/sched_ctl.h
   1.160 +install/usr/include/xen/trace.h
   1.161 +install/usr/include/xen/xen.h
   1.162 +install/usr/man/man1/xentrace_format.1
   1.163 +install/usr/man/man8/xentrace.8
   1.164 +install/usr/sbin/netfix
   1.165 +install/usr/sbin/xend
   1.166 +install/usr/sbin/xensv
   1.167 +install/usr/sbin/xfrd
   1.168 +install/usr/sbin/xm
   1.169 +install/var/xen/sv/Main.rpy
   1.170 +install/var/xen/sv/images/destroy.png
   1.171 +install/var/xen/sv/images/finish.png
   1.172 +install/var/xen/sv/images/left-end-highlight.jpg
   1.173 +install/var/xen/sv/images/left-end-no-highlight.jpg
   1.174 +install/var/xen/sv/images/middle-highlight.jpg
   1.175 +install/var/xen/sv/images/middle-no-highlight.jpg
   1.176 +install/var/xen/sv/images/next.png
   1.177 +install/var/xen/sv/images/orb_01.jpg
   1.178 +install/var/xen/sv/images/orb_02.jpg
   1.179 +install/var/xen/sv/images/pause.png
   1.180 +install/var/xen/sv/images/previous.png
   1.181 +install/var/xen/sv/images/reboot.png
   1.182 +install/var/xen/sv/images/right-end-highlight.jpg
   1.183 +install/var/xen/sv/images/right-end-no-highlight.jpg
   1.184 +install/var/xen/sv/images/seperator-left-highlight.jpg
   1.185 +install/var/xen/sv/images/seperator-right-highlight.jpg
   1.186 +install/var/xen/sv/images/seperator.jpg
   1.187 +install/var/xen/sv/images/shutdown.png
   1.188 +install/var/xen/sv/images/small-destroy.png
   1.189 +install/var/xen/sv/images/small-pause.png
   1.190 +install/var/xen/sv/images/small-unpause.png
   1.191 +install/var/xen/sv/images/unpause.png
   1.192 +install/var/xen/sv/images/xen.png
   1.193 +install/var/xen/sv/inc/script.js
   1.194 +install/var/xen/sv/inc/style.css
     2.1 --- a/docs/src/interface.tex	Wed Nov 03 14:34:35 2004 +0000
     2.2 +++ b/docs/src/interface.tex	Wed Nov 03 15:04:51 2004 +0000
     2.3 @@ -79,10 +79,10 @@ In addition to exporting virtualized ins
     2.4  and block devices, Xen exposes a control interface to manage how these
     2.5  resources are shared between the running domains. Access to the
     2.6  control interface is restricted: it may only be used by one
     2.7 -specially-privileged VM, known as {\em domain-0}.  This domain is a
     2.8 +specially-privileged VM, known as {\em domain 0}.  This domain is a
     2.9  required part of any Xen-based server and runs the application software
    2.10  that manages the control-plane aspects of the platform.  Running the
    2.11 -control software in {\it domain-0}, distinct from the hypervisor
    2.12 +control software in {\it domain 0}, distinct from the hypervisor
    2.13  itself, allows the Xen framework to separate the notions of 
    2.14  mechanism and policy within the system.
    2.15  
    2.16 @@ -132,6 +132,7 @@ is responsible for determining the targe
    2.17  each physical interrupt source. 
    2.18  
    2.19  
    2.20 +
    2.21  \section{Time}
    2.22  
    2.23  Guest operating systems need to be aware of the passage of both real
    2.24 @@ -159,7 +160,7 @@ have elapsed since system boot.
    2.25  
    2.26  This is the time of day in a Unix-style {\tt struct timeval} (seconds
    2.27  and microseconds since 1 January 1970, adjusted by leap seconds).  An
    2.28 -NTP client hosted by {\it domain-0} can keep this value accurate.  
    2.29 +NTP client hosted by {\it domain 0} can keep this value accurate.  
    2.30  
    2.31  
    2.32  \item[Domain virtual time.]
    2.33 @@ -343,9 +344,9 @@ different to that provided by the underl
    2.34  the processor is already executing in protected mode with paging
    2.35  enabled.
    2.36  
    2.37 -{\it Domain-0} is created and booted by Xen itself. For all subsequent
    2.38 +{\it Domain 0} is created and booted by Xen itself. For all subsequent
    2.39  donains, the analogue of the boot-loader is the {\it domain builder},
    2.40 -user-space software running in {\it domain-0}. The domain builder 
    2.41 +user-space software running in {\it domain 0}. The domain builder 
    2.42  is responsible for building the initial page tables for a domain  
    2.43  and loading its kernel image at the appropriate virtual address. 
    2.44  
    2.45 @@ -615,7 +616,7 @@ to {\tt set\_trap\_table()}).
    2.46  \section{Scheduling and Timer}
    2.47  
    2.48  Domains are premptively scheduled by Xen according to the 
    2.49 -parameters installed by Domain-0 (see Section~\ref{s:dom0ops}). 
    2.50 +parameters installed by domain 0 (see Section~\ref{s:dom0ops}). 
    2.51  In addition, however, a domain may choose to explicitly 
    2.52  control certain behaviour with the following hypercall: 
    2.53  
    2.54 @@ -900,7 +901,7 @@ XXX SMH: damn, found some more calls - n
    2.55  \label{s:dom0ops}
    2.56  
    2.57  A large number of control operations are available to a sufficiently
    2.58 -privileged domain (typically domain-0). These allow the creation and
    2.59 +privileged domain (typically domain 0). These allow the creation and
    2.60  management of new domains, for example. A complete list is given 
    2.61  below: for more details on any or all of these, please see 
    2.62  {\tt xen/include/public/dom0\_ops.h} 
    2.63 @@ -1349,7 +1350,7 @@ buffers will be disabled.
    2.64  
    2.65  When running a trace buffer build of Xen, trace data are written continuously
    2.66  into the buffer data areas, with newer data overwriting older data.  This data
    2.67 -can be captured using the {\tt xentrace} program in Domain 0.
    2.68 +can be captured using the {\tt xentrace} program in domain 0.
    2.69  
    2.70  The {\tt xentrace} tool uses {\tt /dev/mem} in domain 0 to map the trace
    2.71  buffers into its address space.  It then periodically polls all the buffers for
     3.1 --- a/docs/src/user.tex	Wed Nov 03 14:34:35 2004 +0000
     3.2 +++ b/docs/src/user.tex	Wed Nov 03 15:04:51 2004 +0000
     3.3 @@ -1,7 +1,12 @@
     3.4  \documentclass[11pt,twoside,final,openright]{xenstyle}
     3.5 -\usepackage{a4,graphicx,parskip,setspace,times}
     3.6 +\usepackage{a4,graphicx,parskip,setspace,times,xspace}
     3.7  \setstretch{1.1}
     3.8  
     3.9 +
    3.10 +\def\Xend{{Xend}\xspace}
    3.11 +\def\xend{{xend}\xspace}
    3.12 +
    3.13 +
    3.14  \begin{document}
    3.15  
    3.16  % TITLE PAGE
    3.17 @@ -53,6 +58,7 @@ Contributions of material, suggestions a
    3.18  
    3.19  \newcommand{\path}[1]{{\tt #1}}
    3.20  
    3.21 +
    3.22  \part{Introduction and Tutorial}
    3.23  \chapter{Introduction}
    3.24  
    3.25 @@ -108,22 +114,23 @@ Possible usage scenarios for Xen include
    3.26  \section{Structure of a Xen-Based System}
    3.27  
    3.28  A Xen system has multiple layers, the lowest and most privileged of
    3.29 -which is Xen itself. Xen in turn may host multiple {\em guest}
    3.30 -operating systems, each of which is executed within a secure virtual
    3.31 -machine (in Xen terminology, a {\em domain}). Domains are scheduled by
    3.32 -Xen to make effective use of the available physical CPUs.  Each guest
    3.33 -OS manages its own applications, which includes responsibility for
    3.34 -scheduling each application within the time allotted to the VM by Xen.
    3.35 +which is Xen itself. 
    3.36 +Xen in turn may host multiple {\em guest} operating systems, each of
    3.37 +which is executed within a secure virtual machine (in Xen terminology,
    3.38 +a {\em domain}). Domains are scheduled by Xen to make effective use of
    3.39 +the available physical CPUs.  Each guest OS manages its own
    3.40 +applications, which includes responsibility for scheduling each
    3.41 +application within the time allotted to the VM by Xen.
    3.42  
    3.43 -The first domain, {\em Domain 0}, is created automatically when the
    3.44 +The first domain, {\em domain 0}, is created automatically when the
    3.45  system boots and has special management privileges. Domain 0 builds
    3.46  other domains and manages their virtual devices. It also performs
    3.47  administrative tasks such as suspending, resuming and migrating other
    3.48  virtual machines.
    3.49  
    3.50 -Within domain 0, a process called `xend' runs to manage the system.
    3.51 -Xend is responsible for managing virtual machines and providing access
    3.52 -to their consoles.  Commands are issued to Xend over an HTTP
    3.53 +Within domain 0, a process called \xend runs to manage the system.
    3.54 +\Xend is responsible for managing virtual machines and providing access
    3.55 +to their consoles.  Commands are issued to \xend over an HTTP
    3.56  interface, either from a command-line tool or from a web browser.
    3.57  
    3.58  \section{Hardware Support}
    3.59 @@ -276,7 +283,7 @@ following:
    3.60  
    3.61  \begin{itemize}
    3.62  \item Build Xen
    3.63 -\item Build the control tools, including Xend
    3.64 +\item Build the control tools, including \xend
    3.65  \item Download (if necessary) and unpack the Linux 2.6 source code,
    3.66        and patch it for use with Xen
    3.67  \item Build a Linux kernel to use in domain 0 and a smaller
    3.68 @@ -464,10 +471,10 @@ the tools subdirectory of the repository
    3.69  
    3.70  To start the control daemon, type \\ \verb!# xend start! \\ If you
    3.71  wish to start the daemon automatically, see the instructions in
    3.72 -Chapter~\ref{cha:xend}. Once the daemon is running, you can use the
    3.73 +Section~\ref{s:xend}. Once the daemon is running, you can use the
    3.74  {\tt xm} tool to monitor and maintain the domains running on your
    3.75  system. This chapter provides only a brief tutorial: we provide full
    3.76 -details of the {\tt xm} tool in Chapter~\ref{cha:xm}. 
    3.77 +details of the {\tt xm} tool in Section~\ref{s:xm}. 
    3.78  
    3.79  %\section{From the web interface}
    3.80  %
    3.81 @@ -518,7 +525,7 @@ receive its IP address from a DHCP serve
    3.82  You may also want to edit the {\bf vif} variable in order to choose
    3.83  the MAC address of the virtual ethernet interface yourself.  For
    3.84  example: \\ \verb_vif = ['mac=00:06:AA:F6:BB:B3']_\\ If you do not set
    3.85 -this variable, Xend will automatically generate a random MAC address
    3.86 +this variable, \xend will automatically generate a random MAC address
    3.87  from an unused range.
    3.88  
    3.89  If you don't have a \path{xmdefconfig} file, simply create your own 
    3.90 @@ -643,7 +650,7 @@ The output of {\tt xm list} is in rows o
    3.91  
    3.92  The {\tt xm list} command also supports a long output format when the
    3.93  {\tt -l} switch is used.  This outputs the fulls details of the
    3.94 -running domains in Xend's SXP configuration format.
    3.95 +running domains in \xend's SXP configuration format.
    3.96  
    3.97  For example, suppose the system is running the ttylinux domain as
    3.98  described earlier.  The list command should produce output somewhat
    3.99 @@ -700,7 +707,7 @@ Live migration is used to transfer a dom
   3.100  whilst that domain continues to perform its usual activities --- from
   3.101  the user's perspective, the migration should be imperceptible.
   3.102  
   3.103 -To perform a live migration, both hosts must be running Xen / Xend and
   3.104 +To perform a live migration, both hosts must be running Xen / \xend and
   3.105  the destination host must have sufficient resources (e.g. memory
   3.106  capacity) to accommodate the domain after the move.
   3.107  
   3.108 @@ -876,93 +883,41 @@ XXX Put some simple examples here - woul
   3.109  contribute some, although obviously users would have to read the LVM
   3.110  docs to do advanced stuff.
   3.111  
   3.112 -\part{Quick Reference}
   3.113 +\part{User Reference Documentation}
   3.114  
   3.115 -\chapter{Domain Configuration Files}
   3.116 -\label{cha:config}
   3.117 -
   3.118 -Xen configuration files contain the following standard variables.
   3.119 -Unless otherwise stated, configuration items should be enclosed in
   3.120 -quotes (i.e. {\tt '...'} or {\tt ``....''})):
   3.121 +\chapter{Control Software} 
   3.122  
   3.123 -\begin{description}
   3.124 -\item[kernel] Path to the kernel image (on the server).
   3.125 -\item[ramdisk] Path to a ramdisk image (optional).
   3.126 -% \item[builder] The name of the domain build function (e.g. {\tt'linux'} or {\tt'netbsd'}.
   3.127 -\item[memory] Memory size in megabytes.
   3.128 -\item[cpu] CPU to assign this domain to.
   3.129 -\item[nics] Number of virtual network interfaces.
   3.130 -\item[vif] List of MAC addresses (random addresses are assigned if not
   3.131 -  given) and / or bridges to use for the domains network
   3.132 -  interfaces. e.g.
   3.133 -\begin{verbatim}
   3.134 -vif = [ 'mac=aa:00:00:00:00:11, bridge=xen-br0',
   3.135 -        'bridge=xen-br1' ]
   3.136 -\end{verbatim}
   3.137 -  to assign a MAC address and bridge to the first interface and assign
   3.138 -  a different bridge to the second interface, leaving Xend to choose
   3.139 -  the MAC address.
   3.140 -\item[disk] List of block devices to export to the domain.  e.g. \\
   3.141 -  \verb_disk = [ 'phy:hda1,sda1,r' ]_ \\
   3.142 -  exports device \path{/dev/hda1} to the domain, as \path{/dev/sda1} with
   3.143 -  readonly access being allowed. \\
   3.144 -  \verb_disk = [ 'phy:hda7,sda2,w', 'phy:hdb2,sda,w!' ]_ \\
   3.145 -  exports device \path{/dev/hda7} to the domain as \path{/dev/sda2} with
   3.146 -  write access enabled and \path{/dev/hdb2} as \path{/dev/sda} with write access
   3.147 -  force enabled (bypassing safety checks, as indicated by the {\tt !}).
   3.148 -\item[dhcp] Set to {\tt 'dhcp'} if you want to DHCP allocate the IP
   3.149 -address.
   3.150 -\item[netmask] IP netmask.
   3.151 -\item[gateway] IP address for the gateway (if any).
   3.152 -\item[hostname] Set the hostname for the virtual machine.
   3.153 -\item[root] Set the root device.
   3.154 -\item[nfs\_server] IP address for the NFS server.
   3.155 -\item[nfs\_root] Path of the root filesystem on the NFS server.
   3.156 -\item[extra] Extra string to append to the kernel command line.
   3.157 -\item[restart] Three possible options:
   3.158 -  \begin{description}
   3.159 -  \item[always] Always restart the domain, no matter what
   3.160 -                its exit code is.
   3.161 -  \item[never]  Never restart the domain.
   3.162 -  \item[onreboot] (restart the domain if it requests reboot).
   3.163 -  \end{description}
   3.164 -\end{description}
   3.165 +\section{\Xend (Node control daemon)}
   3.166 +\label{s:xend}
   3.167  
   3.168 -For additional flexibility, it is also possible to include Python
   3.169 -scripting commands in configuration files.  An example of this is the
   3.170 -\path{xmexample} file in order to handle the {\tt vmid} variable.
   3.171 -
   3.172 -\chapter{Xend (Node control daemon)}
   3.173 -\label{cha:xend}
   3.174 -
   3.175 -The Xen Daemon (Xend) performs system management functions related to
   3.176 +The Xen Daemon (\Xend) performs system management functions related to
   3.177  virtual machines.  It forms a central point of control for a machine
   3.178 -and can be controlled using an HTTP-based protocol.  Xend must be
   3.179 +and can be controlled using an HTTP-based protocol.  \Xend must be
   3.180  running in order to start and manage virtual machines.
   3.181  
   3.182 -Xend must be run as root because it needs access to privileged system
   3.183 +\Xend must be run as root because it needs access to privileged system
   3.184  management functions.  A small set of commands may be issued on the
   3.185 -Xend command line:
   3.186 +\xend command line:
   3.187  
   3.188  \begin{tabular}{ll}
   3.189 -\verb!# xend start! & start Xend, if not already running \\
   3.190 -\verb!# xend stop!  & stop Xend if already running       \\
   3.191 -\verb!# xend restart! & restart Xend if running, otherwise start it \\
   3.192 -\verb!# xend trace_start! & start Xend, with very detailed debug logging \\
   3.193 -\verb!# xend status! & indicates Xend status by its return code
   3.194 +\verb!# xend start! & start \xend, if not already running \\
   3.195 +\verb!# xend stop!  & stop \xend if already running       \\
   3.196 +\verb!# xend restart! & restart \xend if running, otherwise start it \\
   3.197 +\verb!# xend trace_start! & start \xend, with very detailed debug logging \\
   3.198 +\verb!# xend status! & indicates \xend status by its return code
   3.199  \end{tabular}
   3.200  
   3.201 -A SysV init script called {\tt xend} is provided to start Xend at boot
   3.202 +A SysV init script called {\tt xend} is provided to start \xend at boot
   3.203  time.  {\tt make install} installs this script in {\path{/etc/init.d}.
   3.204  To enable it, you have to make symbolic links in the appropriate
   3.205  runlevel directories or use the {\tt chkconfig} tool, where available.
   3.206  
   3.207 -Once Xend is running, more sophisticated administration can be done
   3.208 -using the xm tool (see Chapter~\ref{cha:xm}) and the experimental
   3.209 -Xensv web interface (see Chapter~\ref{cha:xensv}).
   3.210 +Once \xend is running, more sophisticated administration can be done
   3.211 +using the xm tool (see Section~\ref{s:xm}) and the experimental
   3.212 +Xensv web interface (see Section~\ref{s:xensv}).
   3.213  
   3.214 -\chapter{The xm tool}
   3.215 -\label{cha:xm}
   3.216 +\section{The xm tool}
   3.217 +\label{s:xm}
   3.218  
   3.219  The xm tool is the primary tool for managing Xen from the console.
   3.220  The general format of an xm command line is:
   3.221 @@ -1001,7 +956,7 @@ The available commands are as follows:
   3.222  \item[atropos] Set the atropos parameters for a domain.
   3.223  \item[rrobin] Set the round robin time slice for the system.
   3.224  \item[info] Get information about the Xen host.
   3.225 -\item[call] Call a Xend HTTP API function directly.
   3.226 +\item[call] Call a \xend HTTP API function directly.
   3.227  \end{description}
   3.228  
   3.229  For a detailed overview of switches, arguments and variables to each command
   3.230 @@ -1010,15 +965,16 @@ try
   3.231  # xm help command
   3.232  \end{verbatim}
   3.233  
   3.234 -\chapter{Xensv (Web control interface)}
   3.235 -\label{cha:xensv}
   3.236 +
   3.237 +\section{Xensv (Web control interface)}
   3.238 +\label{s:xensv}
   3.239  
   3.240  Xensv is the experimental web control interface for managing a Xen
   3.241  machine.  It can be used to perform some (but not yet all) of the
   3.242  management tasks that can be done using the xm tool.
   3.243  
   3.244  It can be started using:\\ \verb_# xensv start_ \\ and
   3.245 -stopped using: \verb_# xensv stop_ \\ It will automatically start Xend
   3.246 +stopped using: \verb_# xensv stop_ \\ It will automatically start \xend
   3.247  if it is not already running.
   3.248  
   3.249  By default, Xensv will serve out the web interface on port 8080.  This
   3.250 @@ -1030,108 +986,69 @@ manage running domains.
   3.251  
   3.252  
   3.253  
   3.254 -\chapter{Glossary}
   3.255 +
   3.256 +\chapter{Domain Configuration}
   3.257 +\label{cha:config}
   3.258 +
   3.259 +
   3.260 +\section{Configuration Files}
   3.261 +\label{s:cfiles}
   3.262 +
   3.263 +Xen configuration files contain the following standard variables.
   3.264 +Unless otherwise stated, configuration items should be enclosed in
   3.265 +quotes (i.e. {\tt '...'} or {\tt ``....''})):
   3.266  
   3.267  \begin{description}
   3.268 -\item[Atropos]             One of the CPU schedulers provided by Xen.
   3.269 -                           Atropos provides domains with absolute shares
   3.270 -                           of the CPU, with timeliness guarantees and a
   3.271 -                           mechanism for sharing out `slack time'.
   3.272 -
   3.273 -\item[BVT]                 The BVT scheduler is used to give proportional
   3.274 -                           fair shares of the CPU to domains.
   3.275 -
   3.276 -\item[Exokernel]           A minimal piece of privileged code, similar to
   3.277 -                           a {\bf microkernel} but providing a more
   3.278 -                           `hardware-like' interface to the tasks it
   3.279 -                           manages.  This is similar to a paravirtualising
   3.280 -                           VMM like {\bf Xen} but was designed as a new
   3.281 -                           operating system structure, rather than
   3.282 -                           specifically to run multiple conventional OSs.
   3.283 -
   3.284 -\item[Domain]              A domain is the execution context that
   3.285 -                           contains a running { \bf virtual machine }.
   3.286 -                           The relationship between virtual machines
   3.287 -                           and domains on Xen is similar to that between
   3.288 -                           programs and processes in an operating
   3.289 -                           system: a virtual machine is a persistent
   3.290 -                           entity that resides on disk (somewhat like
   3.291 -                           a program).  When it is loaded for execution,
   3.292 -                           it runs in a domain.  Each domain has a
   3.293 -                           { \bf domain ID }.
   3.294 -
   3.295 -\item[Domain 0]            The first domain to be started on a Xen
   3.296 -                           machine.  Domain 0 is responsible for managing
   3.297 -                           the system.
   3.298 -
   3.299 -\item[Domain ID]           A unique identifier for a { \bf domain },
   3.300 -                           analogous to a process ID in an operating
   3.301 -                           system.  Apart from domain
   3.302 -
   3.303 -\item[Full virtualisation] An approach to virtualisation which
   3.304 -                           requires no modifications to the hosted
   3.305 -                           operating system, providing the illusion of
   3.306 -                           a complete system of real hardware devices.
   3.307 -
   3.308 -\item[Hypervisor]          An alternative term for { \bf VMM }, used
   3.309 -                           because it means `beyond supervisor',
   3.310 -                           since it is responsible for managing multiple
   3.311 -                           `supervisor' kernels.
   3.312 -
   3.313 -\item[Live migration]      A technique for moving a running virtual
   3.314 -                           machine to another physical host, without
   3.315 -                           stopping it or the services running on it.
   3.316 -
   3.317 -\item[Microkernel]         A small base of code running at the highest
   3.318 -                           hardware privilege level.  A microkernel is
   3.319 -                           responsible for sharing CPU and memory (and
   3.320 -                           sometimes other devices) between less
   3.321 -                           privileged tasks running on the system.
   3.322 -                           This is similar to a VMM, particularly a
   3.323 -                           {\bf paravirtualising} VMM but typically
   3.324 -                           addressing a different problem space and
   3.325 -                           providing different kind of interface.
   3.326 -
   3.327 -\item[NetBSD/Xen]          A port of NetBSD to the Xen architecture.
   3.328 -
   3.329 -\item[Paravirtualisation]  An approach to virtualisation which requires
   3.330 -                           modifications to the operating system in
   3.331 -                           order to run in a virtual machine.  Xen
   3.332 -                           uses paravirtualisation but preserves
   3.333 -                           binary compatibility for user space
   3.334 -                           applications.
   3.335 -
   3.336 -\item[Shadow pagetables]   A technique for hiding the layout of machine
   3.337 -                           memory from a virtual machine's operating
   3.338 -                           system.  Used in some {\bf VMM}s to provide
   3.339 -                           the illusion of contiguous physical memory,
   3.340 -                           in Xen this is used during
   3.341 -                           {\bf live migration}.
   3.342 -
   3.343 -\item[Virtual Machine]     The environment in which a hosted operating
   3.344 -                           system runs, providing the abstraction of a
   3.345 -                           dedicated machine.  A virtual machine may
   3.346 -                           be identical to the underlying hardware (as
   3.347 -                           in { \bf full virtualisation }, or it may
   3.348 -                           differ, as in { \bf paravirtualisation }.
   3.349 -
   3.350 -\item[VMM]                 Virtual Machine Monitor - the software that
   3.351 -                           allows multiple virtual machines to be
   3.352 -                           multiplexed on a single physical machine.
   3.353 -
   3.354 -\item[Xen]                 Xen is a paravirtualising virtual machine
   3.355 -                           monitor, developed primarily by the
   3.356 -                           Systems Research Group at the University
   3.357 -                           of Cambridge Computer Laboratory.
   3.358 -
   3.359 -\item[XenLinux]            Official name for the port of the Linux kernel
   3.360 -                           that runs on Xen.
   3.361 -
   3.362 +\item[kernel] Path to the kernel image (on the server).
   3.363 +\item[ramdisk] Path to a ramdisk image (optional).
   3.364 +% \item[builder] The name of the domain build function (e.g. {\tt'linux'} or {\tt'netbsd'}.
   3.365 +\item[memory] Memory size in megabytes.
   3.366 +\item[cpu] CPU to assign this domain to.
   3.367 +\item[nics] Number of virtual network interfaces.
   3.368 +\item[vif] List of MAC addresses (random addresses are assigned if not
   3.369 +  given) and / or bridges to use for the domains network
   3.370 +  interfaces. e.g.
   3.371 +\begin{verbatim}
   3.372 +vif = [ 'mac=aa:00:00:00:00:11, bridge=xen-br0',
   3.373 +        'bridge=xen-br1' ]
   3.374 +\end{verbatim}
   3.375 +  to assign a MAC address and bridge to the first interface and assign
   3.376 +  a different bridge to the second interface, leaving \xend to choose
   3.377 +  the MAC address.
   3.378 +\item[disk] List of block devices to export to the domain.  e.g. \\
   3.379 +  \verb_disk = [ 'phy:hda1,sda1,r' ]_ \\
   3.380 +  exports device \path{/dev/hda1} to the domain, as \path{/dev/sda1} with
   3.381 +  readonly access being allowed. \\
   3.382 +  \verb_disk = [ 'phy:hda7,sda2,w', 'phy:hdb2,sda,w!' ]_ \\
   3.383 +  exports device \path{/dev/hda7} to the domain as \path{/dev/sda2} with
   3.384 +  write access enabled and \path{/dev/hdb2} as \path{/dev/sda} with write access
   3.385 +  force enabled (bypassing safety checks, as indicated by the {\tt !}).
   3.386 +\item[dhcp] Set to {\tt 'dhcp'} if you want to DHCP allocate the IP
   3.387 +address.
   3.388 +\item[netmask] IP netmask.
   3.389 +\item[gateway] IP address for the gateway (if any).
   3.390 +\item[hostname] Set the hostname for the virtual machine.
   3.391 +\item[root] Set the root device.
   3.392 +\item[nfs\_server] IP address for the NFS server.
   3.393 +\item[nfs\_root] Path of the root filesystem on the NFS server.
   3.394 +\item[extra] Extra string to append to the kernel command line.
   3.395 +\item[restart] Three possible options:
   3.396 +  \begin{description}
   3.397 +  \item[always] Always restart the domain, no matter what
   3.398 +                its exit code is.
   3.399 +  \item[never]  Never restart the domain.
   3.400 +  \item[onreboot] (restart the domain if it requests reboot).
   3.401 +  \end{description}
   3.402  \end{description}
   3.403  
   3.404 -\part{Advanced Topics}
   3.405 +For additional flexibility, it is also possible to include Python
   3.406 +scripting commands in configuration files.  An example of this is the
   3.407 +\path{xmexample} file in order to handle the {\tt vmid} variable.
   3.408  
   3.409 -\chapter{Advanced Network Configuration}
   3.410 +
   3.411 +%\part{Advanced Topics}
   3.412 +
   3.413 +\chapter{Network Configuration}
   3.414  
   3.415  For simple systems with a single ethernet interface with a simple
   3.416  configuration, the default installation should work `out of the
   3.417 @@ -1140,22 +1057,22 @@ ethernet interfaces and / or existing br
   3.418  some special configuration.
   3.419  
   3.420  The purpose of this chapter is to describe the mechanisms provided by
   3.421 -xend to allow a flexible configuration for Xen's virtual networking.
   3.422 +\xend to allow a flexible configuration for Xen's virtual networking.
   3.423  
   3.424  \section{Xen networking scripts}
   3.425  
   3.426  Xen's virtual networking is configured by 3 shell scripts.  These are
   3.427 -called automatically by Xend when certain events occur, with arguments
   3.428 +called automatically by \xend when certain events occur, with arguments
   3.429  to the scripts providing further contextual information.  These
   3.430  scripts are found by default in \path{/etc/xen}.  The names and
   3.431  locations of the scripts can be configured in \path{xend-config.sxp}.
   3.432  
   3.433  \subsection{\path{network}}
   3.434  
   3.435 -This script is called once when Xend is started and once when Xend is
   3.436 +This script is called once when \xend is started and once when \xend is
   3.437  stopped.  Its job is to do any advance preparation required for the
   3.438 -Xen virtual network when Xend starts and to do any corresponding
   3.439 -cleanup when Xend exits.
   3.440 +Xen virtual network when \xend starts and to do any corresponding
   3.441 +cleanup when \xend exits.
   3.442  
   3.443  In the default configuration, this script creates the bridge
   3.444  `xen-br0' and moves eth0 onto that bridge, modifying the routing
   3.445 @@ -1164,7 +1081,7 @@ accordingly.
   3.446  In configurations where the bridge already exists, this script could
   3.447  be replaced with a link to \path{/bin/true} (for instance).
   3.448  
   3.449 -When Xend exits, this script is called with the {\tt stop} argument,
   3.450 +When \xend exits, this script is called with the {\tt stop} argument,
   3.451  which causes it to delete the Xen bridge and remove {\tt eth0} from
   3.452  it, restoring the normal IP and routing configuration.
   3.453  
   3.454 @@ -1178,7 +1095,7 @@ By default, this adds and removes VIFs o
   3.455  This script can be customized to properly deal with more complicated
   3.456  bridging setups.
   3.457  
   3.458 -\chapter{Advanced Scheduling Configuration}
   3.459 +\chapter{Scheduler Configuration}
   3.460  
   3.461  \section{Scheduler selection}
   3.462  
   3.463 @@ -1288,10 +1205,10 @@ higher throughput.
   3.464  %% There are two possible types of privileges:  IO privileges and
   3.465  %% administration privileges.
   3.466  
   3.467 -\section{Driver domains (IO Privileges)}
   3.468 +\section{Driver domains (I/O Privileges)}
   3.469  
   3.470 -IO privileges can be assigned to allow a domain to drive PCI devices
   3.471 -itself.  This is used to support driver domains.
   3.472 +I/O privileges can be assigned to allow a domain to directly access
   3.473 +PCI devices itself.  This is used to support driver domains.
   3.474  
   3.475  Setting backend privileges is currently only supported in SXP format
   3.476  config files.  To allow a domain to function as a backend for others,
   3.477 @@ -1299,7 +1216,7 @@ somewhere within the {\tt vm} element of
   3.478  be a {\tt backend} element of the form {\tt (backend ({\em type}))}
   3.479  where {\tt \em type} may be either {\tt netif} or {\tt blkif},
   3.480  according to the type of virtual device this domain will service.
   3.481 -After this domain has been built, Xend will connect all new and
   3.482 +After this domain has been built, \xend will connect all new and
   3.483  existing {\em virtual} devices (of the appropriate type) to that
   3.484  backend.
   3.485  
   3.486 @@ -1509,7 +1426,7 @@ domain).  Device IDs should be given in 
   3.487  not need to be hidden --- they are hidden implicitly, since guest OSes
   3.488  do not need to configure them.
   3.489  
   3.490 -\section{XenLinux Options}
   3.491 +\section{XenLinux Boot Options}
   3.492  
   3.493  {\bf xencons=xxx}
   3.494  Specify the device node to
   3.495 @@ -1760,6 +1677,8 @@ this was to have a \path{/linuxrc} scrip
   3.496   exec /sbin/init "$@" <>/dev/console 2>&1
   3.497  \end{verbatim}
   3.498  
   3.499 +%$ XXX SMH: font lock fix :-)  
   3.500 +
   3.501  The one slight complication with the above is that
   3.502  \path{/sbin/portmap} is dynamically linked against
   3.503  \path{/usr/lib/libwrap.so.0} Since this is in \path{/usr}, it won't
   3.504 @@ -1778,6 +1697,108 @@ shared libraries to be copied below the 
   3.505  statically linked C program would solve this problem.
   3.506  
   3.507  
   3.508 +
   3.509 +
   3.510 +\chapter{Glossary of Terms}
   3.511 +
   3.512 +\begin{description}
   3.513 +\item[Atropos]             One of the CPU schedulers provided by Xen.
   3.514 +                           Atropos provides domains with absolute shares
   3.515 +                           of the CPU, with timeliness guarantees and a
   3.516 +                           mechanism for sharing out `slack time'.
   3.517 +
   3.518 +\item[BVT]                 The BVT scheduler is used to give proportional
   3.519 +                           fair shares of the CPU to domains.
   3.520 +
   3.521 +\item[Exokernel]           A minimal piece of privileged code, similar to
   3.522 +                           a {\bf microkernel} but providing a more
   3.523 +                           `hardware-like' interface to the tasks it
   3.524 +                           manages.  This is similar to a paravirtualising
   3.525 +                           VMM like {\bf Xen} but was designed as a new
   3.526 +                           operating system structure, rather than
   3.527 +                           specifically to run multiple conventional OSs.
   3.528 +
   3.529 +\item[Domain]              A domain is the execution context that
   3.530 +                           contains a running { \bf virtual machine }.
   3.531 +                           The relationship between virtual machines
   3.532 +                           and domains on Xen is similar to that between
   3.533 +                           programs and processes in an operating
   3.534 +                           system: a virtual machine is a persistent
   3.535 +                           entity that resides on disk (somewhat like
   3.536 +                           a program).  When it is loaded for execution,
   3.537 +                           it runs in a domain.  Each domain has a
   3.538 +                           { \bf domain ID }.
   3.539 +
   3.540 +\item[Domain 0]            The first domain to be started on a Xen
   3.541 +                           machine.  Domain 0 is responsible for managing
   3.542 +                           the system.
   3.543 +
   3.544 +\item[Domain ID]           A unique identifier for a { \bf domain },
   3.545 +                           analogous to a process ID in an operating
   3.546 +                           system.  Apart from domain
   3.547 +
   3.548 +\item[Full virtualisation] An approach to virtualisation which
   3.549 +                           requires no modifications to the hosted
   3.550 +                           operating system, providing the illusion of
   3.551 +                           a complete system of real hardware devices.
   3.552 +
   3.553 +\item[Hypervisor]          An alternative term for { \bf VMM }, used
   3.554 +                           because it means `beyond supervisor',
   3.555 +                           since it is responsible for managing multiple
   3.556 +                           `supervisor' kernels.
   3.557 +
   3.558 +\item[Live migration]      A technique for moving a running virtual
   3.559 +                           machine to another physical host, without
   3.560 +                           stopping it or the services running on it.
   3.561 +
   3.562 +\item[Microkernel]         A small base of code running at the highest
   3.563 +                           hardware privilege level.  A microkernel is
   3.564 +                           responsible for sharing CPU and memory (and
   3.565 +                           sometimes other devices) between less
   3.566 +                           privileged tasks running on the system.
   3.567 +                           This is similar to a VMM, particularly a
   3.568 +                           {\bf paravirtualising} VMM but typically
   3.569 +                           addressing a different problem space and
   3.570 +                           providing different kind of interface.
   3.571 +
   3.572 +\item[NetBSD/Xen]          A port of NetBSD to the Xen architecture.
   3.573 +
   3.574 +\item[Paravirtualisation]  An approach to virtualisation which requires
   3.575 +                           modifications to the operating system in
   3.576 +                           order to run in a virtual machine.  Xen
   3.577 +                           uses paravirtualisation but preserves
   3.578 +                           binary compatibility for user space
   3.579 +                           applications.
   3.580 +
   3.581 +\item[Shadow pagetables]   A technique for hiding the layout of machine
   3.582 +                           memory from a virtual machine's operating
   3.583 +                           system.  Used in some {\bf VMM}s to provide
   3.584 +                           the illusion of contiguous physical memory,
   3.585 +                           in Xen this is used during
   3.586 +                           {\bf live migration}.
   3.587 +
   3.588 +\item[Virtual Machine]     The environment in which a hosted operating
   3.589 +                           system runs, providing the abstraction of a
   3.590 +                           dedicated machine.  A virtual machine may
   3.591 +                           be identical to the underlying hardware (as
   3.592 +                           in { \bf full virtualisation }, or it may
   3.593 +                           differ, as in { \bf paravirtualisation }.
   3.594 +
   3.595 +\item[VMM]                 Virtual Machine Monitor - the software that
   3.596 +                           allows multiple virtual machines to be
   3.597 +                           multiplexed on a single physical machine.
   3.598 +
   3.599 +\item[Xen]                 Xen is a paravirtualising virtual machine
   3.600 +                           monitor, developed primarily by the
   3.601 +                           Systems Research Group at the University
   3.602 +                           of Cambridge Computer Laboratory.
   3.603 +
   3.604 +\item[XenLinux]            Official name for the port of the Linux kernel
   3.605 +                           that runs on Xen.
   3.606 +
   3.607 +\end{description}
   3.608 +
   3.609 +
   3.610  \end{document}
   3.611  
   3.612