10.4. デバイスのアドレス設定

多くのデバイスには、ゲスト仮想マシンに提示されるデバイスが仮想バス上のどこに配置されるかを説明するオプションの <address> サブ要素があります。アドレス (またはアドレス内のオプション属性) が入力で省略されている場合、libvirt は適切なアドレスを生成しますが、レイアウトにより多くの制御が必要な場合は明示的なアドレスが必要になります。<address> 要素を含むドメイン XML のデバイスサンプルについては、図10.6「PCI デバイス割り当ての XML サンプル」 を参照してください。
すべてのアドレスには、デバイスが置かれるバスを記述する必須の属性 type があります。指定されるデバイスに使用するアドレスを選択することは、デバイスおよびゲスト仮想マシンのアーキテクチャーによって部分的に制限されます。たとえば、<ディスク> デバイスは type='drive' を使用し、<コンソール> デバイスは、i686 または x86_64 ゲスト仮想マシンのアーキテクチャーで type='pci' を使用します。さらに、各アドレスの type には、表で説明されるように、バス上のデバイスの配置される場所を制御するオプションの属性があります。

表10.1 サポートされているデバイスアドレスのタイプ

アドレスタイプ説明
type='pci'PCI アドレスには以下の追加属性があります。
  • domain (2 バイトの 16 進整数。 現在は qemu によって使用されていません)
  • bus (0 から 0xff までの 16 進値)
  • slot (0x0 から 0x1f までの 16 進値)
  • function (0 から 7 までの値)
  • multifunction は、PCI コントロールレジスターに特定のスロット/機能のマルチファンクションビットをオンにするように制御します。この属性は、デフォルトで 'off' になりますが、マルチファンクションが使用されるスロットのファンクション 0 では 'on' に設定する必要があります。
type='drive'ドライブアドレスには、以下の追加属性があります。
  • controller (2 桁のコントローラー番号)
  • bus (2 桁のバス番号)
  • target (2 桁のバス番号)
  • unit (バス上の 2 桁のユニット番号)
type='virtio-serial'それぞれの virtio-serial アドレスには以下の追加属性があります。
  • controller (2 桁のコントローラー番号)
  • bus (2 桁のバス番号)
  • slot (バス内の 2 桁のスロット)
type='ccid'スマートカードに使用される CCID アドレスには、以下の追加属性があります。
  • bus (2 桁のバス番号)
  • slot 属性 (バス内の 2 桁のスロット)
type='usb'USB アドレスには以下の追加属性があります。
  • bus (0 から 0xfff までの 16 進数)
  • port (1.2 または 2.1.3.1 などの最高 4 つのオクテットからなるドット区切りの表記)
type='isa'ISA アドレスには以下の追加属性があります。
  • iobase
  • irq