Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
XEN(4)			    Kernel Interfaces Manual			XEN(4)

NAME
       xen -- Xen Hypervisor Guest (DomU) Support

SYNOPSIS
       To compile para-virtualized (PV)	Xen guest support into an i386 kernel,
       place the following lines in your kernel	configuration file:

	     options PAE
	     options XEN
	     nooptions NATIVE

       To  compile  hardware-assisted  virtualization  (HVM) Xen guest support
       with para-virtualized drivers into an amd64 kernel, place the following
       lines in	your kernel configuration file:

	     options XENHVM
	     device xenpci

DESCRIPTION
       The Xen Hypervisor allows multiple virtual machines to be run on	a sin-
       gle computer system.  When first	released, Xen required that i386  ker-
       nels  be	compiled "para-virtualized" as the x86 instruction set was not
       fully virtualizable.  Primarily,	para-virtualization modifies the  vir-
       tual memory system to use hypervisor calls (hypercalls) rather than di-
       rect hardware instructions to modify the	TLB, although para-virtualized
       device  drivers	were also required to access resources such as virtual
       network interfaces and disk devices.

       With later instruction set extensions from AMD  and  Intel  to  support
       fully virtualizable instructions, unmodified virtual memory systems can
       also be supported; this is referred to as hardware-assisted virtualiza-
       tion  (HVM).   HVM configurations may either rely on transparently emu-
       lated hardware peripherals,  or	para-virtualized  drivers,  which  are
       aware  of  virtualization, and hence able to optimize certain behaviors
       to improve performance or semantics.

       FreeBSD supports	a fully	para-virtualized (PV) kernel on	the  i386  ar-
       chitecture  using options XEN and nooptions NATIVE; currently, this re-
       quires use of a PAE kernel, enabled via options PAE.

       FreeBSD supports	hardware-assisted virtualization  (HVM)	 on  both  the
       i386  and  amd64	kernels; however, PV device drivers with an HVM	kernel
       are only	supported on  the  amd64  architecture,	 and  require  options
       XENHVM and device xenpci.

       Para-virtualized	 device	 drivers are required in order to support cer-
       tain functionality, such	as processing management  requests,  returning
       idle physical memory pages to the hypervisor, etc.

   Xen DomU device drivers
       Xen para-virtualized drivers are	automatically added to the kernel if a
       PV  kernel is compiled using options XEN; for HVM environments, options
       XENHVM and device xenpci	are required.  The  follow  drivers  are  sup-
       ported:

	     balloon   Allow  physical	memory pages to	be returned to the hy-
		       pervisor	as a result of manual tuning or	automatic pol-
		       icy.

	     blkback   Exports local block devices or files to other  Xen  do-
		       mains where they	can then be imported via blkfront.

	     blkfront  Import  block  devices  from other Xen domains as local
		       block devices, to be used for file systems, swap, etc.

	     console   Export the low-level system console via the Xen console
		       service.

	     control   Process management operations from Domain 0,  including
		       power off, reboot, suspend, crash, and halt requests.

	     evtchn    Expose  Xen  events via the /dev/xen/evtchn special de-
		       vice.

	     netback   Export local network interfaces to  other  Xen  domains
		       where they can be imported via netfront.

	     netfront  Import network interfaces from other Xen	domains	as lo-
		       cal  network  interfaces,  which	 may be	used for IPv4,
		       IPv6, etc.

	     pcifront  Allow physical PCI devices to be	passed through into  a
		       PV domain.

	     xenpci    Represents  the	Xen PCI	device,	an emulated PCI	device
		       that is exposed to HVM domains.	This device allows de-
		       tection of the Xen hypervisor, and  provides  interrupt
		       and  shared  memory  services required to interact with
		       the hypervisor.

   Performance considerations
       In general, PV drivers will perform better than emulated	hardware,  and
       are the recommended configuration for HVM installations.

       Using  a	 hypervisor  introduces	 a second layer	of scheduling that may
       limit the effectiveness of certain  FreeBSD  scheduling	optimisations.
       Among  these  is	adaptive locking, which	is no longer able to determine
       whether a thread	holding	a lock is in  execution.   It  is  recommended
       that adaptive locking be	disabled when using Xen:

	     options NO_ADAPTIVE_MUTEXES
	     options NO_ADAPTIVE_RWLOCKS
	     options NO_ADAPTIVE_SX

SEE ALSO
       pae(4)

HISTORY
       Support for xen first appeared in FreeBSD 8.1.

AUTHORS
       FreeBSD support for Xen was first added by Kip Macy <kmacy@FreeBSD.org>
       and  Doug  Rabson  <dfr@FreeBSD.org>.  Further refinements were made by
       Justin Gibbs <gibbs@FreeBSD.org>,  Adrian  Chadd	 <adrian@FreeBSD.org>,
       and  Colin Percival <cperciva@FreeBSD.org>.  This manual	page was writ-
       ten by Robert Watson <rwatson@FreeBSD.org>.

BUGS
       FreeBSD is only able to run as a	Xen guest (DomU) and not as a Xen host
       (Dom0).

       A fully para-virtualized	(PV) kernel is only supported on i386, and not
       amd64.

       Para-virtualized	drivers	under hardware-assisted	 virtualization	 (HVM)
       kernel are only supported on amd64, not i386.

       As  of  this release, Xen PV DomU support is not	heavily	tested;	insta-
       bility has been reported	during VM migration of PV kernels.

       Certain PV driver features, such	as the balloon driver, are under-exer-
       cised.

FreeBSD	8.4-stable	       December	17, 2010			XEN(4)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=xen&sektion=4&manpath=FreeBSD+8.4-RELEASE>

home | help