Commit 8ed877b7 authored by Eduardo Habkost's avatar Eduardo Habkost
Browse files

qmp: Report QOM type name on query-cpu-definitions



The new typename attribute on query-cpu-definitions will be used
to help management software use device-list-properties to check
which properties can be set using -cpu or -global for the CPU
model.

Signed-off-by: default avatarEduardo Habkost <ehabkost@redhat.com>
Message-Id: <1479320499-29818-1-git-send-email-ehabkost@redhat.com>
Reviewed-by: default avatarMarkus Armbruster <armbru@redhat.com>
Signed-off-by: default avatarEduardo Habkost <ehabkost@redhat.com>
parent cdda2018
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -3221,6 +3221,9 @@
# @unavailable-features: #optional List of properties that prevent
#                        the CPU model from running in the current
#                        host. (since 2.8)
# @typename: Type name that can be used as argument to @device-list-properties,
#            to introspect properties configurable using -cpu or -global.
#            (since 2.9)
#
# @unavailable-features is a list of QOM property names that
# represent CPU model attributes that prevent the CPU from running.
@@ -3242,7 +3245,7 @@
##
{ 'struct': 'CpuDefinitionInfo',
  'data': { 'name': 'str', '*migration-safe': 'bool', 'static': 'bool',
            '*unavailable-features': [ 'str' ] } }
            '*unavailable-features': [ 'str' ], 'typename': 'str' } }

##
# @query-cpu-definitions:
+1 −0
Original line number Diff line number Diff line
@@ -5214,6 +5214,7 @@ static void arm_cpu_add_definition(gpointer data, gpointer user_data)
    info = g_malloc0(sizeof(*info));
    info->name = g_strndup(typename,
                           strlen(typename) - strlen("-" TYPE_ARM_CPU));
    info->q_typename = g_strdup(typename);

    entry = g_malloc0(sizeof(*entry));
    entry->value = info;
+1 −0
Original line number Diff line number Diff line
@@ -2235,6 +2235,7 @@ static void x86_cpu_definition_entry(gpointer data, gpointer user_data)
    info->name = x86_cpu_class_get_model_name(cc);
    x86_cpu_class_check_missing_features(cc, &info->unavailable_features);
    info->has_unavailable_features = true;
    info->q_typename = g_strdup(object_class_get_name(oc));

    entry = g_malloc0(sizeof(*entry));
    entry->value = info;
+1 −0
Original line number Diff line number Diff line
@@ -10305,6 +10305,7 @@ CpuDefinitionInfoList *arch_query_cpu_definitions(Error **errp)

        info = g_malloc0(sizeof(*info));
        info->name = g_strdup(alias->alias);
        info->q_typename = g_strdup(object_class_get_name(oc));

        entry = g_malloc0(sizeof(*entry));
        entry->value = info;
+1 −0
Original line number Diff line number Diff line
@@ -290,6 +290,7 @@ static void create_cpu_model_list(ObjectClass *klass, void *opaque)
    info->has_migration_safe = true;
    info->migration_safe = scc->is_migration_safe;
    info->q_static = scc->is_static;
    info->q_typename = g_strdup(object_class_get_name(klass));


    entry = g_malloc0(sizeof(*entry));