OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-old/] [binutils-2.18.50/] [include/] [coff/] [tic54x.h] - Diff between revs 156 and 816

Go to most recent revision | Only display areas with differences | Details | Blame | View Log

Rev 156 Rev 816
/* TI COFF information for Texas Instruments TMS320C54X.
/* TI COFF information for Texas Instruments TMS320C54X.
   This file customizes the settings in coff/ti.h.
   This file customizes the settings in coff/ti.h.
 
 
   Copyright 2000, 2001 Free Software Foundation, Inc.
   Copyright 2000, 2001 Free Software Foundation, Inc.
 
 
   This program is free software; you can redistribute it and/or modify
   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
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 2 of the License, or
   the Free Software Foundation; either version 2 of the License, or
   (at your option) any later version.
   (at your option) any later version.
 
 
   This program is distributed in the hope that it will be useful,
   This program is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   GNU General Public License for more details.
   GNU General Public License for more details.
 
 
   You should have received a copy of the GNU General Public License
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
   along with this program; if not, write to the Free Software
   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.  */
   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.  */
 
 
#ifndef COFF_TIC54X_H
#ifndef COFF_TIC54X_H
#define COFF_TIC54X_H
#define COFF_TIC54X_H
 
 
#define TIC54X_TARGET_ID 0x98
#define TIC54X_TARGET_ID 0x98
#define TIC54XALGMAGIC  0x009B  /* c54x algebraic assembler output */
#define TIC54XALGMAGIC  0x009B  /* c54x algebraic assembler output */
#define TIC5X_TARGET_ID  0x92
#define TIC5X_TARGET_ID  0x92
#define TI_TARGET_ID TIC54X_TARGET_ID
#define TI_TARGET_ID TIC54X_TARGET_ID
#define OCTETS_PER_BYTE_POWER 1 /* octets per byte, as a power of two */
#define OCTETS_PER_BYTE_POWER 1 /* octets per byte, as a power of two */
#define HOWTO_BANK 6 /* add to howto to get absolute/sect-relative version */
#define HOWTO_BANK 6 /* add to howto to get absolute/sect-relative version */
#define TICOFF_TARGET_ARCH bfd_arch_tic54x
#define TICOFF_TARGET_ARCH bfd_arch_tic54x
#define TICOFF_DEFAULT_MAGIC TICOFF1MAGIC /* we use COFF1 for compatibility */
#define TICOFF_DEFAULT_MAGIC TICOFF1MAGIC /* we use COFF1 for compatibility */
 
 
/* Page macros
/* Page macros
 
 
   The first GDB port requires flags in its remote memory access commands to
   The first GDB port requires flags in its remote memory access commands to
   distinguish between data/prog space.  Hopefully we can make this go away
   distinguish between data/prog space.  Hopefully we can make this go away
   eventually.  Stuff the page in the upper bits of a 32-bit address, since
   eventually.  Stuff the page in the upper bits of a 32-bit address, since
   the c5x family only uses 16 or 23 bits.
   the c5x family only uses 16 or 23 bits.
 
 
   c2x, c5x and most c54x devices have 16-bit addresses, but the c548 has
   c2x, c5x and most c54x devices have 16-bit addresses, but the c548 has
   23-bit program addresses.  Make sure the page flags don't interfere.
   23-bit program addresses.  Make sure the page flags don't interfere.
   These flags are used by GDB to identify the destination page for
   These flags are used by GDB to identify the destination page for
   addresses.
   addresses.
*/
*/
 
 
/* Recognized load pages (by common convention).  */
/* Recognized load pages (by common convention).  */
#define PG_PROG         0x0         /* PROG page */
#define PG_PROG         0x0         /* PROG page */
#define PG_DATA         0x1         /* DATA page */
#define PG_DATA         0x1         /* DATA page */
#define PG_IO           0x2         /* I/O page */
#define PG_IO           0x2         /* I/O page */
 
 
/** Indicate whether the given storage class requires a page flag.  */
/** Indicate whether the given storage class requires a page flag.  */
#define NEEDS_PAGE(X) ((X)==C_EXT)
#define NEEDS_PAGE(X) ((X)==C_EXT)
#define PAGE_MASK       0xFF000000
#define PAGE_MASK       0xFF000000
#define ADDR_MASK       0x00FFFFFF
#define ADDR_MASK       0x00FFFFFF
#define PG_TO_FLAG(p)   (((unsigned long)(p) & 0xFF) << 24)
#define PG_TO_FLAG(p)   (((unsigned long)(p) & 0xFF) << 24)
#define FLAG_TO_PG(f)   (((f) >> 24) & 0xFF)
#define FLAG_TO_PG(f)   (((f) >> 24) & 0xFF)
 
 
#include "coff/ti.h"
#include "coff/ti.h"
 
 
#endif /* COFF_TIC54X_H */
#endif /* COFF_TIC54X_H */
 
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.