提交 ef2974cc 编写于 作者: D David Hildenbrand 提交者: Cornelia Huck

target/s390x: move some s390x typedefs to cpu-qom.h

This allows us to drop inclusion of cpu_models.h in cpu-qom.h, and
prepares for using cpu-qom.h as a s390 specific version of typedefs.h
Signed-off-by: NDavid Hildenbrand <david@redhat.com>
Message-Id: <20170913132417.24384-8-david@redhat.com>
Reviewed-by: NThomas Huth <thuth@redhat.com>
Signed-off-by: NCornelia Huck <cohuck@redhat.com>
上级 19c69829
...@@ -21,7 +21,6 @@ ...@@ -21,7 +21,6 @@
#define QEMU_S390_CPU_QOM_H #define QEMU_S390_CPU_QOM_H
#include "qom/cpu.h" #include "qom/cpu.h"
#include "cpu_models.h"
#define TYPE_S390_CPU "s390-cpu" #define TYPE_S390_CPU "s390-cpu"
...@@ -32,6 +31,9 @@ ...@@ -32,6 +31,9 @@
#define S390_CPU_GET_CLASS(obj) \ #define S390_CPU_GET_CLASS(obj) \
OBJECT_GET_CLASS(S390CPUClass, (obj), TYPE_S390_CPU) OBJECT_GET_CLASS(S390CPUClass, (obj), TYPE_S390_CPU)
typedef struct S390CPUModel S390CPUModel;
typedef struct S390CPUDef S390CPUDef;
/** /**
* S390CPUClass: * S390CPUClass:
* @parent_realize: The parent class' realize handler. * @parent_realize: The parent class' realize handler.
...@@ -62,5 +64,6 @@ typedef struct S390CPUClass { ...@@ -62,5 +64,6 @@ typedef struct S390CPUClass {
} S390CPUClass; } S390CPUClass;
typedef struct S390CPU S390CPU; typedef struct S390CPU S390CPU;
typedef struct CPUS390XState CPUS390XState;
#endif #endif
...@@ -25,6 +25,7 @@ ...@@ -25,6 +25,7 @@
#include "qemu-common.h" #include "qemu-common.h"
#include "cpu-qom.h" #include "cpu-qom.h"
#include "cpu_models.h"
#define TARGET_LONG_BITS 64 #define TARGET_LONG_BITS 64
...@@ -80,7 +81,7 @@ typedef struct MchkQueue { ...@@ -80,7 +81,7 @@ typedef struct MchkQueue {
uint16_t type; uint16_t type;
} MchkQueue; } MchkQueue;
typedef struct CPUS390XState { struct CPUS390XState {
uint64_t regs[16]; /* GP registers */ uint64_t regs[16]; /* GP registers */
/* /*
* The floating point registers are part of the vector registers. * The floating point registers are part of the vector registers.
...@@ -174,7 +175,7 @@ typedef struct CPUS390XState { ...@@ -174,7 +175,7 @@ typedef struct CPUS390XState {
/* currently processed sigp order */ /* currently processed sigp order */
uint8_t sigp_order; uint8_t sigp_order;
} CPUS390XState; };
static inline CPU_DoubleU *get_freg(CPUS390XState *cs, int nr) static inline CPU_DoubleU *get_freg(CPUS390XState *cs, int nr)
{ {
......
...@@ -17,7 +17,7 @@ ...@@ -17,7 +17,7 @@
#include "qom/cpu.h" #include "qom/cpu.h"
/* static CPU definition */ /* static CPU definition */
typedef struct S390CPUDef { struct S390CPUDef {
const char *name; /* name exposed to the user */ const char *name; /* name exposed to the user */
const char *desc; /* description exposed to the user */ const char *desc; /* description exposed to the user */
uint8_t gen; /* hw generation identification */ uint8_t gen; /* hw generation identification */
...@@ -37,10 +37,10 @@ typedef struct S390CPUDef { ...@@ -37,10 +37,10 @@ typedef struct S390CPUDef {
S390FeatBitmap full_feat; S390FeatBitmap full_feat;
/* used to init full_feat from generated data */ /* used to init full_feat from generated data */
S390FeatInit full_init; S390FeatInit full_init;
} S390CPUDef; };
/* CPU model based on a CPU definition */ /* CPU model based on a CPU definition */
typedef struct S390CPUModel { struct S390CPUModel {
const S390CPUDef *def; const S390CPUDef *def;
S390FeatBitmap features; S390FeatBitmap features;
/* values copied from the "host" model, can change during migration */ /* values copied from the "host" model, can change during migration */
...@@ -48,7 +48,7 @@ typedef struct S390CPUModel { ...@@ -48,7 +48,7 @@ typedef struct S390CPUModel {
uint32_t cpu_id; /* CPU id */ uint32_t cpu_id; /* CPU id */
uint8_t cpu_id_format; /* CPU id format bit */ uint8_t cpu_id_format; /* CPU id format bit */
uint8_t cpu_ver; /* CPU version, usually "ff" for kvm */ uint8_t cpu_ver; /* CPU version, usually "ff" for kvm */
} S390CPUModel; };
/* /*
* CPU ID * CPU ID
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册