Provides the standard VirtIO interface for console devices
Synopsis:
vdev virtio-console options
Options:
- delayed
seconds|forever
- If specified, delay opening the device in the host until it is first
referenced by the guest.
- If the device isn't found in the host, continue trying for the number of
seconds specified by seconds before timing out (e.g.,
delayed 5). If seconds is set to
0 (e.g., delayed 0), try only once to
find the device on the host. If the argument is set to forever (e.g.,
delayed forever), never time out (i.e., keep trying to
find the device on the host).
- hostdev [<|>]host_device_name
- Use the host_device_name as the source and/or destination
of characters to the device.
- Use < (input) or > (output) to specify
if the host device specified by host_device_name provides
input or receives output, as you would in a shell.
- intr
intr
- Signal intr for device interrupts. Not required when the
vdev appears as a PCI device.
- legacy
- Provide the VirtIO legacy interface (0.9.5) rather than the 1.0 standard
version.
- loc
addr
- Set the base address of the device registers to addr. Not
required if the vdev appears as a PCI device.
- sched
priority
- Use the priority specified by priority for pulses
indicating that input is available on the host device.
For a list of options available to all vdevs, see Common vdev options at the beginning of this
chapter.
Description:
ARM and x86. Normally the device appears as a PCI device, but if you specify the
loc and intr options, the guest will see it as
a memory mapped I/O device at the specified location.
The virtio-console vdev can be very useful on systems where console interaction to a
guest is slow over a regular console or serial terminal. The virtio-console vdev is
a buffering driver; most often it is used when a guest is interacting with the host
over an emulated UART. For example, many embedded ARM boards will use the PL011
serial port as a terminal for output from Linux kernel. Using virtio-console to
buffer PL011 reduces emulation overhead.
The virtio-console vdev requires:
A device to run on. For example, for ARM systems, the virtio-console vdev is
usually used for buffering the PL011 serial device.
The PL011 is slow and will have slow output because there are many
interactions with the virtualized serial port. By using the virtio-console
vdev on top of the PL011 device, the console interaction is very fast both
on input and output due to the virtio-console vdev's larger and more
efficient buffering.
- A virtual driver running in the guest. Both Linux and QNX guests need a virtio
driver to be running. For example, in a Linux guest, configure the guest to
include the virtio-console kernel module, and specify
console=hvc0 in the cmdline option in the
qvm configuration for the VM.