[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH for-2.8 12/38] s390x/cpumodel: expose CPU class prop
From: |
Cornelia Huck |
Subject: |
[Qemu-devel] [PATCH for-2.8 12/38] s390x/cpumodel: expose CPU class properties |
Date: |
Mon, 29 Aug 2016 13:45:04 +0200 |
From: David Hildenbrand <address@hidden>
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 <address@hidden>
Signed-off-by: David Hildenbrand <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Cornelia Huck <address@hidden>
---
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
- [Qemu-devel] [PATCH for-2.8 05/38] s390x: wrap flic savevm calls into vmstate, (continued)
- [Qemu-devel] [PATCH for-2.8 05/38] s390x: wrap flic savevm calls into vmstate, Cornelia Huck, 2016/08/29
- [Qemu-devel] [PATCH for-2.8 07/38] s390x/css: handle cssid 255 correctly, Cornelia Huck, 2016/08/29
- [Qemu-devel] [PATCH for-2.8 16/38] s390x/cpumodel: introduce CPU feature group definitions, Cornelia Huck, 2016/08/29
- [Qemu-devel] [PATCH for-2.8 01/38] s390x: add compat machine for 2.8, Cornelia Huck, 2016/08/29
- [Qemu-devel] [PATCH for-2.8 26/38] s390x/sclp: propagate the mha via sclp, Cornelia Huck, 2016/08/29
- [Qemu-devel] [PATCH for-2.8 17/38] s390x/cpumodel: register defined CPU models as subclasses, Cornelia Huck, 2016/08/29
- [Qemu-devel] [PATCH for-2.8 25/38] s390x/sclp: propagate the ibc val (lowest and unblocked ibc), Cornelia Huck, 2016/08/29
- [Qemu-devel] [PATCH for-2.8 21/38] s390x/cpumodel: check and apply the CPU model, Cornelia Huck, 2016/08/29
- [Qemu-devel] [PATCH for-2.8 06/38] s390x/ioinst: advertise fcs facility, Cornelia Huck, 2016/08/29
- [Qemu-devel] [PATCH for-2.8 38/38] s390x/cpumodel: implement QMP interface "query-cpu-model-baseline", Cornelia Huck, 2016/08/29
- [Qemu-devel] [PATCH for-2.8 12/38] s390x/cpumodel: expose CPU class properties,
Cornelia Huck <=
- [Qemu-devel] [PATCH for-2.8 20/38] s390x/cpumodel: let the CPU model handle feature checks, Cornelia Huck, 2016/08/29
- [Qemu-devel] [PATCH for-2.8 31/38] s390x/kvm: let the CPU model control CMM(A), Cornelia Huck, 2016/08/29
- [Qemu-devel] [PATCH for-2.8 09/38] s390x/kvm: 2 byte software breakpoint support, Cornelia Huck, 2016/08/29
- [Qemu-devel] [PATCH for-2.8 28/38] s390x/kvm: allow runtime-instrumentation for "none" machine, Cornelia Huck, 2016/08/29
- [Qemu-devel] [PATCH for-2.8 24/38] s390x/sclp: indicate sclp features, Cornelia Huck, 2016/08/29
- [Qemu-devel] [PATCH for-2.8 18/38] s390x/cpumodel: store the CPU model in the CPU instance, Cornelia Huck, 2016/08/29
- [Qemu-devel] [PATCH for-2.8 35/38] qmp: add QMP interface "query-cpu-model-baseline", Cornelia Huck, 2016/08/29
- [Qemu-devel] [PATCH for-2.8 27/38] s390x/sclp: propagate hmfai, Cornelia Huck, 2016/08/29
- [Qemu-devel] [PATCH for-2.8 36/38] s390x/cpumodel: implement QMP interface "query-cpu-model-expansion", Cornelia Huck, 2016/08/29
- [Qemu-devel] [PATCH for-2.8 29/38] s390x/kvm: implement CPU model support, Cornelia Huck, 2016/08/29