* dis-asm.h (print_insn_iq2000): Declare.
authorStan Cox <scox@redhat.com>
Fri, 3 Jan 2003 18:03:18 +0000 (18:03 +0000)
committerStan Cox <scox@redhat.com>
Fri, 3 Jan 2003 18:03:18 +0000 (18:03 +0000)
* common.h (EM_IQ2000): Define.
* iq2000.h: New file.

include/ChangeLog
include/dis-asm.h
include/elf/ChangeLog
include/elf/common.h
include/elf/iq2000.h [new file with mode: 0644]

index 5cde93615fba777732405a82b8a7a61c95d73f49..66790de5d045d5e5ab959f046b0dd0d2787bfb3a 100644 (file)
@@ -1,3 +1,7 @@
+2002-01-02  Ben Elliston  <bje@redhat.com>
+
+       * dis-asm.h (print_insn_iq2000): Declare.
+
 2002-12-24    Dmitry Diky <diwil@mail.ru>
 
        * dis-asm.h: Add msp430 disassembler prototype.
index 2e1b1961655db699089b14746d205b32ba3aa214..5e6bdc3ad3b13dbf49f1631cd8a85ed06a79f220 100644 (file)
@@ -240,6 +240,7 @@ extern int print_insn_xstormy16             PARAMS ((bfd_vma, disassemble_info*));
 extern int print_insn_sh64             PARAMS ((bfd_vma, disassemble_info *));
 extern int print_insn_sh64x_media      PARAMS ((bfd_vma, disassemble_info *));
 extern int print_insn_frv              PARAMS ((bfd_vma, disassemble_info *));
+extern int print_insn_iq2000            PARAMS ((bfd_vma, disassemble_info *));
 
 extern disassembler_ftype arc_get_disassembler PARAMS ((void *));
 extern disassembler_ftype cris_get_disassembler PARAMS ((bfd *));
index c16c927f7cd7bd58d69a96e3230dee31bc9b8612..4303088d318982386a2006996da9c75977f410bb 100644 (file)
@@ -1,3 +1,8 @@
+2002-01-02  Ben Elliston  <bje@redhat.com>
+
+       * common.h (EM_IQ2000): Define.
+       * iq2000.h: New file.
+
 2002-12-30  Chris Demetriou  <cgd@broadcom.com>
 
        * mips.h (E_MIPS_ARCH_32R2): New define.
index 629c6146ff9b79701e1a2c2ecc6cff46da11c788..c8729f1fafe02e9df09e842a7c9a184a7eb521a8 100644 (file)
@@ -258,6 +258,8 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
 /* TI msp430 micro controller.  */
 #define EM_MSP430                      0x430
 
+/* Vitesse IQ2000 */
+#define EM_IQ2000              0xFEBA
 /* See the above comment before you add a new EM_* value here.  */
 
 /* Values for e_version.  */
diff --git a/include/elf/iq2000.h b/include/elf/iq2000.h
new file mode 100644 (file)
index 0000000..83c690c
--- /dev/null
@@ -0,0 +1,58 @@
+/* IQ2000 ELF support for BFD.
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of BFD, the Binary File Descriptor library.
+
+This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it 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 program; if not, write to the Free Software Foundation, Inc.,
+59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
+
+#ifndef _ELF_IQ2000_H
+#define _ELF_IQ2000_H
+
+#include "elf/reloc-macros.h"
+
+/* Relocations.  */
+START_RELOC_NUMBERS (elf_iq2000_reloc_type)
+  RELOC_NUMBER (R_IQ2000_NONE, 0)
+  RELOC_NUMBER (R_IQ2000_16, 1)
+  RELOC_NUMBER (R_IQ2000_32, 2)
+  RELOC_NUMBER (R_IQ2000_26, 3)
+  RELOC_NUMBER (R_IQ2000_PC16, 4)
+  RELOC_NUMBER (R_IQ2000_HI16, 5)
+  RELOC_NUMBER (R_IQ2000_LO16, 6)
+  RELOC_NUMBER (R_IQ2000_OFFSET_16, 7)
+  RELOC_NUMBER (R_IQ2000_OFFSET_21, 8)
+  RELOC_NUMBER (R_IQ2000_UHI16, 9)
+  RELOC_NUMBER (R_IQ2000_32_DEBUG, 10)
+  RELOC_NUMBER (R_IQ2000_GNU_VTINHERIT, 200)
+  RELOC_NUMBER (R_IQ2000_GNU_VTENTRY, 201)
+END_RELOC_NUMBERS(R_IQ2000_max)
+
+#define EF_IQ2000_CPU_IQ2000   0x00000001      /* default */
+#define EF_IQ2000_CPU_IQ10      0x00000002      /* IQ10 */
+#define EF_IQ2000_CPU_MASK     0x00000003      /* specific cpu bits */
+#define EF_IQ2000_ALL_FLAGS    (EF_IQ2000_CPU_MASK)
+
+/* Define the data & instruction memory discriminator.  In a linked
+   executable, an symbol should be deemed to point to an instruction
+   if ((address & IQ2000_INSN_MASK) == IQ2000_INSN_VALUE), and similarly
+   for the data space.  */
+
+#define IQ2000_DATA_MASK   0x80000000
+#define IQ2000_DATA_VALUE  0x00000000
+#define IQ2000_INSN_MASK   0x80000000
+#define IQ2000_INSN_VALUE  0x80000000
+
+
+#endif /* _ELF_IQ2000_H */