mirror of https://github.com/xemu-project/xemu.git
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: David Hildenbrand <david@redhat.com> Message-Id: <20170913132417.24384-8-david@redhat.com> Reviewed-by: Thomas Huth <thuth@redhat.com> Signed-off-by: Cornelia Huck <cohuck@redhat.com>
This commit is contained in:
parent
19c69829d6
commit
ef2974cc27
|
@ -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 @@
|
||||||
#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 {
|
||||||
} S390CPUClass;
|
} S390CPUClass;
|
||||||
|
|
||||||
typedef struct S390CPU S390CPU;
|
typedef struct S390CPU S390CPU;
|
||||||
|
typedef struct CPUS390XState CPUS390XState;
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -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 {
|
||||||
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 {
|
||||||
/* 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 @@
|
||||||
#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 {
|
||||||
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 {
|
||||||
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
|
||||||
|
|
Loading…
Reference in New Issue