m68k-parse.h (enum m68k_register): New control register, MBAR2 (for MCF5249)
authorNick Clifton <nickc@redhat.com>
Fri, 8 Oct 2004 08:45:54 +0000 (08:45 +0000)
committerNick Clifton <nickc@redhat.com>
Fri, 8 Oct 2004 08:45:54 +0000 (08:45 +0000)
tc-m68k.c: Correct control register set for MCF5249.

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

index 3afe1b4635ff82ea159a422ca6baaf8594176958..1c0af35eca9a05f4f050888d51b197e2488a61bb 100644 (file)
@@ -1,3 +1,9 @@
+2004-10-08  Linus Nielsen Feltzing  <linus@haxx.se>
+
+       * config/m68k-parse.h (enum m68k_register): New control register,
+       MBAR2 (for MCF5249)
+       * config/tc-m68k.c: Correct control register set for MCF5249.
+
 2004-10-07  Bob Wilson  <bob.wilson@acm.org>
 
        * config/tc-xtensa.c (absolute_literals_supported): New global flag.
index 3b98b8a065c20bdac06594f2827ad6ed9d9f3efe..769a432c553c28c9bcb5c337cea9d47781ee7ab9 100644 (file)
@@ -124,6 +124,7 @@ enum m68k_register
   MBAR0, MBAR1,                        /* mcfv4e added these.  */
   ACR0, ACR1, ACR2, ACR3,       /* mcf5200 added these.  */
   FLASHBAR, RAMBAR,            /* mcf528x added these.  */
+  MBAR2,                       /* mcf5249 added this.  */
   MBAR,
 #define last_movec_reg MBAR
   /* End of movec ordering constraints.  */
index d784c03c4a856ead2304c784572d661e2168f246..04baa6e6e3bd292c22637412fb4a033040676709 100644 (file)
@@ -178,6 +178,10 @@ static const enum m68k_register mcf_control_regs[] = {
   RAMBAR0, RAMBAR1, MBAR,
   0
 };
+static const enum m68k_register mcf5249_control_regs[] = {
+  CACR, ACR0, ACR1, VBR, RAMBAR0, RAMBAR1, MBAR, MBAR2,
+  0
+};
 static const enum m68k_register mcf528x_control_regs[] = {
   CACR, ACR0, ACR1, VBR, FLASHBAR, RAMBAR,
   0
@@ -2989,6 +2993,7 @@ m68k_ip (char *instring)
               tmpreg = 0xC0D;
               break;
             case MBAR0:
+            case MBAR2:
             case SECMBAR:
               tmpreg = 0xC0E;
               break;
@@ -3754,6 +3759,8 @@ static const struct init_entry init_table[] =
 
   { "flashbar", FLASHBAR },    /* mcf528x registers.  */
   { "rambar",   RAMBAR },      /* mcf528x registers.  */
+
+  { "mbar2",    MBAR2 },       /* mcf5249 registers.  */
   /* End of control registers.  */
 
   { "ac", AC },
@@ -4341,11 +4348,13 @@ select_control_regs (void)
       break;
     case mcf5200:
     case mcf5206e:
-    case mcf5249:
     case mcf5307:
     case mcf5407:
       control_regs = mcf_control_regs;
       break;
+    case mcf5249:
+      control_regs = mcf5249_control_regs;
+      break;
     case mcf528x:
     case mcf521x:
       control_regs = mcf528x_control_regs;