On Tue, Aug 02, 2016 at 01:59:13PM +0200, David Hildenbrand wrote:
[...]
> +CpuModelExpansionInfo *arch_query_cpu_model_expansion(CpuModelExpansionType
> type,
> + CpuModelInfo *model,
> + Error **errp)
> +{
> + CpuModelExpansionInfo *expansion_info = NULL;
> + S390CPUModel s390_model;
> + bool delta_changes = false;
> +
> + /* convert it to our internal representation */
> + cpu_model_from_info(&s390_model, model, errp);
> + if (*errp) {
> + return NULL;
> + }
> +
> + if (type == CPU_MODEL_EXPANSION_TYPE_STATIC) {
> + delta_changes = true;
> + }
This assumes the only valid values for type will always be
"static" and "full". I would check explicitly for
CPU_MODEL_EXPANSION_TYPE_STATIC and CPU_MODEL_EXPANSION_TYPE_FULL
and return an error otherwise, just in case CpuModelExpansionType
is extended to include other expansion modes in the future.
> +
> + /* convert it back to a static representation */
> + expansion_info = g_malloc0(sizeof(*expansion_info));
> + expansion_info->model = g_malloc0(sizeof(*expansion_info->model));
> + cpu_info_from_model(expansion_info->model, &s390_model, delta_changes);
> + return expansion_info;
> +}
> #endif
>
> static void check_consistency(const S390CPUModel *model)
> --
> 2.6.6
>
--
Eduardo