20.16.3. 设备地址
许多设备具有一个可选的
<地址>
子元素,用于描述在虚拟机上放置于虚拟总线上的设备的位置。如果输入时省略了地址(或地址中的任何可选属性)时,libvirt 将生成一个适当的地址;不过,如果需要更多地控制布局,则需要一个明确的地址。有关地址元素在内的设备示例,请参见以下设备。
每个地址都有一个强制属性
type
,用于描述该设备所在的总线。在设备和客户机虚拟机架构中限制在给定设备使用的地址的选择。例如:磁盘设备使用 type='disk'
,而控制台设备在 32 位 AMD 和 Intel 构架或者 AMD64 及 Intel 64 客户机虚拟机上使用 type='papr-vio',或在 PowerPC64 台虚拟机中使用 type='spapr-vio'
。
每一地址 <类型>
具有额外的可选属性,可控制该设备在总线上的位置。其他属性如下:
type='pci'
- PCI 地址有以下附加属性:域
(2 字节十六进制整数,当前不供 qemu 使用)总线
(0 到 0 到 0xff 之间的十六进制值,含)插槽
(0x0 和 0x1f 之间的十六进制值,含)功能
(0 到 7 之间的值)- 也可使用
多功能
属性,它控制在 PCI 控制寄存器中特定插槽/功能开启多个功能。这个多功能属性默认为'off'
,但应该设置为'on'
for a function 0,它使用多个功能的插槽中 0。
type='drive
- 驱动器地址具有以下额外属性:controller
- (2 位控制器号)总线
- (2 位总线号)Target
- (2 位总线号)unit
- (总线中 2 位的单元数)
type='virtio-serial'
- 每个 virtio-serial 地址都有以下附加属性:controller
- (2 位控制器号)总线
- (2 位总线号)插槽
- (总线中的 2 位插槽)
type='ccid'
- 用于智能卡的 CCID 地址,具有以下附加属性:总线
- (2 位总线号)插槽
属性 - (总线中的 2 位插槽)
type='usb'
- USB 地址有以下附加属性:总线
- (0 到 0 到 0xfff 之间的十六进制值,含)port
- (最多四个八位字节的点表示法,如 1.2 或 2.1.3.1)
Type='spapr-vio
- On PowerPC pseries guest 虚拟机,设备可以分配给 SPAPR-VIO 总线。它具有扁平 64 位地址空间;根据惯例,设备通常在零个 0x1000 的零次分配,但其他地址由 libvirt 有效并允许。额外属性:reg(开始寄存器的十六进制值地址)可以分配给此属性。