summaryrefslogtreecommitdiff
path: root/static/freebsd/man4/xen.4 3.html
diff options
context:
space:
mode:
Diffstat (limited to 'static/freebsd/man4/xen.4 3.html')
-rw-r--r--static/freebsd/man4/xen.4 3.html126
1 files changed, 126 insertions, 0 deletions
diff --git a/static/freebsd/man4/xen.4 3.html b/static/freebsd/man4/xen.4 3.html
new file mode 100644
index 00000000..9c05924e
--- /dev/null
+++ b/static/freebsd/man4/xen.4 3.html
@@ -0,0 +1,126 @@
+<table class="head">
+ <tr>
+ <td class="head-ltitle">XEN(4)</td>
+ <td class="head-vol">Device Drivers Manual</td>
+ <td class="head-rtitle">XEN(4)</td>
+ </tr>
+</table>
+<div class="manual-text">
+<section class="Sh">
+<h1 class="Sh" id="NAME"><a class="permalink" href="#NAME">NAME</a></h1>
+<p class="Pp"><code class="Nm">xen</code> &#x2014; <span class="Nd">Xen
+ Hypervisor Support</span></p>
+</section>
+<section class="Sh">
+<h1 class="Sh" id="SYNOPSIS"><a class="permalink" href="#SYNOPSIS">SYNOPSIS</a></h1>
+<p class="Pp">FreeBSD supports running both as a Xen guest and host on amd64
+ hardware. Guest support is limited to HVM and PVH modes, while host support
+ is limited to PVH mode only.</p>
+<p class="Pp">Xen support is built by default in the i386 and amd64 GENERIC
+ kernels; note however that host mode is only available on amd64.</p>
+</section>
+<section class="Sh">
+<h1 class="Sh" id="DESCRIPTION"><a class="permalink" href="#DESCRIPTION">DESCRIPTION</a></h1>
+<p class="Pp">The Xen Hypervisor allows multiple virtual machines to be run on a
+ single computer system. When first released, Xen required that i386 kernels
+ be compiled &quot;para-virtualized&quot; as the x86 instruction set was not
+ fully virtualizable. Primarily, para-virtualization modifies the virtual
+ memory system to use hypervisor calls (hypercalls) rather than direct
+ 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.</p>
+<p class="Pp">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
+ virtualization (HVM and PVH). HVM configurations may either rely on
+ transparently emulated hardware peripherals, or para-virtualized drivers,
+ which are aware of virtualization, and hence able to optimize certain
+ behaviors to improve performance or semantics. PVH configurations rely on
+ para-virtualized drivers exclusively for IO.</p>
+<p class="Pp"><span class="Ux">FreeBSD</span> Para-virtualized device drivers
+ are required in order to support certain functionality, such as processing
+ management requests, returning idle physical memory pages to the hypervisor,
+ etc.</p>
+<section class="Ss">
+<h2 class="Ss" id="Xen_device_drivers"><a class="permalink" href="#Xen_device_drivers">Xen
+ device drivers</a></h2>
+<p class="Pp">These para-virtualized drivers are supported:</p>
+<dl class="Bl-hang Bd-indent">
+ <dt><code class="Nm">balloon</code></dt>
+ <dd>Allow physical memory pages to be returned to the hypervisor as a result
+ of manual tuning or automatic policy.</dd>
+ <dt><code class="Nm">blkback</code></dt>
+ <dd>Exports local block devices or files to other Xen domains where they can
+ then be imported via <code class="Nm">blkfront</code>.</dd>
+ <dt><code class="Nm">blkfront</code></dt>
+ <dd>Import block devices from other Xen domains as local block devices, to be
+ used for file systems, swap, etc.</dd>
+ <dt><code class="Nm">console</code></dt>
+ <dd>Export the low-level system console via the Xen console service.</dd>
+ <dt><code class="Nm">control</code></dt>
+ <dd>Process management operations from Domain 0, including power off, reboot,
+ suspend, crash, and halt requests.</dd>
+ <dt><code class="Nm">evtchn</code></dt>
+ <dd>Expose Xen events via the <span class="Pa">/dev/xen/evtchn</span> special
+ device.</dd>
+ <dt><code class="Nm">gntdev</code></dt>
+ <dd>Allow access to the grant table interface via the
+ <span class="Pa">/dev/xen/gntdev</span> special device.</dd>
+ <dt><code class="Nm">netback</code></dt>
+ <dd>Export local network interfaces to other Xen domains where they can be
+ imported via <code class="Nm">netfront</code>.</dd>
+ <dt><code class="Nm">netfront</code></dt>
+ <dd>Import network interfaces from other Xen domains as local network
+ interfaces, which may be used for IPv4, IPv6, etc.</dd>
+ <dt><code class="Nm">privcmd</code></dt>
+ <dd>Allow issuing hypercalls via the <span class="Pa">/dev/xen/privcmd</span>
+ special device.</dd>
+ <dt><code class="Nm">timer</code></dt>
+ <dd>Implementation of a one-shot high resolution per-CPU timer using the
+ hypercall interface.</dd>
+ <dt><code class="Nm">acpi cpu</code></dt>
+ <dd>When running as a host forwards power management related information from
+ ACPI to the hypervisor for better performance management.</dd>
+ <dt><code class="Nm">xenpci</code></dt>
+ <dd>Represents the Xen PCI device, an emulated PCI device that is exposed to
+ HVM domains. This device allows detection of the Xen hypervisor, and
+ provides interrupt and shared memory services required to interact with
+ the hypervisor.</dd>
+ <dt><code class="Nm">xenstore</code></dt>
+ <dd>Information storage space shared between domains.</dd>
+</dl>
+</section>
+</section>
+<section class="Sh">
+<h1 class="Sh" id="HISTORY"><a class="permalink" href="#HISTORY">HISTORY</a></h1>
+<p class="Pp">Support for <code class="Nm">xen</code> first appeared in
+ <span class="Ux">FreeBSD 8.1</span>. Support for host mode was added in 11.0
+ .</p>
+</section>
+<section class="Sh">
+<h1 class="Sh" id="AUTHORS"><a class="permalink" href="#AUTHORS">AUTHORS</a></h1>
+<p class="Pp"><span class="Ux">FreeBSD</span> support for Xen was first added by
+ <span class="An">Kip Macy</span>
+ &lt;<a class="Mt" href="mailto:kmacy@FreeBSD.org">kmacy@FreeBSD.org</a>&gt;
+ and <span class="An">Doug Rabson</span>
+ &lt;<a class="Mt" href="mailto:dfr@FreeBSD.org">dfr@FreeBSD.org</a>&gt;.
+ Further refinements were made by <span class="An">Justin Gibbs</span>
+ &lt;<a class="Mt" href="mailto:gibbs@FreeBSD.org">gibbs@FreeBSD.org</a>&gt;,
+ <span class="An">Adrian Chadd</span>
+ &lt;<a class="Mt" href="mailto:adrian@FreeBSD.org">adrian@FreeBSD.org</a>&gt;,
+ <span class="An">Colin Percival</span>
+ &lt;<a class="Mt" href="mailto:cperciva@FreeBSD.org">cperciva@FreeBSD.org</a>&gt;,
+ and <span class="An">Roger Pau Monn&#x00E9;</span>
+ &lt;<a class="Mt" href="mailto:royger@FreeBSD.org">royger@FreeBSD.org</a>&gt;.
+ This manual page was written by <span class="An">Robert Watson</span>
+ &lt;<a class="Mt" href="mailto:rwatson@FreeBSD.org">rwatson@FreeBSD.org</a>&gt;,
+ and <span class="An">Roger Pau Monn&#x00E9;</span>
+ &lt;<a class="Mt" href="mailto:royger@FreeBSD.org">royger@FreeBSD.org</a>&gt;.</p>
+</section>
+</div>
+<table class="foot">
+ <tr>
+ <td class="foot-date">January 8, 2024</td>
+ <td class="foot-os">FreeBSD 15.0</td>
+ </tr>
+</table>