From d26127a55aaf0576b6de54a0ae89f0ec05ee1806 Mon Sep 17 00:00:00 2001 From: Stan Cox Date: Fri, 3 Jan 2003 18:03:18 +0000 Subject: * dis-asm.h (print_insn_iq2000): Declare. * common.h (EM_IQ2000): Define. * iq2000.h: New file. --- include/ChangeLog | 4 ++++ include/dis-asm.h | 1 + include/elf/ChangeLog | 5 +++++ include/elf/common.h | 2 ++ include/elf/iq2000.h | 58 +++++++++++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 70 insertions(+) create mode 100644 include/elf/iq2000.h diff --git a/include/ChangeLog b/include/ChangeLog index 5cde93615..66790de5d 100644 --- a/include/ChangeLog +++ b/include/ChangeLog @@ -1,3 +1,7 @@ +2002-01-02 Ben Elliston + + * dis-asm.h (print_insn_iq2000): Declare. + 2002-12-24 Dmitry Diky * dis-asm.h: Add msp430 disassembler prototype. diff --git a/include/dis-asm.h b/include/dis-asm.h index 2e1b19616..5e6bdc3ad 100644 --- a/include/dis-asm.h +++ b/include/dis-asm.h @@ -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 *)); diff --git a/include/elf/ChangeLog b/include/elf/ChangeLog index c16c927f7..4303088d3 100644 --- a/include/elf/ChangeLog +++ b/include/elf/ChangeLog @@ -1,3 +1,8 @@ +2002-01-02 Ben Elliston + + * common.h (EM_IQ2000): Define. + * iq2000.h: New file. + 2002-12-30 Chris Demetriou * mips.h (E_MIPS_ARCH_32R2): New define. diff --git a/include/elf/common.h b/include/elf/common.h index 629c6146f..c8729f1fa 100644 --- a/include/elf/common.h +++ b/include/elf/common.h @@ -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 index 000000000..83c690c70 --- /dev/null +++ b/include/elf/iq2000.h @@ -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 */ -- cgit v1.2.3