9.4. Setting Addresses for Devices
Many devices have an optional
<address>
sub-element which is used to describe where the device is placed on the virtual bus presented to the guest virtual machine. If an address (or any optional attribute within an address) is omitted on input, libvirt will generate an appropriate address; but an explicit address is required if more control over layout is required. See Figure 9.6, “XML example for PCI device assignment” for domain XML device examples including an <address>
element.
Every address has a mandatory attribute
type
that describes which bus the device is on. The choice of which address to use for a given device is constrained in part by the device and the architecture of the guest virtual machine. For example, a <disk>
device uses type='drive'
, while a <console>
device would use type='pci'
on i686 or x86_64 guest virtual machine architectures. Each address type has further optional attributes that control where on the bus the device will be placed as described in the table:
Address type | Description |
---|---|
type='pci' | PCI addresses have the following additional attributes:
|
type='drive' | Drive addresses have the following additional attributes:
|
type='virtio-serial' | Each virtio-serial address has the following additional attributes:
|
type='ccid' | A CCID address, for smart-cards, has the following additional attributes:
|
type='usb' | USB addresses have the following additional attributes:
|
type='isa' | ISA addresses have the following additional attributes:
|