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