qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH v3] s390: return unavailable features via query-


From: David Hildenbrand
Subject: Re: [Qemu-devel] [PATCH v3] s390: return unavailable features via query-cpu-definitions
Date: Tue, 4 Jul 2017 11:35:09 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.1.0

> +
>  static void create_cpu_model_list(ObjectClass *klass, void *opaque)
>  {
> -    CpuDefinitionInfoList **cpu_list = opaque;
> +    struct CpuDefinitionInfoListData *cpu_list_data = opaque;
> +    CpuDefinitionInfoList **cpu_list = &cpu_list_data->list;
>      CpuDefinitionInfoList *entry;
>      CpuDefinitionInfo *info;
>      char *name = g_strdup(object_class_get_name(klass));
> @@ -300,7 +331,19 @@ static void create_cpu_model_list(ObjectClass *klass, 
> void *opaque)
>      info->migration_safe = scc->is_migration_safe;
>      info->q_static = scc->is_static;
>      info->q_typename = g_strdup(object_class_get_name(klass));
> -

Wonder if we should add the following:

/* the host model can never be used under TCG */
if (scc->kvm_required && !kvm_enabled())) {
    info->has_unavailable_features = true;
    list_add_feat("type", &info->unavailable_features);
} else if (cpu_list_data->model ...

> +    /* check for unavailable features */
> +    if (cpu_list_data->model) {
> +        Object *obj;
> +        S390CPU *sc;
> +        obj = object_new(object_class_get_name(klass));
> +        sc = S390_CPU(obj);

So we can drop the check here (if we have a host/max_model definition
under KVM, then all models have sc->model set). But the current code
should also work (it simply will not indicate runability information for
the "host" model under TCG, as sc->model will be NULL).

> +        if (sc->model) {
> +            info->has_unavailable_features = true;
> +            check_unavailable_features(cpu_list_data->model, sc->model,
> +                                       &info->unavailable_features);
> +        }
> +        object_unref(obj);
> +    }
>  
Looks good to me and produced the expected result under TCG.

Feel free to add my

Reviewed-by: David Hildenbrand <address@hidden>

with or without the modification.

-- 

Thanks,

David



reply via email to

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