[libvirt] [RFC 3/6] schema: Validate GIC capabilities

John Ferlan jferlan at redhat.com
Wed Mar 30 19:36:46 UTC 2016



On 03/21/2016 01:28 PM, Andrea Bolognani wrote:
> We need to expose GIC capabilities in the domain capabilities
> XML: update the schema to validate documents that contain the
> new information.
> ---
>  docs/schemas/domaincaps.rng | 18 ++++++++++++++++++
>  1 file changed, 18 insertions(+)
> 

I think patches 3 and 4 should be combined and 5 is not too far behind!

"features" is fairly generic for something so specific, but I'm not sure
I have other great suggestions for a "domain capabilities" section that
has path, domain, machine, arch, vcpu, os, and devices already. It is a
cpu interrupt controller - so maybe it's an "interrupt" device.

When the XML is created what is it going to look like?

 <features>
   <gic supported='yes'/>
     <enum name='version'>
       <value>2</value>
       <value>3</value>
     </enum>
   </gic>
 </features>

Is putting it after "<devices>" a back compat thing? I guess I would
think it was more logical after the <arch> or even more radical as part
of it:

  <arch gic_version='%s' gic_emulated='%s' git_kernel='%s'>armv7l</arch>

Additionally, docs/formatdomaincaps.html.in will need an update to
describe this...

And then there's virsh.pod - not sure if it needs an update...

John

> diff --git a/docs/schemas/domaincaps.rng b/docs/schemas/domaincaps.rng
> index 35d3745..0d2777b 100644
> --- a/docs/schemas/domaincaps.rng
> +++ b/docs/schemas/domaincaps.rng
> @@ -31,6 +31,9 @@
>          <optional>
>            <ref name='devices'/>
>          </optional>
> +        <optional>
> +          <ref name='features'/>
> +        </optional>
>        </interleave>
>      </element>
>    </define>
> @@ -88,6 +91,21 @@
>      </element>
>    </define>
>  
> +  <define name='features'>
> +    <element name='features'>
> +      <interleave>
> +        <ref name='gic'/>
> +      </interleave>
> +    </element>
> +  </define>
> +
> +  <define name='gic'>
> +    <element name='gic'>
> +      <ref name='supported'/>
> +      <ref name='enum'/>
> +    </element>
> +  </define>
> +
>    <define name='value'>
>      <zeroOrMore>
>        <element name='value'>
> 




More information about the libvir-list mailing list