source: branches/libc-0.6/src/binutils/include/coff/tic54x.h

Last change on this file was 610, checked in by bird, 22 years ago

This commit was generated by cvs2svn to compensate for changes in r609,
which included commits to RCS files with non-trunk default branches.

  • Property cvs2svn:cvs-rev set to 1.1.1.2
  • Property svn:eol-style set to native
  • Property svn:executable set to *
File size: 2.4 KB
Line 
1/* TI COFF information for Texas Instruments TMS320C54X.
2 This file customizes the settings in coff/ti.h.
3
4 Copyright 2001 Free Software Foundation, Inc.
5
6 This program is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation; either version 2 of the License, or
9 (at your option) any later version.
10
11 This program is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
15
16 You should have received a copy of the GNU General Public License
17 along with this program; if not, write to the Free Software
18 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
19
20#ifndef COFF_TIC54X_H
21#define COFF_TIC54X_H
22
23#define TIC54X_TARGET_ID 0x98
24#define TIC54XALGMAGIC 0x009B /* c54x algebraic assembler output */
25#define TIC5X_TARGET_ID 0x92
26#define TI_TARGET_ID TIC54X_TARGET_ID
27#define OCTETS_PER_BYTE_POWER 1 /* octets per byte, as a power of two */
28#define HOWTO_BANK 6 /* add to howto to get absolute/sect-relative version */
29#define TICOFF_TARGET_ARCH bfd_arch_tic54x
30#define TICOFF_DEFAULT_MAGIC TICOFF1MAGIC /* we use COFF1 for compatibility */
31
32/* Page macros
33
34 The first GDB port requires flags in its remote memory access commands to
35 distinguish between data/prog space. Hopefully we can make this go away
36 eventually. Stuff the page in the upper bits of a 32-bit address, since
37 the c5x family only uses 16 or 23 bits.
38
39 c2x, c5x and most c54x devices have 16-bit addresses, but the c548 has
40 23-bit program addresses. Make sure the page flags don't interfere.
41 These flags are used by GDB to identify the destination page for
42 addresses.
43*/
44
45/* Recognized load pages (by common convention). */
46#define PG_PROG 0x0 /* PROG page */
47#define PG_DATA 0x1 /* DATA page */
48#define PG_IO 0x2 /* I/O page */
49
50/** Indicate whether the given storage class requires a page flag. */
51#define NEEDS_PAGE(X) ((X)==C_EXT)
52#define PAGE_MASK 0xFF000000
53#define ADDR_MASK 0x00FFFFFF
54#define PG_TO_FLAG(p) (((unsigned long)(p) & 0xFF) << 24)
55#define FLAG_TO_PG(f) (((f) >> 24) & 0xFF)
56
57#include "coff/ti.h"
58
59#endif /* COFF_TIC54X_H */
Note: See TracBrowser for help on using the repository browser.