Skip to content

Commit

Permalink
target-arm: Extract the disas struct to a header file
Browse files Browse the repository at this point in the history
We will need to share the disassembly status struct between AArch32 and
AArch64 modes. So put it into a header file that both sides can use.

Signed-off-by: Alexander Graf <[email protected]>
Signed-off-by: John Rigby <[email protected]>
Signed-off-by: Peter Maydell <[email protected]>
Message-id: [email protected]
Message-id: [email protected]
Signed-off-by: Peter Maydell <[email protected]>
  • Loading branch information
agraf authored and pm215 committed Sep 10, 2013
1 parent 0830756 commit f570c61
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 23 deletions.
24 changes: 1 addition & 23 deletions target-arm/translate.c
Original file line number Diff line number Diff line change
Expand Up @@ -47,29 +47,7 @@

#define ARCH(x) do { if (!ENABLE_ARCH_##x) goto illegal_op; } while(0)

/* internal defines */
typedef struct DisasContext {
target_ulong pc;
int is_jmp;
/* Nonzero if this instruction has been conditionally skipped. */
int condjmp;
/* The label that will be jumped to when the instruction is skipped. */
int condlabel;
/* Thumb-2 conditional execution bits. */
int condexec_mask;
int condexec_cond;
struct TranslationBlock *tb;
int singlestep_enabled;
int thumb;
int bswap_code;
#if !defined(CONFIG_USER_ONLY)
int user;
#endif
int vfp_enabled;
int vec_len;
int vec_stride;
} DisasContext;

#include "translate.h"
static uint32_t gen_opc_condexec_bits[OPC_BUF_SIZE];

#if defined(CONFIG_USER_ONLY)
Expand Down
27 changes: 27 additions & 0 deletions target-arm/translate.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
#ifndef TARGET_ARM_TRANSLATE_H
#define TARGET_ARM_TRANSLATE_H

/* internal defines */
typedef struct DisasContext {
target_ulong pc;
int is_jmp;
/* Nonzero if this instruction has been conditionally skipped. */
int condjmp;
/* The label that will be jumped to when the instruction is skipped. */
int condlabel;
/* Thumb-2 conditional execution bits. */
int condexec_mask;
int condexec_cond;
struct TranslationBlock *tb;
int singlestep_enabled;
int thumb;
int bswap_code;
#if !defined(CONFIG_USER_ONLY)
int user;
#endif
int vfp_enabled;
int vec_len;
int vec_stride;
} DisasContext;

#endif /* TARGET_ARM_TRANSLATE_H */

0 comments on commit f570c61

Please sign in to comment.