]> sourceware.org Git - newlib-cygwin.git/commitdiff
Add ColfFire v4 support
authorNick Clifton <nickc@redhat.com>
Tue, 21 Oct 2003 13:28:59 +0000 (13:28 +0000)
committerNick Clifton <nickc@redhat.com>
Tue, 21 Oct 2003 13:28:59 +0000 (13:28 +0000)
include/opcode/ChangeLog
include/opcode/m68k.h

index b557db535041cec01980d5f2a3d9e3fff2d3c97d..42cf9a5e4f54b2367648966af65c3cd0093400d8 100644 (file)
@@ -1,3 +1,8 @@
+2003-10-21  Peter Barada  <pbarada@mail.wm.sps.mot.com>
+            Bernardo Innocenti  <bernie@develer.com>
+
+       * m68k.h: Add MCFv4/MCF5528x support.
+
 2003-10-19  Hans-Peter Nilsson  <hp@bitrange.com>
 
        * mmix.h (JMP_INSN_BYTE): Define.
index 3371d38a7cd53d1b548e75edfee588ce39835d3a..3f189841d8f85cf586cb8639c74f353b5a494fa1 100644 (file)
@@ -1,55 +1,61 @@
 /* Opcode table header for m680[01234]0/m6888[12]/m68851.
-   Copyright 1989, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1999, 2001
-   Free Software Foundation, Inc.
+   Copyright 1989, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1999, 2001,
+   2003 Free Software Foundation, Inc.
 
-This file is part of GDB, GAS, and the GNU binutils.
+   This file is part of GDB, GAS, and the GNU binutils.
 
-GDB, GAS, and the GNU binutils are free software; you can redistribute
-them and/or modify them under the terms of the GNU General Public
-License as published by the Free Software Foundation; either version
-1, or (at your option) any later version.
+   GDB, GAS, and the GNU binutils are free software; you can redistribute
+   them and/or modify them under the terms of the GNU General Public
+   License as published by the Free Software Foundation; either version
+   1, or (at your option) any later version.
 
-GDB, GAS, and the GNU binutils are distributed in the hope that they
-will be useful, but WITHOUT ANY WARRANTY; without even the implied
-warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See
-the GNU General Public License for more details.
+   GDB, GAS, and the GNU binutils are distributed in the hope that they
+   will be useful, but WITHOUT ANY WARRANTY; without even the implied
+   warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See
+   the GNU General Public License for more details.
 
-You should have received a copy of the GNU General Public License
-along with this file; see the file COPYING.  If not, write to the Free
-Software Foundation, 59 Temple Place - Suite 330, Boston, MA
-02111-1307, USA.  */
+   You should have received a copy of the GNU General Public License
+   along with this file; see the file COPYING.  If not, write to the Free
+   Software Foundation, 59 Temple Place - Suite 330, Boston, MA
+   02111-1307, USA.  */
 
 /* These are used as bit flags for the arch field in the m68k_opcode
    structure.  */
 #define        _m68k_undef  0
-#define        m68000  0x001
-#define        m68008  m68000 /* synonym for -m68000.  otherwise unused. */
-#define        m68010  0x002
-#define        m68020  0x004
-#define        m68030  0x008
-#define m68ec030 m68030 /* similar enough to -m68030 to ignore differences;
+#define        m68000   0x001
+#define        m68008   m68000 /* Synonym for -m68000.  otherwise unused.  */
+#define        m68010   0x002
+#define        m68020   0x004
+#define        m68030   0x008
+#define m68ec030 m68030 /* Similar enough to -m68030 to ignore differences;
                           gas will deal with the few differences.  */
-#define        m68040  0x010
-/* there is no 68050 */
-#define m68060  0x020
-#define        m68881  0x040
-#define        m68882  m68881 /* synonym for -m68881.  otherwise unused. */
-#define        m68851  0x080
-#define cpu32  0x100   /* e.g., 68332 */
-#define mcf5200 0x200
+#define        m68040   0x010
+/* There is no 68050.  */
+#define m68060   0x020
+#define        m68881   0x040
+#define        m68882   m68881 /* Synonym for -m68881.  otherwise unused.  */
+#define        m68851   0x080
+#define cpu32   0x100  /* e.g., 68332 */
+#define mcf5200  0x200
 #define mcf5206e 0x400
