aboutsummaryrefslogtreecommitdiff
path: root/target-m68k/cpu.h
diff options
context:
space:
mode:
authorLaurent Vivier <laurent@vivier.eu>2015-06-23 20:55:08 +0200
committerLaurent Vivier <laurent@vivier.eu>2016-10-25 20:54:47 +0200
commitf076803bbf6ad1618f493f543faff97f3dd0c970 (patch)
treee2ce3826865092dea680368abcd08f6a60fa138b /target-m68k/cpu.h
parentb208525797b031c1be4121553e21746686318a38 (diff)
downloadqemu-f076803bbf6ad1618f493f543faff97f3dd0c970.zip
qemu-f076803bbf6ad1618f493f543faff97f3dd0c970.tar.gz
qemu-f076803bbf6ad1618f493f543faff97f3dd0c970.tar.bz2
target-m68k: define m680x0 CPUs and features
This patch defines height new features: - M68K_FEATURE_SCALED_INDEX, scaled address index register - M68K_FEATURE_LONG_MULDIV, 32bit multiply/divide - M68K_FEATURE_QUAD_MULDIV, 64bit multiply/divide - M68K_FEATURE_BCCL, long conditional branches - M68K_FEATURE_BITFIELD, bit field instructions - M68K_FEATURE_FPU, FPU instructions - M68K_FEATURE_CAS, cas instruction - M68K_FEATURE_BKPT, bkpt instruction Original patch from Andreas Schwab <schwab@linux-m68k.org> Signed-off-by: Laurent Vivier <laurent@vivier.eu>
Diffstat (limited to 'target-m68k/cpu.h')
-rw-r--r--target-m68k/cpu.h11
1 files changed, 10 insertions, 1 deletions
diff --git a/target-m68k/cpu.h b/target-m68k/cpu.h
index 471f490..8333e1e 100644
--- a/target-m68k/cpu.h
+++ b/target-m68k/cpu.h
@@ -215,6 +215,7 @@ void do_m68k_semihosting(CPUM68KState *env, int nr);
ISA revisions mentioned. */
enum m68k_features {
+ M68K_FEATURE_M68000,
M68K_FEATURE_CF_ISA_A,
M68K_FEATURE_CF_ISA_B, /* (ISA B or C). */
M68K_FEATURE_CF_ISA_APLUSC, /* BIT/BITREV, FF1, STRLDSR (ISA A+ or C). */
@@ -225,7 +226,15 @@ enum m68k_features {
M68K_FEATURE_CF_EMAC_B, /* Revision B EMAC (dual accumulate). */
M68K_FEATURE_USP, /* User Stack Pointer. (ISA A+, B or C). */
M68K_FEATURE_EXT_FULL, /* 68020+ full extension word. */
- M68K_FEATURE_WORD_INDEX /* word sized address index registers. */
+ M68K_FEATURE_WORD_INDEX, /* word sized address index registers. */
+ M68K_FEATURE_SCALED_INDEX, /* scaled address index registers. */
+ M68K_FEATURE_LONG_MULDIV, /* 32 bit multiply/divide. */
+ M68K_FEATURE_QUAD_MULDIV, /* 64 bit multiply/divide. */
+ M68K_FEATURE_BCCL, /* Long conditional branches. */
+ M68K_FEATURE_BITFIELD, /* Bit field insns. */
+ M68K_FEATURE_FPU,
+ M68K_FEATURE_CAS,
+ M68K_FEATURE_BKPT,
};
static inline int m68k_feature(CPUM68KState *env, int feature)