qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 01/23] target-i386: return Error from cpu_x86_fi


From: Andreas Färber
Subject: Re: [Qemu-devel] [PATCH 01/23] target-i386: return Error from cpu_x86_find_by_name()
Date: Wed, 10 Oct 2012 16:05:10 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:15.0) Gecko/20120825 Thunderbird/15.0

Am 02.10.2012 17:36, schrieb Igor Mammedov:
> it will allow to use property setters there later.
> 
> Signed-off-by: Igor Mammedov <address@hidden>
> Reviewed-by: Don Slutz <address@hidden>
> Reviewed-by: Eduardo Habkost <address@hidden>
> --
> v2:
>     - style change, add braces (reqested by Blue Swirl)
>     - removed unused error_is_set(errp) in properties set loop
> ---
>  target-i386/cpu.c |   15 ++++++++++++---
>  1 files changed, 12 insertions(+), 3 deletions(-)
> 
> diff --git a/target-i386/cpu.c b/target-i386/cpu.c
> index bb1e44e..e1ffa40 100644
> --- a/target-i386/cpu.c
> +++ b/target-i386/cpu.c
> @@ -1097,7 +1097,8 @@ static void x86_cpuid_set_tsc_freq(Object *obj, Visitor 
> *v, void *opaque,
>      cpu->env.tsc_khz = value / 1000;
>  }
>  
> -static int cpu_x86_find_by_name(x86_def_t *x86_cpu_def, const char 
> *cpu_model)
> +static int cpu_x86_find_by_name(X86CPU *cpu, x86_def_t *x86_cpu_def,
> +                                const char *cpu_model, Error **errp)
>  {
>      unsigned int i;
>      x86_def_t *def;

> @@ -1254,6 +1255,7 @@ static int cpu_x86_find_by_name(x86_def_t *x86_cpu_def, 
> const char *cpu_model)
>              fprintf(stderr, "feature string `%s' not in format 
> (+feature|-feature|feature=xyz)\n", featurestr);
>              goto error;
>          }
> +
>          featurestr = strtok(NULL, ",");
>      }
>      x86_cpu_def->features |= plus_features;

Disconnected whitespace change.

> @@ -1282,6 +1284,9 @@ static int cpu_x86_find_by_name(x86_def_t *x86_cpu_def, 
> const char *cpu_model)
>  
>  error:
>      g_free(s);
> +    if (!error_is_set(errp)) {
> +        error_set(errp, QERR_INVALID_PARAMETER_COMBINATION);

Note to self: error_set() checks for errp being NULL, so the use of
!error_is_set() logic seems fine.

QERR_ alarm - acceptable use? Or better use error_setg() or something?

Otherwise looks okay to me, I could drop the whitespace hunk myself.

Andreas

> +    }
>      return -1;
>  }
>  
> @@ -1368,8 +1373,10 @@ int cpu_x86_register(X86CPU *cpu, const char 
> *cpu_model)
>  
>      memset(def, 0, sizeof(*def));
>  
> -    if (cpu_x86_find_by_name(def, cpu_model) < 0)
> -        return -1;
> +    if (cpu_x86_find_by_name(cpu, def, cpu_model, &error) < 0) {
> +        goto out;
> +    }
> +
>      if (def->vendor1) {
>          env->cpuid_vendor1 = def->vendor1;
>          env->cpuid_vendor2 = def->vendor2;
> @@ -1419,6 +1426,8 @@ int cpu_x86_register(X86CPU *cpu, const char *cpu_model)
>          env->cpuid_svm_features &= TCG_SVM_FEATURES;
>      }
>      object_property_set_str(OBJECT(cpu), def->model_id, "model-id", &error);
> +
> +out:
>      if (error_is_set(&error)) {
>          error_free(error);
>          return -1;
> 


-- 
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg



reply via email to

[Prev in Thread] Current Thread [Next in Thread]