1/* BFD support for the HP Precision Architecture architecture.
2   Copyright 1992, 1995, 1998, 1999, 2000, 2002, 2003
3   Free Software Foundation, Inc.
4
5This file is part of BFD, the Binary File Descriptor library.
6
7This program is free software; you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation; either version 2 of the License, or
10(at your option) any later version.
11
12This program is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
18along with this program; if not, write to the Free Software
19Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.  */
20
21#include "bfd.h"
22#include "sysdep.h"
23#include "libbfd.h"
24
25static const bfd_arch_info_type bfd_hppa10_arch =
26{
27  32,				/* 32 bits in a word */
28  32,				/* 32 bits in an address */
29  8,				/* 8 bits in a byte */
30  bfd_arch_hppa,
31  bfd_mach_hppa10,		/* By convention PA1.0 = 10 */
32  "hppa",
33  "hppa1.0",
34  3,
35  TRUE,				/* Unless we use 1.1 specific features */
36  bfd_default_compatible,
37  bfd_default_scan ,
38  0,
39};
40
41/* PA2.0 in narrow mode */
42static const bfd_arch_info_type bfd_hppa20_arch =
43{
44  32,				/* 32 bits in a word */
45  32,				/* 32 bits in an address */
46  8,				/* 8 bits in a byte */
47  bfd_arch_hppa,
48  bfd_mach_hppa20,		/* By convention PA2.0 = 20 */
49  "hppa",
50  "hppa2.0",
51  3,
52  FALSE,			/* Unless we use 1.1 specific features */
53  bfd_default_compatible,
54  bfd_default_scan ,
55  &bfd_hppa10_arch,
56};
57
58/* PA2.0 in wide mode */
59static const bfd_arch_info_type bfd_hppa20w_arch =
60{
61  64,				/* 64 bits in a word */
62  64,				/* 64 bits in an address */
63  8,				/* 8 bits in a byte */
64  bfd_arch_hppa,
65  bfd_mach_hppa20w,		/* ??? How best to describe wide mode here?  */
66  "hppa",
67  "hppa2.0w",
68  3,
69  FALSE,			/* Unless we use 1.1 specific features */
70  bfd_default_compatible,
71  bfd_default_scan ,
72  &bfd_hppa20_arch,
73};
74
75const bfd_arch_info_type bfd_hppa_arch =
76{
77  32,				/* 32 bits in a word */
78  32,				/* 32 bits in an address */
79  8,				/* 8 bits in a byte */
80  bfd_arch_hppa,
81  bfd_mach_hppa11,		/* By convention PA1.1 = 11 */
82  "hppa",
83  "hppa1.1",
84  3,
85  FALSE,			/* 1.1 specific features used */
86  bfd_default_compatible,
87  bfd_default_scan ,
88  &bfd_hppa20w_arch,
89};
90