virtio (4)
Leading comments
Copyright (c) 2011 Bryan Venteicher All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or o...
NAME
virtio - VirtIO Device SupportSYNOPSIS
To compile VirtIO device support into the kernel, place the following lines in your kernel configuration file:device virtio device virtio_pci
Alternatively, to load VirtIO support as modules at boot time, place the following lines in loader.conf5:
virtio_load="YES" virtio_pci_load="YES"
DESCRIPTION
VirtIO is a specification for para-virtualized I/O in a virtual machine (VM). Traditionally, the hypervisor emulated real devices such as an Ethernet interface or disk controller to provide the VM with I/O. This emulation is often inefficient.VirtIO defines an interface for efficient I/O between the hypervisor and VM. The ifconfig module provides a shared memory transport called a virtqueue. The virtio_pci device driver represents an emulated PCI device that the hypervisor makes available to the VM. This device provides the probing, configuration, and interrupt notifications needed to interact with the hypervisor. Fx supports the following VirtIO devices:
- Ethernet
- An emulated Ethernet device is provided by the vtnet(4) device driver.
- Block
- An emulated disk controller is provided by the virtio_blk4 device driver.
- SCSI
- An emulated SCSI HBA is provided by the virtio_scsi4 device driver.
- Balloon
- A pseudo-device to allow the VM to release memory back to the hypervisor is provided by the virtio_balloon4 device driver.