mirror of
https://github.com/libvirt/libvirt.git
synced 2026-10-02 12:20:06 -05:00
qemu: add pcie-root controller
This controller is implicit on q35 machinetypes. It provides 31 PCIe (*not* PCI) slots as controller 0. Currently there are no devices that can connect to pcie-root, and no implicit pci controller on a q35 machine, so q35 is still unusable. For a usable q35 system, we need to add a "dmi-to-pci-bridge" pci controller, which can connect to pcie-root, and provides standard pci slots that can be used to connect other devices.
This commit is contained in:
1 parent
c305783c65
commit
48a3f48ac5
11 files changed
+93
-20
No files matched your search
@@ -2338,27 +2338,40 @@
|
||||
|
||||
<p>
|
||||
PCI controllers have an optional <code>model</code> attribute with
|
||||
possible values <code>pci-root</code> or <code>pci-bridge</code>.
|
||||
For machine types which provide an implicit pci bus, the pci-root
|
||||
possible values <code>pci-root</code>, <code>pcie-root</code>
|
||||
or <code>pci-bridge</code>.
|
||||
For machine types which provide an implicit PCI bus, the pci-root
|
||||
controller with index=0 is auto-added and required to use PCI devices.
|
||||
PCI root has no address.
|
||||
PCI bridges are auto-added if there are too many devices to fit on
|
||||
the one bus provided by pci-root, or a PCI bus number greater than zero
|
||||
was specified.
|
||||
pci-root has no address.
|
||||
PCI bridges can also be specified manually, but their addresses should
|
||||
only refer to PCI buses provided by already specified PCI controllers.
|
||||
Leaving gaps in the PCI controller indexes might lead to an invalid
|
||||
configuration.
|
||||
(<span class="since">since 1.0.5</span>)
|
||||
(pci-root and pci-bridge <span class="since">since 1.0.5</span>)
|
||||
</p>
|
||||
<pre>
|
||||
...
|
||||
<devices>
|
||||
<controller type='pci' index='0' model='pci-root'/>
|
||||
<controller type='pci' index='1' model='pci-bridge'>
|
||||
<address type='pci' domain='0' bus='0' slot='5' function='0' multifunction=off'/>
|
||||
<address type='pci' domain='0' bus='0' slot='5' function='0' multifunction='off'/>
|
||||
</controller>
|
||||
</devices>
|
||||
...</pre>
|
||||
|
||||
<p>
|
||||
For machine types which provide an implicit PCI Express (PCIe)
|
||||
bus (for example, the machine types based on the Q35 chipset),
|
||||
the pcie-root controller with index=0 is auto-added to the
|
||||
domain's configuration. pcie-root has also no address, provides
|
||||
31 slots (numbered 1-31) and can only be used to attach PCIe
|
||||
devices. (<span class="since">since 1.1.2</span>).
|
||||
</p>
|
||||
<pre>
|
||||
...
|
||||
<devices>
|
||||
<controller type='pci' index='0' model='pcie-root'/>
|
||||
</devices>
|
||||
...</pre>
|
||||
|
||||
<h4><a name="elementsLease">Device leases</a></h4>
|
||||
|
||||
@@ -1538,6 +1538,7 @@
|
||||
<attribute name="model">
|
||||
<choice>
|
||||
<value>pci-root</value>
|
||||
<value>pcie-root</value>
|
||||
<value>pci-bridge</value>
|
||||
</choice>
|
||||
</attribute>
|
||||
|
||||
Reference in new issue
Block a user