From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:50944) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bWmYV-0001XF-1Z for qemu-devel@nongnu.org; Mon, 08 Aug 2016 11:33:33 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bWmYP-0005Ae-3A for qemu-devel@nongnu.org; Mon, 08 Aug 2016 11:33:30 -0400 Received: from mx0b-001b2d01.pphosted.com ([148.163.158.5]:17255 helo=mx0a-001b2d01.pphosted.com) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bWmYO-00059b-UW for qemu-devel@nongnu.org; Mon, 08 Aug 2016 11:33:25 -0400 Received: from pps.filterd (m0098413.ppops.net [127.0.0.1]) by mx0b-001b2d01.pphosted.com (8.16.0.11/8.16.0.11) with SMTP id u78FOfdN063190 for ; Mon, 8 Aug 2016 11:33:24 -0400 Received: from e06smtp12.uk.ibm.com (e06smtp12.uk.ibm.com [195.75.94.108]) by mx0b-001b2d01.pphosted.com with ESMTP id 24na1wg790-1 (version=TLSv1.2 cipher=AES256-SHA bits=256 verify=NOT) for ; Mon, 08 Aug 2016 11:33:24 -0400 Received: from localhost by e06smtp12.uk.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Mon, 8 Aug 2016 16:33:22 +0100 Received: from b06cxnps4076.portsmouth.uk.ibm.com (d06relay13.portsmouth.uk.ibm.com [9.149.109.198]) by d06dlp02.portsmouth.uk.ibm.com (Postfix) with ESMTP id BD770219005E for ; Mon, 8 Aug 2016 16:32:45 +0100 (BST) Received: from d06av02.portsmouth.uk.ibm.com (d06av02.portsmouth.uk.ibm.com [9.149.37.228]) by b06cxnps4076.portsmouth.uk.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id u78FXKSD6750522 for ; Mon, 8 Aug 2016 15:33:20 GMT Received: from d06av02.portsmouth.uk.ibm.com (localhost [127.0.0.1]) by d06av02.portsmouth.uk.ibm.com (8.14.4/8.14.4/NCO v10.0 AVout) with ESMTP id u78FXK9d032283 for ; Mon, 8 Aug 2016 09:33:20 -0600 From: David Hildenbrand Date: Mon, 8 Aug 2016 17:32:32 +0200 In-Reply-To: <1470670378-53732-1-git-send-email-dahi@linux.vnet.ibm.com> References: <1470670378-53732-1-git-send-email-dahi@linux.vnet.ibm.com> Message-Id: <1470670378-53732-4-git-send-email-dahi@linux.vnet.ibm.com> Subject: [Qemu-devel] [Patch v2 03/29] s390x/cpumodel: expose CPU class properties List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: ehabkost@redhat.com, jdenemar@redhat.com, imammedo@redhat.com, cornelia.huck@de.ibm.com, borntraeger@de.ibm.com, fiuczy@linux.vnet.ibm.com, mimu@linux.vnet.ibm.com 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 --- 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 e34742e..075bb37 100644 --- a/target-s390x/cpu.h +++ b/target-s390x/cpu.h @@ -631,6 +631,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.6.6