On 04/17/2013 03:00 PM, Ján Tomko wrote:
Add new controller type 'pci' with models 'pci-root'
and 'pci-bridge'.
---
docs/schemas/domaincommon.rng | 3 +++
src/conf/domain_conf.c | 21 ++++++++++++++++++++-
src/conf/domain_conf.h | 9 +++++++++
3 files changed, 32 insertions(+), 1 deletion(-)
diff --git a/docs/schemas/domaincommon.rng b/docs/schemas/domaincommon.rng
index 468c49c..a66a289 100644
--- a/docs/schemas/domaincommon.rng
+++ b/docs/schemas/domaincommon.rng
@@ -1413,6 +1413,7 @@
<value>sata</value>
<value>ccid</value>
<value>usb</value>
+ <value>pci</value>
</choice>
</attribute>
</optional>
@@ -1459,6 +1460,8 @@
<value>pci-ohci</value>
<value>nec-xhci</value>
<value>none</value>
+ <value>pci-root</value>
+ <value>pci-bridge</value>
</choice>
</attribute>
</optional>
diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
index cf0f1c4..a5764fb 100644
--- a/src/conf/domain_conf.c
+++ b/src/conf/domain_conf.c
@@ -300,7 +300,12 @@ VIR_ENUM_IMPL(virDomainController, VIR_DOMAIN_CONTROLLER_TYPE_LAST,
"sata",
"virtio-serial",
"ccid",
- "usb")
+ "usb",
+ "pci")
+
+VIR_ENUM_IMPL(virDomainControllerModelPCI, VIR_DOMAIN_CONTROLLER_MODEL_PCI_LAST,
+ "pci-root",
+ "pci-bridge")
Ah, how did I miss that? When I was talking about adding different
models of pci controllers, I had "modeled" it after the models in
<interface>, where it is a separate element, e.g.
<interface type='network'>
<model type='virtio'/>
...
but now I see that usb controllers already *have* "model" directly as an
attribute of <controller>, thanks to the different types of usb controllers.
Even though that's not consistent with models in <interface>, I actually
like it better because it keeps the model closer to the type (and
anyway, it's already a done deal, so it doesn't really matter :-)
I'll repeat Eric's ACK, but also with the same qualification he later
made that it be documented in formatdomain.html.in (and I think it
should go into this patch, rather than later in the series).