On 12/20/2012 05:01 PM, Jiri Denemark wrote:
> The cpu_map.xml file is there to separate CPU model definitions from the
> code. Having the only interesting data for PowerPC models only in the
> source code. This patch moves this data to the XML file and removes the
> hardcoded list completely.
> ---
>  src/cpu/cpu_map.xml   |   5 ++
>  src/cpu/cpu_powerpc.c | 161 
> ++++++++++++++++++--------------------------------
>  2 files changed, 63 insertions(+), 103 deletions(-)
> 
> diff --git a/src/cpu/cpu_map.xml b/src/cpu/cpu_map.xml
> index ba8c17d..6d51283 100644
> --- a/src/cpu/cpu_map.xml
> +++ b/src/cpu/cpu_map.xml
> @@ -591,12 +591,17 @@
>      <!-- IBM-based CPU models -->
>      <model name='POWER7'>
>        <vendor name='IBM'/>
> +      <pvr value='0x003f0200'/>
>      </model>

Do we have an RNG schema for cpu_map.xml?  Should we?

> @@ -260,26 +209,29 @@ ppcModelLoad(xmlXPathContextPtr ctxt,
>          }
>      }
>  
> -    if (map->models == NULL)
> +    if (!virXPathBoolean("boolean(./pvr)", ctxt) ||

Is this call to virXPathBoolean necessary?  If the element doesn't exist,

> +        virXPathULongHex("string(./pvr/@value)", ctxt, &pvr) < 0) {

then isn't this call to virXPathULongHex guaranteed to fail, without
wasting time on the first query?

> +        virReportError(VIR_ERR_INTERNAL_ERROR,
> +                       _("Missing or invalid PVR value in CPU model %s"),
> +                       model->name);
> +        goto ignore;
> +    }
> +    model->data.pvr = pvr;
> +
> +    if (map->models == NULL) {
>          map->models = model;
> -    else {

Nice cleanup of style violation along the way.

ACK.

-- 
Eric Blake   eblake redhat com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org

Attachment: signature.asc
Description: OpenPGP digital signature

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list

Reply via email to