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