xref: /freebsd/share/man/man4/xen.4 (revision 7c472105ac5a36549a5445b0b2c7d34e9621a769)
1*7c472105SRobert Watson.\" Copyright (c) 2010 Robert N. M. Watson
2*7c472105SRobert Watson.\" All rights reserved.
3*7c472105SRobert Watson.\"
4*7c472105SRobert Watson.\" This software was developed by SRI International and the University of
5*7c472105SRobert Watson.\" Cambridge Computer Laboratory under DARPA/AFRL contract FA8750-10-C-0237
6*7c472105SRobert Watson.\" ("CTSRD"), as part of the DARPA CRASH research program.
7*7c472105SRobert Watson.\"
8*7c472105SRobert Watson.\" Redistribution and use in source and binary forms, with or without
9*7c472105SRobert Watson.\" modification, are permitted provided that the following conditions
10*7c472105SRobert Watson.\" are met:
11*7c472105SRobert Watson.\" 1. Redistributions of source code must retain the above copyright
12*7c472105SRobert Watson.\"    notice, this list of conditions and the following disclaimer.
13*7c472105SRobert Watson.\" 2. Redistributions in binary form must reproduce the above copyright
14*7c472105SRobert Watson.\"    notice, this list of conditions and the following disclaimer in the
15*7c472105SRobert Watson.\"    documentation and/or other materials provided with the distribution.
16*7c472105SRobert Watson.\"
17*7c472105SRobert Watson.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS AND CONTRIBUTORS ``AS IS'' AND
18*7c472105SRobert Watson.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
19*7c472105SRobert Watson.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
20*7c472105SRobert Watson.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE
21*7c472105SRobert Watson.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
22*7c472105SRobert Watson.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
23*7c472105SRobert Watson.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
24*7c472105SRobert Watson.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
25*7c472105SRobert Watson.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
26*7c472105SRobert Watson.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
27*7c472105SRobert Watson.\" SUCH DAMAGE.
28*7c472105SRobert Watson.\"
29*7c472105SRobert Watson.\" $FreeBSD$
30*7c472105SRobert Watson.\"
31*7c472105SRobert Watson.Dd December 13, 2010
32*7c472105SRobert Watson.Dt XEN 4
33*7c472105SRobert Watson.Os
34*7c472105SRobert Watson.Sh NAME
35*7c472105SRobert Watson.Nm xen
36*7c472105SRobert Watson.Nd Xen Hypervisor Guest (DomU) Support
37*7c472105SRobert Watson.Sh SYNOPSIS
38*7c472105SRobert WatsonTo compile para-virtualized (PV) Xen guest support into the i386 kernel, place
39*7c472105SRobert Watsonthe following line in your kernel configuration file:
40*7c472105SRobert Watson.Bd -ragged -offset indent
41*7c472105SRobert Watson.Cd "options PAE"
42*7c472105SRobert Watson.Cd "options XEN"
43*7c472105SRobert Watson.Ed
44*7c472105SRobert Watson.Pp
45*7c472105SRobert WatsonTo compile hardware-assisted virtualization (HVM) Xen guest support into the
46*7c472105SRobert Watsonamd64 kernel, place the following line in your kernel configuration file:
47*7c472105SRobert Watson.Bd -ragged -offset indent
48*7c472105SRobert Watson.Cd "options XENHVM"
49*7c472105SRobert Watson.Ed
50*7c472105SRobert Watson.Pp
51*7c472105SRobert WatsonTo compile the Xen PCI bus and para-virtualized (PV) drivers into an amd64
52*7c472105SRobert Watsonor i386 kernel, place the following line in your kernel configuration file:
53*7c472105SRobert Watson.Bd -ragged -offset indent
54*7c472105SRobert Watson.Cd "device xenpci"
55*7c472105SRobert Watson.Ed
56*7c472105SRobert Watson.Sh DESCRIPTION
57*7c472105SRobert WatsonThe Xen Hypervisor allows multiple virtual machines to be run on a single
58*7c472105SRobert Watsoncomputer system.
59*7c472105SRobert WatsonWhen first released, Xen required that i386 kernels be compiled
60*7c472105SRobert Watson"para-virtualized" as the x86 instruction set was not fully virtualizable.
61*7c472105SRobert WatsonWith later instruction set extensions from AMD and Intel to support fully
62*7c472105SRobert Watsonvirtualizable instructions, unmodified kernels could also be supported,
63*7c472105SRobert Watsonreferred to as hardware-assisted virtualization (HVM).
64*7c472105SRobert WatsonHVM systems may still use para-virtualized drivers, which are aware of
65*7c472105SRobert Watsonvirtualization and able to optimize certain behaviours to improve
66*7c472105SRobert Watsonperformance or semantics.
67*7c472105SRobert Watson.Pp
68*7c472105SRobert Watson.Fx
69*7c472105SRobert Watsonsupports a fully para-virtualized (PV) kernel on the i386 architecture using
70*7c472105SRobert Watson.Cd "options XEN" ;
71*7c472105SRobert Watsoncurrently, this requires use of a PAE kernel, enabled via
72*7c472105SRobert Watson.Cd "options PAE" .
73*7c472105SRobert Watson.Fx
74*7c472105SRobert Watsonsupports hardware-assited virtualization (HVM) on both the i386 and amd64
75*7c472105SRobert Watsonkernels; however, PV device drivers with an HVM kernel are only supported on
76*7c472105SRobert Watsonthe amd64 architecture.
77*7c472105SRobert Watson.Pp
78*7c472105SRobert WatsonPara-virtualized device drivers are required in order to support certain
79*7c472105SRobert Watsonfunctionality, such as the dynamic addition of new virtual devices, and the
80*7c472105SRobert Watson"balloon driver" (returning physical memory to the Hypervisor on demand),
81*7c472105SRobert Watsonand VM suspend/resume.
82*7c472105SRobert Watson.Sh SEE ALSO
83*7c472105SRobert Watson.Xr pae 4
84*7c472105SRobert Watson.Sh HISTORY
85*7c472105SRobert WatsonSupport for
86*7c472105SRobert Watson.Nm
87*7c472105SRobert Watsonfirst appeared in
88*7c472105SRobert Watson.Fx 8.1 .
89*7c472105SRobert Watson.Sh AUTHORS
90*7c472105SRobert Watson.An -nosplit
91*7c472105SRobert Watson.Fx
92*7c472105SRobert Watsonsupport for Xen was first added by
93*7c472105SRobert Watson.An Kip Mac Aq kmacy@FreeBSD.org
94*7c472105SRobert Watsonand
95*7c472105SRobert Watson.An Doug Rabson Aq dfr@FreeBSD.org .
96*7c472105SRobert WatsonFurther refinements were made by
97*7c472105SRobert Watson.An Justin Gibbs Aq gibbs@FreeBSD.org ,
98*7c472105SRobert Watson.An Adrian Chadd Aq adrian@FreeBSD.org ,
99*7c472105SRobert Watsonand
100*7c472105SRobert Watson.An Colin Percival Aq cperciva@FreeBSD.org .
101*7c472105SRobert WatsonThis manual page was written by
102*7c472105SRobert Watson.An Robert Watson Aq rwatson@FreeBSD.org .
103*7c472105SRobert Watson.Sh BUGS
104*7c472105SRobert Watson.Fx
105*7c472105SRobert Watsonis only able to run as a Xen guest (DomU) and not as a Xen host (Dom0).
106*7c472105SRobert Watson.Pp
107*7c472105SRobert WatsonA fully para-virtualized (PV) kernel is only supported on i386, and not
108*7c472105SRobert Watsonamd64.
109*7c472105SRobert Watson.Pp
110*7c472105SRobert WatsonPara-virtualized drivers under hardware-assisted virtualization (HVM) kernel
111*7c472105SRobert Watsonare only supported on amd64, not i386.
112*7c472105SRobert Watson.P
113*7c472105SRobert WatsonAs of this release, Xen DomU support is not heavily tested; instability has
114*7c472105SRobert Watsonbeen reported during VM migration of PV kernels, and certain PV driver
115*7c472105SRobert Watsonfeatures, such as the balloon driver, are under-exercised.
116