s390x/cpumodel: expose CPU class properties
Let's expose the description and migration safety and whether a definition is static, as class properties, this can be helpful in the future. Acked-by: Cornelia Huck <cornelia.huck@de.ibm.com> Signed-off-by: David Hildenbrand <dahi@linux.vnet.ibm.com> Message-Id: <20160905085244.99980-4-dahi@linux.vnet.ibm.com> Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
This commit is contained in:
parent
41868f846d
commit
6efadc9050
@ -445,6 +445,7 @@ static void s390_cpu_class_init(ObjectClass *oc, void *data)
|
|||||||
* object_unref().
|
* object_unref().
|
||||||
*/
|
*/
|
||||||
dc->cannot_destroy_with_object_finalize_yet = true;
|
dc->cannot_destroy_with_object_finalize_yet = true;
|
||||||
|
s390_cpu_model_class_register_props(oc);
|
||||||
}
|
}
|
||||||
|
|
||||||
static const TypeInfo s390_cpu_type_info = {
|
static const TypeInfo s390_cpu_type_info = {
|
||||||
|
@ -633,6 +633,7 @@ extern void subsystem_reset(void);
|
|||||||
|
|
||||||
void s390_cpu_list(FILE *f, fprintf_function cpu_fprintf);
|
void s390_cpu_list(FILE *f, fprintf_function cpu_fprintf);
|
||||||
#define cpu_list s390_cpu_list
|
#define cpu_list s390_cpu_list
|
||||||
|
void s390_cpu_model_class_register_props(ObjectClass *oc);
|
||||||
void s390_realize_cpu_model(CPUState *cs, Error **errp);
|
void s390_realize_cpu_model(CPUState *cs, Error **errp);
|
||||||
ObjectClass *s390_cpu_class_by_name(const char *name);
|
ObjectClass *s390_cpu_class_by_name(const char *name);
|
||||||
|
|
||||||
|
@ -110,6 +110,31 @@ static void s390_cpu_model_finalize(Object *obj)
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static bool get_is_migration_safe(Object *obj, Error **errp)
|
||||||
|
{
|
||||||
|
return S390_CPU_GET_CLASS(obj)->is_migration_safe;
|
||||||
|
}
|
||||||
|
|
||||||
|
static bool get_is_static(Object *obj, Error **errp)
|
||||||
|
{
|
||||||
|
return S390_CPU_GET_CLASS(obj)->is_static;
|
||||||
|
}
|
||||||
|
|
||||||
|
static char *get_description(Object *obj, Error **errp)
|
||||||
|
{
|
||||||
|
return g_strdup(S390_CPU_GET_CLASS(obj)->desc);
|
||||||
|
}
|
||||||
|
|
||||||
|
void s390_cpu_model_class_register_props(ObjectClass *oc)
|
||||||
|
{
|
||||||
|
object_class_property_add_bool(oc, "migration-safe", get_is_migration_safe,
|
||||||
|
NULL, NULL);
|
||||||
|
object_class_property_add_bool(oc, "static", get_is_static,
|
||||||
|
NULL, NULL);
|
||||||
|
object_class_property_add_str(oc, "description", get_description, NULL,
|
||||||
|
NULL);
|
||||||
|
}
|
||||||
|
|
||||||
#ifdef CONFIG_KVM
|
#ifdef CONFIG_KVM
|
||||||
static void s390_host_cpu_model_class_init(ObjectClass *oc, void *data)
|
static void s390_host_cpu_model_class_init(ObjectClass *oc, void *data)
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user