Skip to content

Commit

Permalink
cpu: Define CPUArchState with typedef
Browse files Browse the repository at this point in the history
For all targets, do this just before including exec/cpu-all.h.

Reviewed-by: Peter Maydell <[email protected]>
Acked-by: Alistair Francis <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>
  • Loading branch information
rth7680 committed Jun 10, 2019
1 parent a40ec84 commit 4f7c64b
Show file tree
Hide file tree
Showing 21 changed files with 43 additions and 53 deletions.
4 changes: 2 additions & 2 deletions target/alpha/cpu.h
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,6 @@

#define ALIGNED_ONLY

#define CPUArchState struct CPUAlphaState

/* Alpha processors have a weak memory model */
#define TCG_GUEST_DEFAULT_MO (0)

Expand Down Expand Up @@ -306,6 +304,8 @@ void alpha_cpu_do_unaligned_access(CPUState *cpu, vaddr addr,
#define cpu_list alpha_cpu_list
#define cpu_signal_handler cpu_alpha_signal_handler

typedef CPUAlphaState CPUArchState;

#include "exec/cpu-all.h"

enum {
Expand Down
4 changes: 2 additions & 2 deletions target/arm/cpu.h
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,6 @@
/* ARM processors have a weak memory model */
#define TCG_GUEST_DEFAULT_MO (0)

#define CPUArchState struct CPUARMState

#define EXCP_UDEF 1 /* undefined instruction */
#define EXCP_SWI 2 /* software interrupt */
#define EXCP_PREFETCH_ABORT 3
Expand Down Expand Up @@ -3127,6 +3125,8 @@ static inline bool arm_cpu_data_is_big_endian(CPUARMState *env)
}
}

typedef CPUARMState CPUArchState;

#include "exec/cpu-all.h"

/* Bit usage in the TB flags field: bit 31 indicates whether we are
Expand Down
4 changes: 2 additions & 2 deletions target/cris/cpu.h
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,6 @@
#include "cpu-qom.h"
#include "exec/cpu-defs.h"

#define CPUArchState struct CPUCRISState

#define EXCP_NMI 1
#define EXCP_GURU 2
#define EXCP_BUSFAULT 3
Expand Down Expand Up @@ -286,6 +284,8 @@ bool cris_cpu_tlb_fill(CPUState *cs, vaddr address, int size,
#define SFR_RW_MM_TLB_LO env->pregs[PR_SRS]][5
#define SFR_RW_MM_TLB_HI env->pregs[PR_SRS]][6

typedef CPUCRISState CPUArchState;

#include "exec/cpu-all.h"

static inline void cpu_get_tb_cpu_state(CPUCRISState *env, target_ulong *pc,
Expand Down
4 changes: 2 additions & 2 deletions target/hppa/cpu.h
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,6 @@
basis. It's probably easier to fall back to a strong memory model. */
#define TCG_GUEST_DEFAULT_MO TCG_MO_ALL

#define CPUArchState struct CPUHPPAState

#define ALIGNED_ONLY
#define MMU_KERNEL_IDX 0
#define MMU_USER_IDX 3
Expand Down Expand Up @@ -232,6 +230,8 @@ static inline HPPACPU *hppa_env_get_cpu(CPUHPPAState *env)
#define ENV_GET_CPU(e) CPU(hppa_env_get_cpu(e))
#define ENV_OFFSET offsetof(HPPACPU, env)

typedef CPUHPPAState CPUArchState;

#include "exec/cpu-all.h"

static inline int cpu_mmu_index(CPUHPPAState *env, bool ifetch)
Expand Down
5 changes: 2 additions & 3 deletions target/i386/cpu.h
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@

/*
* i386 virtual CPU header
*
Expand Down Expand Up @@ -44,8 +43,6 @@
#define ELF_MACHINE_UNAME "i686"
#endif

#define CPUArchState struct CPUX86State

enum {
R_EAX = 0,
R_ECX = 1,
Expand Down Expand Up @@ -1755,6 +1752,8 @@ static inline target_long lshift(target_long x, int n)
/* translate.c */
void tcg_x86_init(void);

