20.16.15. Guest Virtual Machine Interfaces A character device presents itself to the guest virtual machine as one of the following types. To set the parallel port, use a management tool to make the following change to the domain XML ... <devices> <parallel type='pty'> <source path='/dev/pts/2'/> <target port='0'/> </parallel> </devices> ... Figure 20.60. Guest virtual machine interface Parallel Port <target> can have a port attribute, which specifies the port number. Ports are numbered starting from 0. There are usually 0, 1 or 2 parallel ports. To set the serial port use a management tool to make the following change to the domain XML: ... <devices> <serial type='pty'> <source path='/dev/pts/3'/> <target port='0'/> </serial> </devices> ... Figure 20.61. Guest virtual machine interface serial port <target> can have a port attribute, which specifies the port number. Ports are numbered starting from 0. There are usually 0, 1 or 2 serial ports. There is also an optional type attribute, which has two choices for its value, one is isa-serial , the other is usb-serial . If type is missing, isa-serial will be used by default. For usb-serial an optional sub-element <address> with type='usb' can tie the device to a particular controller, documented above. The <console> element is used to represent interactive consoles. Depending on the type of guest virtual machine in use, the consoles might be paravirtualized devices, or they might be a clone of a serial device, according to the following rules: If no targetType attribute is set, then the default device type is according to the hypervisor's rules. The default type will be added when re-querying the XML fed into libvirt. For fully virtualized guest virtual machines, the default device type will usually be a serial port. If the targetType attribute is serial , and if no <serial> element exists, the console element will be copied to the <serial> element. If a <serial> element does already exist, the console element will be ignored. If the targetType attribute is not serial , it will be treated normally. Only the first <console> element may use a targetType of serial . Secondary consoles must all be paravirtualized. On s390, the console element may use a targetType of sclp or sclplm (line mode). SCLP is the native console type for s390. There's no controller associated to SCLP consoles. In the example below, a virtio console device is exposed in the guest virtual machine as /dev/hvc[0-7] (for more information, see http://fedoraproject.org/wiki/Features/VirtioSerial): ... <devices> <console type='pty'> <source path='/dev/pts/4'/> <target port='0'/> </console> <!-- KVM virtio console --> <console type='pty'> <source path='/dev/pts/5'/> <target type='virtio' port='0'/> </console> </devices> ... ... <devices> <!-- KVM s390 sclp console --> <console type='pty'> <source path='/dev/pts/1'/> <target type='sclp' port='0'/> </console> </devices> ... Figure 20.62. Guest virtual machine interface - virtio console device If the console is presented as a serial port, the <target> element has the same attributes as for a serial port. There is usually only one console.

Commands:
<devices> <parallel type='pty'> <source path='/dev/pts/2'/> <target port='0'/> </parallel> </devices>
<devices> <serial type='pty'> <source path='/dev/pts/3'/> <target port='0'/> </serial> </devices>
<devices> <console type='pty'> <source path='/dev/pts/4'/> <target port='0'/> </console> <!-- KVM virtio console --> <console type='pty'> <source path='/dev/pts/5'/> <target type='virtio' port='0'/> </console> </devices> <devices> <!-- KVM s390 sclp console --> <console type='pty'> <source path='/dev/pts/1'/> <target type='sclp' port='0'/> </console> </devices>