[libvirt] [PATCH v2 08/11] conf: add PCI controllers
Laine Stump
laine at laine.org
Thu Apr 18 04:38:40 UTC 2013
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>
It occurred to me that we should only allow model='pci-root|pci-bridge'
if type='pci', and when I went back to look at the rng directly (instead
of just the diff), I noticed that there is already a separate set of
attributes/values allowable for type='virtio-serial'. So, especially
because there is already a precedent, I think there should be a separate
<group> for type='pci', just as there is for type='virtio-serial', and
it should allow model='pci-root|pci-bridge'. Of course this means that
the other attribute list will have to be moved inside the existing
<group> (and ideally, that group should be split into a separate group
for each type)
I just made a patch that cleans up the controller rng as described above:
http://www.redhat.com/archives/libvir-list/2013-April/msg01320.html
Once it has been applied, you can just make the following change to
domaincommon.rng instead of what you did above:
diff --git a/docs/schemas/domaincommon.rng b/docs/schemas/domaincommon.rng
index 26523a7..e6af27b 100644
--- a/docs/schemas/domaincommon.rng
+++ b/docs/schemas/domaincommon.rng
@@ -1475,6 +1475,18 @@
<ref name="usbmaster"/>
</optional>
</group>
+ <!-- pci has an optional attribute "model" -->
+ <group>
+ <attribute name="type">
+ <value>pci</value>
+ </attribute>
+ <attribute name="model">
+ <choice>
+ <value>pci-root</value>
+ <value>pci-bridge</value>
+ </choice>
+ </attribute>
+ </group>
<!-- virtio-serial has optional "ports" and "vectors" -->
<group>
<attribute name="type">
More information about the libvir-list
mailing list