typedef CPUX86State CPUArchState;

#include "exec/cpu-all.h"
#include "svm.h"

Expand Down
5 changes: 2 additions & 3 deletions target/lm32/cpu.h
Original file line number Diff line number Diff line change
Expand Up @@ -24,9 +24,6 @@
#include "cpu-qom.h"
#include "exec/cpu-defs.h"

#define CPUArchState struct CPULM32State

struct CPULM32State;
typedef struct CPULM32State CPULM32State;

static inline int cpu_mmu_index(CPULM32State *env, bool ifetch)
Expand Down Expand Up @@ -259,6 +256,8 @@ bool lm32_cpu_tlb_fill(CPUState *cs, vaddr address, int size,
MMUAccessType access_type, int mmu_idx,
bool probe, uintptr_t retaddr);

typedef CPULM32State CPUArchState;

#include "exec/cpu-all.h"

static inline void cpu_get_tb_cpu_state(CPULM32State *env, target_ulong *pc,
Expand Down
4 changes: 2 additions & 2 deletions target/m68k/cpu.h
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,6 @@
#include "exec/cpu-defs.h"
#include "cpu-qom.h"

#define CPUArchState struct CPUM68KState

#define OS_BYTE 0
#define OS_WORD 1
#define OS_LONG 2
Expand Down Expand Up @@ -538,6 +536,8 @@ void m68k_cpu_transaction_failed(CPUState *cs, hwaddr physaddr, vaddr addr,
int mmu_idx, MemTxAttrs attrs,
MemTxResult response, uintptr_t retaddr);

typedef CPUM68KState CPUArchState;

#include "exec/cpu-all.h"

/* TB flags */
Expand Down
5 changes: 2 additions & 3 deletions target/microblaze/cpu.h
Original file line number Diff line number Diff line change
Expand Up @@ -25,9 +25,6 @@
#include "exec/cpu-defs.h"
#include "fpu/softfloat-types.h"

#define CPUArchState struct CPUMBState

struct CPUMBState;
typedef struct CPUMBState CPUMBState;
#if !defined(CONFIG_USER_ONLY)
#include "mmu.h"
Expand Down Expand Up @@ -368,6 +365,8 @@ bool mb_cpu_tlb_fill(CPUState *cs, vaddr address, int size,
MMUAccessType access_type, int mmu_idx,
bool probe, uintptr_t retaddr);

typedef CPUMBState CPUArchState;

#include "exec/cpu-all.h"

static inline void cpu_get_tb_cpu_state(CPUMBState *env, target_ulong *pc,
Expand Down
6 changes: 2 additions & 4 deletions target/mips/cpu.h
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,6 @@

#define ALIGNED_ONLY

#define CPUArchState struct CPUMIPSState

#include "qemu-common.h"
#include "cpu-qom.h"
#include "exec/cpu-defs.h"
Expand All @@ -13,8 +11,6 @@

#define TCG_GUEST_DEFAULT_MO (0)

struct CPUMIPSState;

typedef struct CPUMIPSTLBContext CPUMIPSTLBContext;

/* MSA Context */
Expand Down Expand Up @@ -1116,6 +1112,8 @@ static inline int cpu_mmu_index(CPUMIPSState *env, bool ifetch)
return hflags_mmu_index(env->hflags);
}

typedef CPUMIPSState CPUArchState;

#include "exec/cpu-all.h"

/*
Expand Down
4 changes: 2 additions & 2 deletions target/moxie/cpu.h
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,6 @@
#include "qemu-common.h"
#include "exec/cpu-defs.h"

#define CPUArchState struct CPUMoxieState

#define MOXIE_EX_DIV0 0
#define MOXIE_EX_BAD 1
#define MOXIE_EX_IRQ 2
Expand Down Expand Up @@ -119,6 +117,8 @@ static inline int cpu_mmu_index(CPUMoxieState *env, bool ifetch)
return 0;
}

typedef CPUMoxieState CPUArchState;

#include "exec/cpu-all.h"

static inline void cpu_get_tb_cpu_state(CPUMoxieState *env, target_ulong *pc,
Expand Down
5 changes: 2 additions & 3 deletions target/nios2/cpu.h
Original file line number Diff line number Diff line change
Expand Up @@ -25,9 +25,6 @@
#include "exec/cpu-defs.h"
#include "qom/cpu.h"

#define CPUArchState struct CPUNios2State

struct CPUNios2State;
typedef struct CPUNios2State CPUNios2State;
#if !defined(CONFIG_USER_ONLY)
#include "mmu.h"
Expand Down Expand Up @@ -249,6 +246,8 @@ static inline int cpu_interrupts_enabled(CPUNios2State *env)
return env->regs[CR_STATUS] & CR_STATUS_PIE;
}

typedef CPUNios2State CPUArchState;

#include "exec/cpu-all.h"

static inline void cpu_get_tb_cpu_state(CPUNios2State *env, target_ulong *pc,
Expand Down
4 changes: 2 additions & 2 deletions target/openrisc/cpu.h
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,6 @@
#include "exec/cpu-defs.h"
#include "qom/cpu.h"

#define CPUArchState struct CPUOpenRISCState

/* cpu_openrisc_map_address_* in CPUOpenRISCTLBContext need this decl. */
struct OpenRISCCPU;

Expand Down Expand Up @@ -365,6 +363,8 @@ void cpu_openrisc_count_stop(OpenRISCCPU *cpu);
#define OPENRISC_CPU_TYPE_NAME(model) model OPENRISC_CPU_TYPE_SUFFIX
#define CPU_RESOLVING_TYPE TYPE_OPENRISC_CPU

typedef CPUOpenRISCState CPUArchState;

#include "exec/cpu-all.h"

#define TB_FLAGS_SM SR_SM
Expand Down
4 changes: 2 additions & 2 deletions target/ppc/cpu.h
Original file line number Diff line number Diff line change
Expand Up @@ -34,8 +34,6 @@
#define TARGET_PAGE_BITS_64K 16
#define TARGET_PAGE_BITS_16M 24

#define CPUArchState struct CPUPPCState

#if defined(TARGET_PPC64)
#define PPC_ELF_MACHINE EM_PPC64
#else
Expand Down Expand Up @@ -1377,6 +1375,8 @@ void ppc_compat_add_property(Object *obj, const char *name,
Error **errp);
#endif /* defined(TARGET_PPC64) */

typedef CPUPPCState CPUArchState;

#include "exec/cpu-all.h"

/*****************************************************************************/
Expand Down
4 changes: 2 additions & 2 deletions target/riscv/cpu.h
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,6 @@

#define TCG_GUEST_DEFAULT_MO 0

#define CPUArchState struct CPURISCVState

#define TYPE_RISCV_CPU "riscv-cpu"

#define RISCV_CPU_TYPE_SUFFIX "-" TYPE_RISCV_CPU
Expand Down Expand Up @@ -336,6 +334,8 @@ void riscv_set_csr_ops(int csrno, riscv_csr_operations *ops);

void riscv_cpu_register_gdb_regs_for_features(CPUState *cs);

typedef CPURISCVState CPUArchState;

#include "exec/cpu-all.h"

#endif /* RISCV_CPU_H */
8 changes: 4 additions & 4 deletions target/s390x/cpu.h
Original file line number Diff line number Diff line change
Expand Up @@ -28,13 +28,9 @@

#define ELF_MACHINE_UNAME "S390X"

#define CPUArchState struct CPUS390XState

/* The z/Architecture has a strong memory model with some store-after-load re-ordering */
#define TCG_GUEST_DEFAULT_MO (TCG_MO_ALL & ~TCG_MO_ST_LD)

#include "exec/cpu-all.h"

#define TARGET_INSN_START_EXTRA_WORDS 1

#define MMU_MODE0_SUFFIX _primary
Expand Down Expand Up @@ -798,4 +794,8 @@ void s390_init_sigp(void);
/* outside of target/s390x/ */
S390CPU *s390_cpu_addr2state(uint16_t cpu_addr);

typedef CPUS390XState CPUArchState;

#include "exec/cpu-all.h"

#endif
4 changes: 2 additions & 2 deletions target/sh4/cpu.h
Original file line number Diff line number Diff line change
Expand Up @@ -36,8 +36,6 @@
#define SH_CPU_SH7750_ALL (SH_CPU_SH7750 | SH_CPU_SH7750S | SH_CPU_SH7750R)
#define SH_CPU_SH7751_ALL (SH_CPU_SH7751 | SH_CPU_SH7751R)

#define CPUArchState struct CPUSH4State

#define SR_MD 30
#define SR_RB 29
#define SR_BL 28
Expand Down Expand Up @@ -282,6 +280,8 @@ static inline int cpu_mmu_index (CPUSH4State *env, bool ifetch)
}
}

