20.16.3. デバイスアドレス
多くのデバイスには、仮想バスに配置されたデバイスがゲスト仮想マシンに提示される場所を説明するオプションの
<address>
サブ要素があります。入力でアドレス (またはアドレス内の任意の属性) が省略された場合、libvirt は適切なアドレスを生成します。レイアウトをさらに制御する必要がある場合は明示的なアドレスが必要になります。address 要素を含むデバイスの例は、以下を参照してください。
各アドレスには、デバイスが稼働しているバスを説明する必須の属性
type
があります。特定のデバイスに使用するアドレスの選択は、デバイスやゲスト仮想マシンのアーキテクチャーによって一部が制約されます。たとえば、ディスクデバイスは type='disk'
を使用し、コンソールデバイスは、32 ビット AMD および Intel アーキテクチャーの type='pci'
、または AMD64 と Intel 64、ゲスト仮想マシン、または PowerPC64 pseries ゲスト仮想マシンの type='spapr-vio'
使用します。各アドレス<type>
には、デバイスの配置先を制御する追加のオプション属性があります。追加の属性は、以下のとおりです。
type='pci'
- PCI アドレスには、以下の追加属性があります。ドメイン
(2 バイトの 16 進数の整数で、現在 qemu で使用されていません)bus
(0 から 0xff までの 16 進数の値)slot
(0x0 から 0x1f までの 16 進数の値)function
(0 から 7 までの値)- また、
multi-function
属性も利用できます。これは、PCI 制御レジスターの特定のスロット/機能に対して、多機能ビットをオンにすることを制御します。この多機能属性は、デフォルトでは'off'
ですが、多機能を使用するスロットの機能 0 の場合は'on'
に設定する必要があります。
type='drive'
- 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 桁のバス番号)スロット
属性 (バス内の 2 桁のスロット)
type='usb'
- USB アドレスには、以下の追加属性があります。bus
- (0 から 0xfff までの 16 進数の値)port
- (1.2 または 2.1.3.1 などの最大 4 オクテットのドット表記)
type='spapr-vio'
- PowerPC pseries ゲスト仮想マシンでは、SPAPR-VIO バスにデバイスを割り当てることができます。フラットな 64 ビットのアドレス空間を持ちます。通常、デバイスは 0x1000 の倍数 (ゼロ以外) で割り当てられますが、その他のアドレスは有効で、libvirt で許可されています。追加の属性: reg (開始レジスタの 16 進値アドレス) をこの属性に割り当てることができます。