1203954Srdivacky/* BFD support for the Alpha architecture.
2203954Srdivacky   Copyright 1992, 1993, 1998, 2000, 2002, 2003
3203954Srdivacky   Free Software Foundation, Inc.
4203954Srdivacky
5203954SrdivackyThis file is part of BFD, the Binary File Descriptor library.
6203954Srdivacky
7203954SrdivackyThis program is free software; you can redistribute it and/or modify
8203954Srdivackyit under the terms of the GNU General Public License as published by
9203954Srdivackythe Free Software Foundation; either version 2 of the License, or
10203954Srdivacky(at your option) any later version.
11203954Srdivacky
12221345SdimThis program is distributed in the hope that it will be useful,
13221345Sdimbut WITHOUT ANY WARRANTY; without even the implied warranty of
14204642SrdivackyMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15203954SrdivackyGNU General Public License for more details.
16249423Sdim
17249423SdimYou should have received a copy of the GNU General Public License
18204642Srdivackyalong with this program; if not, write to the Free Software
19203954SrdivackyFoundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.  */
20203954Srdivacky
21204642Srdivacky#include "bfd.h"
22204642Srdivacky#include "sysdep.h"
23204642Srdivacky#include "libbfd.h"
24204642Srdivacky
25204642Srdivacky#define N(BITS_WORD, BITS_ADDR, NUMBER, PRINT, DEFAULT, NEXT) \
26204642Srdivacky  {							\
27204642Srdivacky    BITS_WORD, /* bits in a word */			\
28204642Srdivacky    BITS_ADDR, /* bits in an address */			\
29224145Sdim    8,	/* 8 bits in a byte */				\
30226633Sdim    bfd_arch_alpha,					\
31218893Sdim    NUMBER,						\
32204642Srdivacky    "alpha",						\
33226633Sdim    PRINT,						\
34224145Sdim    3,							\
35204642Srdivacky    DEFAULT,						\
36218893Sdim    bfd_default_compatible, 				\
37204642Srdivacky    bfd_default_scan,					\
38204642Srdivacky    NEXT,						\
39204642Srdivacky  }
40204642Srdivacky
41204642Srdivacky#define NN(index) (&arch_info_struct[index])
42204642Srdivacky
43204642Srdivacky/* These exist only so that we can reasonably disassemble PALcode.  */
44204642Srdivackystatic const bfd_arch_info_type arch_info_struct[] =
45204642Srdivacky{
46204642Srdivacky  N (64, 64, bfd_mach_alpha_ev4, "alpha:ev4", FALSE, NN(1)),
47204642Srdivacky  N (64, 64, bfd_mach_alpha_ev5, "alpha:ev5", FALSE, NN(2)),
48204642Srdivacky  N (64, 64, bfd_mach_alpha_ev6, "alpha:ev6", FALSE, 0),
49204642Srdivacky};
50203954Srdivacky
51203954Srdivackyconst bfd_arch_info_type bfd_alpha_arch =
52203954Srdivacky  N (64, 64, 0, "alpha", TRUE, NN(0));
53203954Srdivacky