xref: /openbsd-src/gnu/usr.bin/binutils/bfd/cpu-hppa.c (revision 007c2a4539b8b8aaa95c5e73e77620090abe113b)
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