12159047fSniklas /* BFD support for the HP Precision Architecture architecture. 2*007c2a45Smiod Copyright 1992, 1995, 1998, 1999, 2000, 2002, 2003 3c074d1c9Sdrahn Free Software Foundation, Inc. 42159047fSniklas 52159047fSniklas This file is part of BFD, the Binary File Descriptor library. 62159047fSniklas 72159047fSniklas This program is free software; you can redistribute it and/or modify 82159047fSniklas it under the terms of the GNU General Public License as published by 92159047fSniklas the Free Software Foundation; either version 2 of the License, or 102159047fSniklas (at your option) any later version. 112159047fSniklas 122159047fSniklas This program is distributed in the hope that it will be useful, 132159047fSniklas but WITHOUT ANY WARRANTY; without even the implied warranty of 142159047fSniklas MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 152159047fSniklas GNU General Public License for more details. 162159047fSniklas 172159047fSniklas You should have received a copy of the GNU General Public License 182159047fSniklas along with this program; if not, write to the Free Software 192159047fSniklas Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ 202159047fSniklas 212159047fSniklas #include "bfd.h" 222159047fSniklas #include "sysdep.h" 232159047fSniklas #include "libbfd.h" 242159047fSniklas 252159047fSniklas static const bfd_arch_info_type bfd_hppa10_arch = 262159047fSniklas { 272159047fSniklas 32, /* 32 bits in a word */ 282159047fSniklas 32, /* 32 bits in an address */ 292159047fSniklas 8, /* 8 bits in a byte */ 302159047fSniklas bfd_arch_hppa, 31*007c2a45Smiod bfd_mach_hppa10, /* By convention PA1.0 = 10 */ 322159047fSniklas "hppa", 332159047fSniklas "hppa1.0", 342159047fSniklas 3, 35c074d1c9Sdrahn TRUE, /* Unless we use 1.1 specific features */ 362159047fSniklas bfd_default_compatible, 372159047fSniklas bfd_default_scan , 382159047fSniklas 0, 392159047fSniklas }; 402159047fSniklas 41f7cc78ecSespie /* PA2.0 in narrow mode */ 42f7cc78ecSespie static const bfd_arch_info_type bfd_hppa20_arch = 43f7cc78ecSespie { 44f7cc78ecSespie 32, /* 32 bits in a word */ 45f7cc78ecSespie 32, /* 32 bits in an address */ 46f7cc78ecSespie 8, /* 8 bits in a byte */ 47f7cc78ecSespie bfd_arch_hppa, 48*007c2a45Smiod bfd_mach_hppa20, /* By convention PA2.0 = 20 */ 49f7cc78ecSespie "hppa", 50f7cc78ecSespie "hppa2.0", 51f7cc78ecSespie 3, 52c074d1c9Sdrahn FALSE, /* Unless we use 1.1 specific features */ 53f7cc78ecSespie bfd_default_compatible, 54f7cc78ecSespie bfd_default_scan , 55f7cc78ecSespie &bfd_hppa10_arch, 56f7cc78ecSespie }; 57f7cc78ecSespie 58f7cc78ecSespie /* PA2.0 in wide mode */ 59f7cc78ecSespie static const bfd_arch_info_type bfd_hppa20w_arch = 60f7cc78ecSespie { 61*007c2a45Smiod 64, /* 64 bits in a word */ 62*007c2a45Smiod 64, /* 64 bits in an address */ 63f7cc78ecSespie 8, /* 8 bits in a byte */ 64f7cc78ecSespie bfd_arch_hppa, 65*007c2a45Smiod bfd_mach_hppa20w, /* ??? How best to describe wide mode here? */ 66f7cc78ecSespie "hppa", 67f7cc78ecSespie "hppa2.0w", 68f7cc78ecSespie 3, 69c074d1c9Sdrahn FALSE, /* Unless we use 1.1 specific features */ 70f7cc78ecSespie bfd_default_compatible, 71f7cc78ecSespie bfd_default_scan , 72f7cc78ecSespie &bfd_hppa20_arch, 73f7cc78ecSespie }; 74f7cc78ecSespie 752159047fSniklas const bfd_arch_info_type bfd_hppa_arch = 762159047fSniklas { 772159047fSniklas 32, /* 32 bits in a word */ 782159047fSniklas 32, /* 32 bits in an address */ 792159047fSniklas 8, /* 8 bits in a byte */ 802159047fSniklas bfd_arch_hppa, 81*007c2a45Smiod bfd_mach_hppa11, /* By convention PA1.1 = 11 */ 822159047fSniklas "hppa", 832159047fSniklas "hppa1.1", 842159047fSniklas 3, 85c074d1c9Sdrahn FALSE, /* 1.1 specific features used */ 862159047fSniklas bfd_default_compatible, 872159047fSniklas bfd_default_scan , 88f7cc78ecSespie &bfd_hppa20w_arch, 892159047fSniklas }; 90