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:
Laine Stump committed 2013-08-05 15:13:56 -04:00
1 parent c305783c65
commit 48a3f48ac5
11 files changed
+93 -20

No files matched your search

+21 -8
View File
@@ -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>
...
&lt;devices&gt;
&lt;controller type='pci' index='0' model='pci-root'/&gt;
&lt;controller type='pci' index='1' model='pci-bridge'&gt;
&lt;address type='pci' domain='0' bus='0' slot='5' function='0' multifunction=off'/&gt;
&lt;address type='pci' domain='0' bus='0' slot='5' function='0' multifunction='off'/&gt;
&lt;/controller&gt;
&lt;/devices&gt;
...</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>
...
&lt;devices&gt;
&lt;controller type='pci' index='0' model='pcie-root'/&gt;
&lt;/devices&gt;
...</pre>
<h4><a name="elementsLease">Device leases</a></h4>
+1
View File
@@ -1538,6 +1538,7 @@
<attribute name="model">
<choice>
<value>pci-root</value>
<value>pcie-root</value>
<value>pci-bridge</value>
</choice>
</attribute>