diff options
author | David Hildenbrand | 2016-09-05 10:52:22 +0200 |
---|---|---|
committer | Cornelia Huck | 2016-09-06 17:06:49 +0200 |
commit | 6c064de1e08f425e2852ea9b38ea0723994aa4fd (patch) | |
tree | 9a4c3edb47dc105fea65b26275cfc4efbe7b1ca1 /target-s390x/cpu-qom.h | |
parent | s390x/cpumodel: introduce CPU feature group definitions (diff) | |
download | qemu-6c064de1e08f425e2852ea9b38ea0723994aa4fd.tar.gz qemu-6c064de1e08f425e2852ea9b38ea0723994aa4fd.tar.xz qemu-6c064de1e08f425e2852ea9b38ea0723994aa4fd.zip |
s390x/cpumodel: register defined CPU models as subclasses
This patch adds the CPU model definitions that are known on s390x -
like z900, zBC12 or z13. For each definition, introduce two CPU models:
1. Base model (e.g. z13-base): Minimum feature set we expect to be around
on all z13 systems. These models are migration-safe and will never
change.
2. Flexible models (e.g. z13): Models that can change between QEMU versions
and will be extended over time as we implement further features that
are already part of such a model in real hardware of certain
configurations.
We want to work on features using ordinary bitmap operations, however we
can't initialize a bitmap statically (unsigned long[] ...). Therefore we
store the generated feature lists in separate arrays and convert them to
proper bitmaps before registering all our CPU model classes.
Acked-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: David Hildenbrand <dahi@linux.vnet.ibm.com>
Message-Id: <20160905085244.99980-9-dahi@linux.vnet.ibm.com>
Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Diffstat (limited to 'target-s390x/cpu-qom.h')
-rw-r--r-- | target-s390x/cpu-qom.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/target-s390x/cpu-qom.h b/target-s390x/cpu-qom.h index bb993d47f2..4e936e7788 100644 --- a/target-s390x/cpu-qom.h +++ b/target-s390x/cpu-qom.h @@ -21,6 +21,7 @@ #define QEMU_S390_CPU_QOM_H #include "qom/cpu.h" +#include "cpu_models.h" #define TYPE_S390_CPU "s390-cpu" @@ -45,6 +46,7 @@ typedef struct S390CPUClass { /*< private >*/ CPUClass parent_class; /*< public >*/ + const S390CPUDef *cpu_def; bool kvm_required; bool is_static; bool is_migration_safe; |