summaryrefslogtreecommitdiff
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
commitc26ccb04a62553d905c2cf6e8ccb33de26c12721 (patch)
tree34505ad5157d04f5ff45d51422346a3e5fda7396
parentac80faef7f6356ec1b3716fdc0166fb083d65341 (diff)
downloadbinutils-redhat-c26ccb04a62553d905c2cf6e8ccb33de26c12721.tar.gz
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.
-rw-r--r--gas/ChangeLog9
-rw-r--r--gas/config/m68k-parse.h4
-rw-r--r--gas/config/tc-m68k.c17
-rw-r--r--opcodes/ChangeLog4
-rw-r--r--opcodes/m68k-dis.c5
5 files changed, 35 insertions, 4 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 6f5d0d3c19..ba8388cdd2 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,12 @@
+2006-12-27 Kazu Hirata <kazu@codesourcery.com>
+
+ * 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.
+
2006-12-26 H.J. Lu <hongjiu.lu@intel.com>
* config/tc-i386.c (i386_immediate): Remove prototype.
diff --git a/gas/config/m68k-parse.h b/gas/config/m68k-parse.h
index e7af8536a8..272075dc43 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 df44fbe8ab..661c99ca18 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 },
diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog
index cf7e3c9864..cc5ec75d9c 100644
--- a/opcodes/ChangeLog
+++ b/opcodes/ChangeLog
@@ -1,5 +1,9 @@
2006-12-27 Kazu Hirata <kazu@codesourcery.com>
+ * m68k-dis.c (print_insn_arg): Add support for cac and mbb.
+
+2006-12-27 Kazu Hirata <kazu@codesourcery.com>
+
* m68k-opc.c (m68k_opcodes): Add sleep and trapx.
2006-12-15 H.J. Lu <hongjiu.lu@intel.com>
diff --git a/opcodes/m68k-dis.c b/opcodes/m68k-dis.c
index 14d624f99c..08a28384cd 100644
--- a/opcodes/m68k-dis.c
+++ b/opcodes/m68k-dis.c
@@ -650,7 +650,10 @@ print_insn_arg (const char *d,
/* Should we be calling this psr like we do in case 'Y'? */
{"%mmusr",0x805},
- {"%urp", 0x806}, {"%srp", 0x807}, {"%pcr", 0x808}};
+ {"%urp", 0x806}, {"%srp", 0x807}, {"%pcr", 0x808},
+
+ /* Fido added these. */
+ {"%cac", 0xffe}, {"%mbb", 0xfff}};
val = fetch_arg (buffer, place, 12, info);
for (regno = sizeof names / sizeof names[0] - 1; regno >= 0; regno--)