[libvirt] [PATCH v2 08/11] conf: add PCI controllers

Laine Stump laine at laine.org
Thu Apr 18 00:34:15 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>
>        </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).




More information about the libvir-list mailing list