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

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

表16.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