From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:38874) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bhB6N-0001JT-U1 for qemu-devel@nongnu.org; Tue, 06 Sep 2016 03:47:35 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bhB6I-0002E1-Cu for qemu-devel@nongnu.org; Tue, 06 Sep 2016 03:47:26 -0400 Received: from mx0b-001b2d01.pphosted.com ([148.163.158.5]:45937 helo=mx0a-001b2d01.pphosted.com) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bhB6I-0002Dt-8B for qemu-devel@nongnu.org; Tue, 06 Sep 2016 03:47:22 -0400 Received: from pps.filterd (m0098420.ppops.net [127.0.0.1]) by mx0b-001b2d01.pphosted.com (8.16.0.17/8.16.0.17) with SMTP id u867gUPS136806 for ; Tue, 6 Sep 2016 03:47:21 -0400 Received: from e06smtp06.uk.ibm.com (e06smtp06.uk.ibm.com [195.75.94.102]) by mx0b-001b2d01.pphosted.com with ESMTP id 259s8rs80c-1 (version=TLSv1.2 cipher=AES256-SHA bits=256 verify=NOT) for ; Tue, 06 Sep 2016 03:47:21 -0400 Received: from localhost by e06smtp06.uk.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Tue, 6 Sep 2016 08:47:20 +0100 Received: from b06cxnps4076.portsmouth.uk.ibm.com (d06relay13.portsmouth.uk.ibm.com [9.149.109.198]) by d06dlp03.portsmouth.uk.ibm.com (Postfix) with ESMTP id 17D081B0806E for ; Tue, 6 Sep 2016 08:49:02 +0100 (BST) Received: from d06av06.portsmouth.uk.ibm.com (d06av06.portsmouth.uk.ibm.com [9.149.37.217]) by b06cxnps4076.portsmouth.uk.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id u867lGtY64094228 for ; Tue, 6 Sep 2016 07:47:17 GMT Received: from d06av06.portsmouth.uk.ibm.com (localhost [127.0.0.1]) by d06av06.portsmouth.uk.ibm.com (8.14.4/8.14.4/NCO v10.0 AVout) with ESMTP id u867lF8w013534 for ; Tue, 6 Sep 2016 03:47:16 -0400 From: Cornelia Huck Date: Tue, 6 Sep 2016 09:46:44 +0200 In-Reply-To: <20160906074710.13495-1-cornelia.huck@de.ibm.com> References: <20160906074710.13495-1-cornelia.huck@de.ibm.com> Message-Id: <20160906074710.13495-13-cornelia.huck@de.ibm.com> Subject: [Qemu-devel] [PULL 12/38] s390x/cpumodel: expose CPU class properties List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: peter.maydell@linaro.org Cc: borntraeger@de.ibm.com, agraf@suse.de, jfrei@linux.vnet.ibm.com, qemu-devel@nongnu.org, David Hildenbrand , Cornelia Huck From: David Hildenbrand 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 Signed-off-by: David Hildenbrand Message-Id: <20160905085244.99980-4-dahi@linux.vnet.ibm.com> Signed-off-by: Cornelia Huck --- target-s390x/cpu.c | 1 + target-s390x/cpu.h | 1 + target-s390x/cpu_models.c | 25 +++++++++++++++++++++++++ 3 files changed, 27 insertions(+) diff --git a/target-s390x/cpu.c b/target-s390x/cpu.c index 44e53ec..d7d0b62 100644 --- a/target-s390x/cpu.c +++ b/target-s390x/cpu.c @@ -445,6 +445,7 @@ static void s390_cpu_class_init(ObjectClass *oc, void *data) * object_unref(). */ dc->cannot_destroy_with_object_finalize_yet = true; + s390_cpu_model_class_register_props(oc); } static const TypeInfo s390_cpu_type_info = { diff --git a/target-s390x/cpu.h b/target-s390x/cpu.h index 0ea9321..4f14632 100644 --- a/target-s390x/cpu.h +++ b/target-s390x/cpu.h @@ -633,6 +633,7 @@ extern void subsystem_reset(void); void s390_cpu_list(FILE *f, fprintf_function cpu_fprintf); #define cpu_list s390_cpu_list +void s390_cpu_model_class_register_props(ObjectClass *oc); void s390_realize_cpu_model(CPUState *cs, Error **errp); ObjectClass *s390_cpu_class_by_name(const char *name); diff --git a/target-s390x/cpu_models.c b/target-s390x/cpu_models.c index 01f442c..7b887f7 100644 --- a/target-s390x/cpu_models.c +++ b/target-s390x/cpu_models.c @@ -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 static void s390_host_cpu_model_class_init(ObjectClass *oc, void *data) { -- 2.9.3