cpu-hppa.c 2.5 KB

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