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

FreeBSD Manual Pages

  
 
  

home | help
PVBUS(4)	       FreeBSD Kernel Interfaces Manual		      PVBUS(4)

NAME
     pvbus -- paravirtual device tree root

SYNOPSIS
     pvbus0 at mainbus0

     #include <sys/types.h>
     #include <sys/ioctl.h>
     #include <dev/pv/pvvar.h>

DESCRIPTION
     pvbus is used on virtual machines that are	running	on hypervisors.	 It
     provides a	pseudo-bus for all paravirtual devices that do not attach to a
     well-known	bus like pci(4).  The pvbus driver is responsible for detect-
     ing the hypervisor	interface, checking the	capabilities, attaching	the
     paravirtual devices, and providing	access to supported information
     stores.

   Supported hypervisors
	KVM	       Kernel-based Virtual Machine
	Hyper-V	       Microsoft Hyper-V
	OpenBSD	       OpenBSD vmm(4)
	VMware	       VMware vSphere Hypervisor and ESXi
	Xen	       Xen VMM

     Note that a hypervisor can	attempt	to emulate other hypervisors, so mul-
     tiple hypervisor interfaces may be	available on the same host.

   VMware paravirtual devices
	vmt(4)	       VMware Tools driver and "guestinfo" information store

   Hyper-V paravirtual devices
	hvn(4)	       Hyper-V virtual networking interface
	hvs(4)	       Hyper-V virtual disk
	hyperv(4)      Hyper-V guest nexus device

   Xen paravirtual devices
	xbf(4)	       Xen Blkfront virtual disk
	xen(4)	       Xen domU	nexus device and XenStore information store
	xnf(4)	       Xen Netfront virtual networking interface

IOCTL INTERFACE
     pvbus supports ioctl(2) commands to exchange information with the hyper-
     visor interface, as implemented in	the hostctl(8) program.	 Each detected
     hypervisor	interface is available as a character special device file,
     /dev/pvbus0, /dev/pvbus1, etc.  All available commands use	the same
     pvbus_req structure:

     struct pvbus_req {
	     size_t		      pvr_keylen;
	     char		     *pvr_key;
	     size_t		      pvr_valuelen;
	     char		     *pvr_value;
     };

     The caller	is responsible for attaching character buffers to the pvr_key
     and pvr_value fields and to set their length in pvr_keylen	and
     pvr_valuelen accordingly.	All keys and values are	nul-terminated
     strings.

     The following ioctl(2) commands are available:

     PVBUSIOC_KVREAD   Read the	value from pvr_key and return it in pvr_value.

     PVBUSIOC_KVTYPE   Return the type of the attached hypervisor interface as
		       a string	in pvr_key; see	Supported hypervisors.

     PVBUSIOC_KVWRITE  Write the new value pvr_value to	the key	pvr_key.  This
		       command requires	write permissions on the device	file.

FILES
     /dev/pvbusu  pvbus	device unit u file.

SEE ALSO
     autoconf(4), intro(4), mainbus(4),	vmm(4),	hostctl(8)

HISTORY
     The pvbus pseudo-bus first	appeared in OpenBSD 5.8.

AUTHORS
     The pvbus pseudo-bus was written by Reyk Floeter <reyk@openbsd.org>.

FreeBSD	13.0			 June 14, 2017			  FreeBSD 13.0

NAME | SYNOPSIS | DESCRIPTION | IOCTL INTERFACE | FILES | SEE ALSO | HISTORY | AUTHORS

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=pvbus&sektion=4&manpath=OpenBSD+6.9>

home | help