-#define mcf5307 0x800
-#define mcf5407 0x1000
-
- /* handy aliases */
-#define        m68040up  (m68040 | m68060)
-#define        m68030up  (m68030 | m68040up)
-#define        m68020up  (m68020 | m68030up)
-#define        m68010up  (m68010 | cpu32 | m68020up)
-#define        m68000up  (m68000 | m68010up)
-#define mcf       (mcf5200 | mcf5206e | mcf5307 | mcf5407)
-#define mcf5307up (mcf5307 | mcf5407)
-
+#define mcf5307  0x800
+#define mcf5407  0x1000
+#define mcfv4e   0x2000
+#define mcf528x  0x4000
+
+ /* Handy aliases.  */
+#define        m68040up   (m68040 | m68060)
+#define        m68030up   (m68030 | m68040up)
+#define        m68020up   (m68020 | m68030up)
+#define        m68010up   (m68010 | cpu32 | m68020up)
+#define        m68000up   (m68000 | m68010up)
+#define mcf        (mcf5200 | mcf5206e | mcf528x | mcf5307 | mcf5407 | mcfv4e)
+#define mcf5206eup (mcf5206e | mcf528x | mcf5307 | mcf5407 | mcfv4e)
+#define mcf5307up  (mcf5307 | mcf5407 | mcfv4e)
+#define mcfv4up    (mcf5407 | mcfv4e)
+#define mcfv4eup   (mcfv4e)
+
+#define cfloat  (mcfv4e)
 #define        mfloat  (m68881 | m68882 | m68040 | m68060)
 #define        mmmu    (m68851 | m68030 | m68040 | m68060)
 
@@ -93,7 +99,7 @@ struct m68k_opcode_alias
    operand; the second, the place it is stored.  */
 
 /* Kinds of operands:
-   Characters used: AaBCcDdEFfGHIJkLlMmnOopQqRrSsTtU VvWXYZ0123|*~%;@!&$?/<>#^+-
+   Characters used: AaBbCcDdEFfGHIJkLlMmnOopQqRrSsTtU VvWwXxYyZz0123|*~%;@!&$?/<>#^+-
 
    D  data register only.  Stored as 3 bits.
    A  address register only.  Stored as 3 bits.
@@ -141,7 +147,7 @@ struct m68k_opcode_alias
        Possible values:
        0x000   SFC     Source Function Code reg        [60, 40, 30, 20, 10]
        0x001   DFC     Data Function Code reg          [60, 40, 30, 20, 10]
-       0x002   CACR    Cache Control Register          [60, 40, 30, 20]
+       0x002   CACR    Cache Control Register          [60, 40, 30, 20, mcf]
        0x003   TC      MMU Translation Control         [60, 40]
        0x004   ITT0    Instruction Transparent
                                Translation reg 0       [60, 40]
@@ -153,7 +159,7 @@ struct m68k_opcode_alias
                                Translation reg 1       [60, 40]
        0x008   BUSCR   Bus Control Register            [60]
        0x800   USP     User Stack Pointer              [60, 40, 30, 20, 10]
-       0x801   VBR     Vector Base reg                 [60, 40, 30, 20, 10]
+        0x801   VBR     Vector Base reg                 [60, 40, 30, 20, 10, mcf]
        0x802   CAAR    Cache Address Register          [        30, 20]
        0x803   MSP     Master Stack Pointer            [    40, 30, 20]
        0x804   ISP     Interrupt Stack Pointer         [    40, 30, 20]
@@ -165,6 +171,8 @@ struct m68k_opcode_alias
        0xC04   RAMBAR0 RAM Base Address Register 0     [520X]
        0xC05   RAMBAR1 RAM Base Address Register 0     [520X]
        0xC0F   MBAR0   RAM Base Address Register 0     [520X]
+        0xC04   FLASHBAR FLASH Base Address Register    [mcf528x]
+        0xC05   RAMBAR  Static RAM Base Address Register [mcf528x]
 
     L  Register list of the type d0-d7/a0-a7 etc.
        (New!  Improved!  Can also hold fp0-fp7, as well!)
@@ -218,11 +226,14 @@ struct m68k_opcode_alias
    coldfire bset/bclr/btst/mulsl/mulul operands:
    q                                           (modes 0,2-5)
    v                                           (modes 0,2-5,7.0,7.1)
-*/
-
-/* For the 68851: */
-/*
-   I didn't use much imagination in choosing the 
+   b                                            (modes 0,2-5,7.2)
+   w                                            (modes 2-5,7.2)
+   y                                           (modes 2,5)
+   z                                           (modes 2,5,7.2)
+   x  mov3q immediate operand.  */
+
+/* For the 68851:  */
+/* I didn't use much imagination in choosing the
    following codes, so many of them aren't very
    mnemonic. -rab
 
This page took 0.038125 seconds and 5 git commands to generate.