typedef CPUSH4State CPUArchState;

#include "exec/cpu-all.h"

/* Memory access type */
Expand Down
4 changes: 2 additions & 2 deletions target/sparc/cpu.h
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,6 @@
#define TARGET_DPREGS 32
#endif

#define CPUArchState struct CPUSPARCState

/*#define EXCP_INTERRUPT 0x100*/

/* trap definitions */
Expand Down Expand Up @@ -731,6 +729,8 @@ static inline int cpu_pil_allowed(CPUSPARCState *env1, int pil)
#endif
}

typedef CPUSPARCState CPUArchState;

#include "exec/cpu-all.h"

#ifdef TARGET_SPARC64
Expand Down
4 changes: 2 additions & 2 deletions target/tilegx/cpu.h
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,6 @@
#include "qemu-common.h"
#include "exec/cpu-defs.h"

#define CPUArchState struct CPUTLGState

/* TILE-Gx common register alias */
#define TILEGX_R_RE 0 /* 0 register, for function/syscall return value */
#define TILEGX_R_ERR 1 /* 1 register, for syscall errno flag */
Expand Down Expand Up @@ -152,6 +150,8 @@ static inline TileGXCPU *tilegx_env_get_cpu(CPUTLGState *env)
/* TILE-Gx memory attributes */
#define MMU_USER_IDX 0 /* Current memory operation is in user mode */

