aboutsummaryrefslogtreecommitdiff
path: root/gas/config
diff options
context:
space:
mode:
authorKazu Hirata <kazu@codesourcery.com>2006-12-27 07:15:02 +0000
committerKazu Hirata <kazu@codesourcery.com>2006-12-27 07:15:02 +0000
commitf7ec513bed7e6bf8c2b88b7fdb5cf3fe94523def (patch)
treecb5363f79a82d503bc37215ac9afbfa18a54f28f /gas/config
parent6bd025df59a8cb2a0f3b0fcfe21f60592a898c41 (diff)
downloadgdb-f7ec513bed7e6bf8c2b88b7fdb5cf3fe94523def.zip
gdb-f7ec513bed7e6bf8c2b88b7fdb5cf3fe94523def.tar.gz
gdb-f7ec513bed7e6bf8c2b88b7fdb5cf3fe94523def.tar.bz2
gas/
* config/m68k-parse.h (m68k_register): Add CAC and MBB. * config/tc-m68k.c (fido_ctrl): New. (m68k_archs): Use fido_ctrl for -mfidoa. (m68k_cpus): Use fido_ctrl on fido-*-*. (m68k_ip): Add support for CAC and MBB. (init_table): Add CAC and MBB. opcodes/ * m68k-dis.c (print_insn_arg): Add support for cac and mbb.
Diffstat (limited to 'gas/config')
-rw-r--r--gas/config/m68k-parse.h4
-rw-r--r--gas/config/tc-m68k.c17
2 files changed, 18 insertions, 3 deletions
diff --git a/gas/config/m68k-parse.h b/gas/config/m68k-parse.h
index e7af853..272075d 100644
--- a/gas/config/m68k-parse.h
+++ b/gas/config/m68k-parse.h
@@ -126,7 +126,9 @@ enum m68k_register
FLASHBAR, RAMBAR, /* mcf528x added these. */
MBAR2, /* mcf5249 added this. */
MBAR,
-#define last_movec_reg MBAR
+ CAC, /* fido added this. */
+ MBB,
+#define last_movec_reg MBB
/* End of movec ordering constraints. */
FPI,
diff --git a/gas/config/tc-m68k.c b/gas/config/tc-m68k.c
index df44fbe..661c99c 100644
--- a/gas/config/tc-m68k.c
+++ b/gas/config/tc-m68k.c
@@ -231,6 +231,10 @@ static const enum m68k_register mcfv4e_ctrl[] = {
PCR3U0, PCR3L0, PCR3U1, PCR3L1,
0
};
+static const enum m68k_register fido_ctrl[] = {
+ SFC, DFC, USP, VBR, CAC, MBB,
+ 0
+};
#define cpu32_ctrl m68010_ctrl
static const enum m68k_register *control_regs;
@@ -421,7 +425,7 @@ static const struct m68k_cpu m68k_archs[] =
{m68040, m68040_ctrl, "68040", 0},
{m68060, m68060_ctrl, "68060", 0},
{cpu32|m68881, cpu32_ctrl, "cpu32", 0},
- {cpu32|fido_a, cpu32_ctrl, "fidoa", 0},
+ {cpu32|fido_a, fido_ctrl, "fidoa", 0},
{mcfisa_a|mcfhwdiv, NULL, "isaa", 0},
{mcfisa_a|mcfhwdiv|mcfisa_aa|mcfusp, NULL, "isaaplus", 0},
{mcfisa_a|mcfhwdiv|mcfisa_b|mcfusp, NULL, "isab", 0},
@@ -553,7 +557,7 @@ static const struct m68k_cpu m68k_cpus[] =
{mcfisa_a|mcfisa_b|mcfhwdiv|mcfemac|mcfusp|cfloat, mcfv4e_ctrl, "5485", -1},
{mcfisa_a|mcfisa_b|mcfhwdiv|mcfemac|mcfusp|cfloat, mcfv4e_ctrl, "548x", 0},
- {cpu32|fido_a, cpu32_ctrl, "fido", 1},
+ {cpu32|fido_a, fido_ctrl, "fido", 1},
{0,NULL,NULL, 0}
};
@@ -3074,6 +3078,12 @@ m68k_ip (char *instring)
case PCR3U1:
tmpreg = 0xD0F;
break;
+ case CAC:
+ tmpreg = 0xFFE;
+ break;
+ case MBB:
+ tmpreg = 0xFFF;
+ break;
default:
abort ();
}
@@ -3798,6 +3808,9 @@ static const struct init_entry init_table[] =
{ "rambar", RAMBAR }, /* mcf528x registers. */
{ "mbar2", MBAR2 }, /* mcf5249 registers. */
+
+ { "cac", CAC }, /* fido registers. */
+ { "mbb", MBB }, /* fido registers. */
/* End of control registers. */
{ "ac", AC },