gas/
authorKazu Hirata <kazu@codesourcery.com>
Wed, 27 Dec 2006 07:15:02 +0000 (07:15 +0000)
committerKazu Hirata <kazu@codesourcery.com>
Wed, 27 Dec 2006 07:15:02 +0000 (07:15 +0000)
* 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.

gas/ChangeLog
gas/config/m68k-parse.h
gas/config/tc-m68k.c
opcodes/ChangeLog
opcodes/m68k-dis.c

index 6f5d0d3c1964361b512bbc92ebfa944b6bf5b61f..ba8388cdd2c03422c35b422c2d24c7c7b50fe610 100644 (file)
@@ -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.
index e7af8536a805176c2dd7d42e8f73da5e7a5aab28..272075dc43db71f9ba02bb8d8b6afc60ccc62220 100644 (file)
@@ -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,
index df44fbe8ab6ae5b18c0857628b66b74d11671e70..661c99ca18d450aada8c91d5de04a0a9b80e3556 100644 (file)
@@ -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 },
index cf7e3c9864e55a4a8bbd5422430fadefe550f224..cc5ec75d9c01e11d506220915625c35ff890cd71 100644 (file)
@@ -1,3 +1,7 @@
+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.
index 14d624f99ce3e8f27eb63812c31ff94cf60891a8..08a28384cd212f3608981cf6315d3724f5cccf19 100644 (file)
@@ -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--)