mirror of
https://github.com/libvirt/libvirt.git
synced 2025-02-25 18:55:26 -06:00
conf: new pci controller model "pcie-root-port"
This controller can be connected (at domain startup time only - not
hotpluggable) only to a port on the pcie root complex ("pcie-root" in
libvirt config), hence the new connect type
VIR_PCI_CONNECT_TYPE_PCIE_ROOT. It provides a hotpluggable port that
will accept any PCI or PCIe device.
New attributes must be added to the controller <target> subelement for
this - chassis and port are guest-visible option values that will be
set by libvirt with values derived from the controller's index and pci
address information.
This commit is contained in:
@@ -3031,10 +3031,11 @@
|
||||
<p>
|
||||
PCI controllers have an optional <code>model</code> attribute with
|
||||
possible values <code>pci-root</code>, <code>pcie-root</code>,
|
||||
<code>pci-bridge</code>, or <code>dmi-to-pci-bridge</code>.
|
||||
<code>pcie-root-port</code>, <code>pci-bridge</code>,
|
||||
or <code>dmi-to-pci-bridge</code>.
|
||||
(pci-root and pci-bridge <span class="since">since 1.0.5</span>,
|
||||
pcie-root and dmi-to-pci-bridge <span class="since">since
|
||||
1.1.2</span>)
|
||||
1.1.2</span>, pcie-root-port <span class="since">since 1.2.19</span>)
|
||||
The root controllers (<code>pci-root</code> and <code>pcie-root</code>)
|
||||
have an optional <code>pcihole64</code> element specifying how big
|
||||
(in kilobytes, or in the unit specified by <code>pcihole64</code>'s
|
||||
@@ -3079,6 +3080,23 @@
|
||||
the index attribute of the pci controller). If set, chassisNr
|
||||
must be between 0 and 255.
|
||||
</dd>
|
||||
<dt><code>chassis</code></dt>
|
||||
<dd>
|
||||
pcie-root-port controllers can also have
|
||||
a <code>chassis</code> attribute in
|
||||
the <code><target></code> subelement, which is used to
|
||||
set the controller's "chassis" configuration value, which is
|
||||
visible to the virtual machine. If set, chassis must be
|
||||
between 0 and 255.
|
||||
</dd>
|
||||
<dt><code>port</code></dt>
|
||||
<dd>
|
||||
pcie-root-port controllers can also have a <code>port</code>
|
||||
attribute in the <code><target></code> subelement, which
|
||||
is used to set the controller's "port" configuration value,
|
||||
which is visible to the virtual machine. If set, port must be
|
||||
between 0 and 255.
|
||||
</dd>
|
||||
</dl>
|
||||
<p>
|
||||
For machine types which provide an implicit PCI bus, the pci-root
|
||||
@@ -3125,6 +3143,17 @@
|
||||
auto-determined by libvirt will be placed on this pci-bridge
|
||||
device. (<span class="since">since 1.1.2</span>).
|
||||
</p>
|
||||
<p>
|
||||
Domains with an implicit pcie-root can also add controllers
|
||||
with <code>model='pcie-root-port'</code>. This is a simple type of
|
||||
bridge device that can connect only to one of the 31 slots on
|
||||
the pcie-root bus on the upstream side, and makes a single
|
||||
(PCIe, hotpluggable) port (at slot='0') available on the
|
||||
downstream side. This controller can be used to provide a single
|
||||
slot to later hotplug a PCIe device (but is not itself
|
||||
hotpluggable - it must be in the configuration when the domain
|
||||
is started). (<span class="since">since 1.2.19</span>)
|
||||
</p>
|
||||
<pre>
|
||||
...
|
||||
<devices>
|
||||
|
||||
@@ -1739,6 +1739,8 @@
|
||||
<value>pci-bridge</value>
|
||||
<!-- implementations of 'dmi-to-pci-bridge' -->
|
||||
<value>i82801b11-bridge</value>
|
||||
<!-- implementations of 'pcie-root-port' -->
|
||||
<value>ioh3420</value>
|
||||
</choice>
|
||||
</attribute>
|
||||
<empty/>
|
||||
@@ -1751,6 +1753,16 @@
|
||||
<ref name='uint8range'/>
|
||||
</attribute>
|
||||
</optional>
|
||||
<optional>
|
||||
<attribute name="chassis">
|
||||
<ref name='uint8range'/>
|
||||
</attribute>
|
||||
</optional>
|
||||
<optional>
|
||||
<attribute name="port">
|
||||
<ref name='uint8range'/>
|
||||
</attribute>
|
||||
</optional>
|
||||
<empty/>
|
||||
</element>
|
||||
</optional>
|
||||
@@ -1774,6 +1786,7 @@
|
||||
<choice>
|
||||
<value>pci-bridge</value>
|
||||
<value>dmi-to-pci-bridge</value>
|
||||
<value>pcie-root-port</value>
|
||||
</choice>
|
||||
</attribute>
|
||||
</group>
|
||||
|
||||
Reference in New Issue
Block a user