diff options
Diffstat (limited to 'static/freebsd/man4/vmm.4 3.html')
| -rw-r--r-- | static/freebsd/man4/vmm.4 3.html | 155 |
1 files changed, 0 insertions, 155 deletions
diff --git a/static/freebsd/man4/vmm.4 3.html b/static/freebsd/man4/vmm.4 3.html deleted file mode 100644 index 12cb9dcf..00000000 --- a/static/freebsd/man4/vmm.4 3.html +++ /dev/null @@ -1,155 +0,0 @@ -<table class="head"> - <tr> - <td class="head-ltitle">VMM(4)</td> - <td class="head-vol">Device Drivers Manual</td> - <td class="head-rtitle">VMM(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">vmm.ko</code> — <span class="Nd">bhyve - virtual machine monitor</span></p> -</section> -<section class="Sh"> -<h1 class="Sh" id="SYNOPSIS"><a class="permalink" href="#SYNOPSIS">SYNOPSIS</a></h1> -<p class="Pp">To load the driver as a module at boot, add this line to - <a class="Xr">loader.conf(5)</a>:</p> -<div class="Bd Pp Bd-indent Li"> -<pre><code class="Cd">vmm_load="YES"</code></pre> -</div> -<p class="Pp">The module can also be loaded manually with - <a class="Xr">kldload(8)</a>:</p> -<div class="Bd Pp Bd-indent Li"> -<pre>kldload vmm</pre> -</div> -</section> -<section class="Sh"> -<h1 class="Sh" id="DESCRIPTION"><a class="permalink" href="#DESCRIPTION">DESCRIPTION</a></h1> -<p class="Pp"><code class="Nm">vmm.ko</code> provides the kernel portion of the - <a class="Xr">bhyve(4)</a> hypervisor. The following platforms are - supported:</p> -<ul class="Bl-bullet"> - <li>amd64: An Intel CPU with VT-x/EPT or AMD CPU with SVM support is - required.</li> - <li>arm64: The boot CPU must start in EL2 and the system must have a GICv3 - interrupt controller. VHE support will be used if available.</li> - <li>riscv: The CPUs must implement the H (hypervisor) RISC-V ISA - extension.</li> -</ul> -<p class="Pp">PCI device passthrough to a virtual machine requires hardware with - VT-d support and is available only on amd64.</p> -</section> -<section class="Sh"> -<h1 class="Sh" id="ACCESS_CONTROL"><a class="permalink" href="#ACCESS_CONTROL">ACCESS - CONTROL</a></h1> -<p class="Pp">Only the super-user and processes with write access to the - <span class="Pa">/dev/vmmctl</span> device file may create and destroy - virtual machines. By default, members of the <var class="Va">vmm</var> group - have such access. Once created, a virtual machine may be destroyed only by - that user or the super-user.</p> -<p class="Pp">Unprivileged users must use “monitor mode” to run - the virtual machine; in this mode, the virtual machine is automatically - destroyed when its device file is closed. When running - <a class="Xr">bhyve(8)</a>, this mode can be selected by specifying the - <code class="Fl">-M</code> flag.</p> -<p class="Pp">Virtual machines can be created in a jail if the jail has the - <var class="Va">allow.vmm</var> flag set.</p> -</section> -<section class="Sh"> -<h1 class="Sh" id="PCI_PASSTHROUGH"><a class="permalink" href="#PCI_PASSTHROUGH">PCI - PASSTHROUGH</a></h1> -<p class="Pp">On amd64 where the hardware supports VT-d, PCI devices can be - reserved for use by the hypervisor. Entries consisting of the PCI - <var class="Ar">bus</var>/<var class="Ar">slot</var>/<var class="Ar">function</var> - are added to the <var class="Va">pptdevs</var> - <a class="Xr">loader.conf(5)</a> variable. Additional entries are separated - by spaces. Host PCI devices that match an entry will be assigned to the - hypervisor and will not be probed by <span class="Ux">FreeBSD</span> device - drivers. See the <a class="Sx" href="#EXAMPLES">EXAMPLES</a> section below - for sample usage.</p> -<p class="Pp">Note that <code class="Nm">vmm</code> must be given first the - right of refusal to all <a class="Xr">pci(4)</a> devices it may need to - claim. As a result, the <code class="Nm">vmm</code> kernel module almost - certainly needs to be loaded from <a class="Xr">loader.conf(5)</a> rather - than by adding it to <var class="Va">kld_list in</var> - <a class="Xr">rc.conf(5)</a>.</p> -<p class="Pp">A large number of PCI device entries may require a string longer - than the 128-character limit of <a class="Xr">loader.conf(5)</a> variables. - The <var class="Va">pptdevs2</var> and <var class="Va">pptdevs3</var> - variables can be used for additional entries.</p> -<p class="Pp">In general, PCI passthrough cannot be used when running - <a class="Xr">bhyve(8)</a> as an unprivileged user or in a jail, as this - feature requires write access to <span class="Pa">/dev/pci</span>.</p> -</section> -<section class="Sh"> -<h1 class="Sh" id="LOADER_TUNABLES"><a class="permalink" href="#LOADER_TUNABLES">LOADER - TUNABLES</a></h1> -<p class="Pp">Tunables can be set at the <a class="Xr">loader(8)</a> prompt - before booting the kernel or stored in <a class="Xr">loader.conf(5)</a>.</p> -<dl class="Bl-tag"> - <dt id="hw.vmm.maxcpu"><var class="Va">hw.vmm.maxcpu</var></dt> - <dd>Maximum number of virtual CPUs. The default is the number of physical CPUs - in the system.</dd> -</dl> -</section> -<section class="Sh"> -<h1 class="Sh" id="FILES"><a class="permalink" href="#FILES">FILES</a></h1> -<dl class="Bl-tag Bl-compact"> - <dt><span class="Pa">/dev/vmmctl</span></dt> - <dd>control interface for creating and destroying virtual machines.</dd> - <dt><span class="Pa">/dev/vmm/*</span></dt> - <dd>device interface for individual virtual machines.</dd> - <dt><span class="Pa">/dev/vmm.io/*</span></dt> - <dd>device interface for device memory mapped into virtual machines.</dd> -</dl> -</section> -<section class="Sh"> -<h1 class="Sh" id="EXAMPLES"><a class="permalink" href="#EXAMPLES">EXAMPLES</a></h1> -<p class="Pp">Reserve three PCI devices for use by the hypervisor: bus 10 slot 0 - function 0, bus 6 slot 5 function 0, and bus 6 slot 5 function 1.</p> -<div class="Bd Pp Bd-indent Li"> -<pre>pptdevs="10/0/0 6/5/0 6/5/1"</pre> -</div> -<p class="Pp">It is possible to detach <var class="Va">ppt</var> from a PCI - device without rebooting the host machine and then attach a host driver, - using the <a class="Xr">devctl(8)</a> utility. Suppose - <var class="Va">ppt</var> is currently attached to - <var class="Va">pci0:0:1:0</var> and we want the host's - <a class="Xr">xhci(4)</a> driver to be attached instead:</p> -<div class="Bd Pp Bd-indent Li"> -<pre># devctl set driver -f pci0:0:1:0 xhci</pre> -</div> -<p class="Pp">The same can be applied to attach <var class="Va">ppt</var> - back:</p> -<div class="Bd Pp Bd-indent Li"> -<pre># devctl set driver -f pci0:0:1:0 ppt</pre> -</div> -</section> -<section class="Sh"> -<h1 class="Sh" id="SEE_ALSO"><a class="permalink" href="#SEE_ALSO">SEE - ALSO</a></h1> -<p class="Pp"><a class="Xr">bhyve(4)</a>, <a class="Xr">loader.conf(5)</a>, - <a class="Xr">bhyve(8)</a>, <a class="Xr">bhyvectl(8)</a>, - <a class="Xr">bhyveload(8)</a>, <a class="Xr">devctl(8)</a>, - <a class="Xr">jail(8)</a>, <a class="Xr">kldload(8)</a></p> -</section> -<section class="Sh"> -<h1 class="Sh" id="HISTORY"><a class="permalink" href="#HISTORY">HISTORY</a></h1> -<p class="Pp"><code class="Nm">vmm.ko</code> first appeared in - <span class="Ux">FreeBSD 10.0</span>. arm64 and riscv support first appeared - in <span class="Ux">FreeBSD 15.0</span>.</p> -</section> -<section class="Sh"> -<h1 class="Sh" id="AUTHORS"><a class="permalink" href="#AUTHORS">AUTHORS</a></h1> -<p class="Pp"><span class="An">Neel Natu</span> ⟨neel@freebsd.org⟩ - <br/> - <span class="An">Peter Grehan</span> ⟨grehan@freebsd.org⟩</p> -</section> -</div> -<table class="foot"> - <tr> - <td class="foot-date">December 30, 2024</td> - <td class="foot-os">FreeBSD 15.0</td> - </tr> -</table> |
