On 22 July 2013 09:56, Jia Liu <pro...@gmail.com> wrote:
> Fix cpu_model by name, make any and or1200 works both OK.
>
> Signed-off-by: Jia Liu <pro...@gmail.com>
> ---
>  target-openrisc/cpu.c | 16 ++++++++++++----
>  1 file changed, 12 insertions(+), 4 deletions(-)
>
> diff --git a/target-openrisc/cpu.c b/target-openrisc/cpu.c
> index e348df0..6637166 100644
> --- a/target-openrisc/cpu.c
> +++ b/target-openrisc/cpu.c
> @@ -100,11 +100,19 @@ static ObjectClass *openrisc_cpu_class_by_name(const 
> char *cpu_model)
>      typename = g_strdup_printf("%s-" TYPE_OPENRISC_CPU, cpu_model);
>      oc = object_class_by_name(typename);
>      g_free(typename);
> -    if (oc != NULL && (!object_class_dynamic_cast(oc, TYPE_OPENRISC_CPU) ||
> -                       object_class_is_abstract(oc))) {
> -        return NULL;
> +
> +    if (oc != NULL && object_class_dynamic_cast(oc, TYPE_OPENRISC_CPU) != 
> NULL
> +        && !object_class_is_abstract(oc)) {
> +        return oc;
>      }
> -    return oc;
> +
> +    oc = object_class_by_name(cpu_model);
> +    if (oc != NULL && object_class_dynamic_cast(oc, TYPE_OPENRISC_CPU) != 
> NULL
> +        && !object_class_is_abstract(oc)) {
> +        return oc;
> +    }
> +
> +    return NULL;
>  }

This looks a bit odd. The commit message suggests it's an
attempt to fix the bug that was fixed by commit 071b3364e --
is it really needed? Andreas?

thanks
-- PMM

Reply via email to