typedef CPUTLGState CPUArchState;

#include "exec/cpu-all.h"

void tilegx_tcg_init(void);
Expand Down
6 changes: 1 addition & 5 deletions target/tricore/cpu.h
Original file line number Diff line number Diff line change
Expand Up @@ -25,10 +25,6 @@
#include "exec/cpu-defs.h"
#include "tricore-defs.h"

#define CPUArchState struct CPUTriCoreState

struct CPUTriCoreState;

struct tricore_boot_info;

typedef struct tricore_def_t tricore_def_t;
Expand Down Expand Up @@ -382,7 +378,7 @@ static inline int cpu_mmu_index(CPUTriCoreState *env, bool ifetch)
return 0;
}


typedef CPUTriCoreState CPUArchState;

#include "exec/cpu-all.h"

Expand Down
4 changes: 2 additions & 2 deletions target/unicore32/cpu.h
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,6 @@
#include "cpu-qom.h"
#include "exec/cpu-defs.h"

#define CPUArchState struct CPUUniCore32State

typedef struct CPUUniCore32State {
/* Regs for current mode. */
uint32_t regs[32];
Expand Down Expand Up @@ -153,6 +151,8 @@ static inline int cpu_mmu_index(CPUUniCore32State *env, bool ifetch)
return (env->uncached_asr & ASR_M) == ASR_MODE_USER ? 1 : 0;
}

typedef CPUUniCore32State CPUArchState;

#include "exec/cpu-all.h"

#define UNICORE32_CPU_TYPE_SUFFIX "-" TYPE_UNICORE32_CPU
Expand Down
Loading

0 comments on commit 4f7c64b

Please sign in to comment.