bootinfo.h
上传用户:jlfgdled
上传日期:2013-04-10
资源大小:33168k
文件大小:6k
源码类别:

Linux/Unix编程

开发平台:

Unix_Linux

  1. /*
  2.  * This file is subject to the terms and conditions of the GNU General Public
  3.  * License.  See the file COPYING in the main directory of this archive
  4.  * for more details.
  5.  *
  6.  * Copyright (C) 1995, 1996 by Ralf Baechle, Andreas Busse,
  7.  *                             Stoned Elipot and Paul M. Antoine.
  8.  */
  9. #ifndef _ASM_BOOTINFO_H
  10. #define _ASM_BOOTINFO_H
  11. #include <linux/types.h>
  12. /*
  13.  * Values for machgroup
  14.  */
  15. #define MACH_GROUP_UNKNOWN      0 /* whatever...                            */
  16. #define MACH_GROUP_JAZZ      1 /* Jazz                                   */
  17. #define MACH_GROUP_DEC          2 /* Digital Equipment                      */
  18. #define MACH_GROUP_ARC 3 /* Wreckstation Tyne, rPC44, possibly other */
  19. #define MACH_GROUP_SNI_RM 4 /* Siemens Nixdorf RM series              */
  20. #define MACH_GROUP_ACN 5
  21. #define MACH_GROUP_SGI          6 /* Silicon Graphics                       */
  22. #define MACH_GROUP_COBALT       7 /* Cobalt servers       */
  23. #define MACH_GROUP_NEC_DDB 8 /* NEC DDB                                */
  24. #define MACH_GROUP_BAGET 9 /* Baget                                  */
  25. #define MACH_GROUP_COSINE      10 /* CoSine Orion                           */
  26. #define MACH_GROUP_GALILEO     11 /* Galileo Eval Boards                    */
  27. #define MACH_GROUP_MOMENCO     12 /* Momentum Boards                        */
  28. #define MACH_GROUP_ITE         13 /* ITE Semi Eval Boards                   */
  29. #define MACH_GROUP_PHILIPS     14
  30. #define MACH_GROUP_GLOBESPAN   15 /* Globespan PVR Referrence Board         */
  31. #define MACH_GROUP_SIBYTE      16 /* Sibyte Eval Boards                     */
  32. #define MACH_GROUP_TOSHIBA     17 /* Toshiba Reference Systems TSBREF       */
  33. #define MACH_GROUP_ALCHEMY     18 /* Alchemy Semi Eval Boards               */
  34. #define MACH_GROUP_NEC_VR41XX  19 /* NEC Vr41xx based boards/gadgets        */
  35. #define MACH_GROUP_HP_LJ       20 /* Hewlett Packard LaserJet               */
  36. /*
  37.  * Valid machtype values for group unknown (low order halfword of mips_machtype)
  38.  */
  39. #define MACH_UNKNOWN 0 /* whatever... */
  40. /*
  41.  * Valid machtype values for group JAZZ
  42.  */
  43. #define MACH_ACER_PICA_61 0 /* Acer PICA-61 (PICA1) */
  44. #define MACH_MIPS_MAGNUM_4000 1 /* Mips Magnum 4000 "RC4030" */
  45. #define MACH_OLIVETTI_M700      2 /* Olivetti M700-10 (-15 ??)    */
  46. /*
  47.  * Valid machtype for group DEC
  48.  */
  49. #define MACH_DSUNKNOWN 0
  50. #define MACH_DS23100 1 /* DECstation 2100 or 3100 */
  51. #define MACH_DS5100 2 /* DECstation 5100 */
  52. #define MACH_DS5000_200 3 /* DECstation 5000/200 */
  53. #define MACH_DS5000_1XX 4 /* DECstation 5000/120, 125, 133, 150 */
  54. #define MACH_DS5000_XX 5 /* DECstation 5000/20, 25, 33, 50 */
  55. #define MACH_DS5000_2X0 6 /* DECstation 5000/240, 260 */
  56. #define MACH_DS5400 7 /* DECstation 5400 */
  57. #define MACH_DS5500 8 /* DECstation 5500 */
  58. #define MACH_DS5800 9 /* DECstation 5800 */
  59. /*
  60.  * Valid machtype for group ARC
  61.  */
  62. #define MACH_DESKSTATION_RPC44  0 /* Deskstation rPC44 */
  63. #define MACH_DESKSTATION_TYNE 1 /* Deskstation Tyne */
  64. /*
  65.  * Valid machtype for group SNI_RM
  66.  */
  67. #define MACH_SNI_RM200_PCI 0 /* RM200/RM300/RM400 PCI series */
  68. /*
  69.  * Valid machtype for group ACN
  70.  */
  71. #define MACH_ACN_MIPS_BOARD 0       /* ACN MIPS single board        */
  72. /*
  73.  * Valid machtype for group SGI
  74.  */
  75. #define MACH_SGI_INDY 0 /* R4?K and R5K Indy workstations */
  76. #define MACH_SGI_CHALLENGE_S 1 /* The Challenge S server */
  77. #define MACH_SGI_INDIGO2 2 /* The Indigo2 system */
  78. #define MACH_SGI_IP27 3 /* Origin 200, Origin 2000, Onyx 2 */
  79. #define MACH_SGI_IP28 4 /* Indigo2 Impact */
  80. #define MACH_SGI_IP32 5 /* O2 */
  81. /*
  82.  * Valid machtype for group COBALT
  83.  */
  84. #define MACH_COBALT_27   0 /* Proto "27" hardware */
  85. /*
  86.  * Valid machtype for group NEC DDB
  87.  */
  88. #define MACH_NEC_DDB5074 0 /* NEC DDB Vrc-5074 */
  89. #define MACH_NEC_DDB5476 1 /* NEC DDB Vrc-5476 */
  90. #define MACH_NEC_DDB5477 2 /* NEC DDB Vrc-5477 */
  91. #define MACH_NEC_ROCKHOPPER 3 /* Rockhopper base board */
  92. #define MACH_NEC_ROCKHOPPERII 4 /* Rockhopper II base board */
  93. /*
  94.  * Valid machtype for group BAGET
  95.  */
  96. #define MACH_BAGET201 0 /* BT23-201 */
  97. #define MACH_BAGET202 1 /* BT23-202 */
  98. /*
  99.  * Cosine boards.
  100.  */
  101. #define MACH_COSINE_ORION 0
  102. /*
  103.  * Valid machtype for group GALILEO
  104.  */
  105. #define MACH_EV96100 0 /* EV96100 */
  106. #define MACH_EV64120A 1 /* EV64120A */
  107. /*
  108.  * Valid machtype for group MOMENCO
  109.  */
  110. #define MACH_MOMENCO_OCELOT 0
  111. #define MACH_MOMENCO_OCELOT_G 1
  112. /*
  113.  * Valid machtype for group ITE
  114.  */
  115. #define MACH_QED_4N_S01B 0 /* ITE8172 based eval board */
  116. /*
  117.  * Valid machtype for group Globespan
  118.  */
  119. #define MACH_IVR 0 /* IVR eval board */
  120. /*
  121.  * Valid machtype for group PHILIPS
  122.  */
  123. #define MACH_PHILIPS_NINO 0 /* Nino */
  124. #define MACH_PHILIPS_VELO 1 /* Velo */
  125. /*
  126.  * Valid machtype for group SIBYTE
  127.  */
  128. #define MACH_SWARM              0
  129. /*
  130.  * Valid machtypes for group Toshiba
  131.  */
  132. #define MACH_PALLAS 0
  133. #define MACH_TOPAS 1
  134. #define MACH_JMR 2
  135. #define MACH_TOSHIBA_JMR3927 3 /* JMR-TX3927 CPU/IO board */
  136. /*
  137.  * Valid machtype for group Alchemy
  138.  */
  139. #define MACH_PB1000 0 /* Au1000-based eval board */
  140. #define MACH_PB1100 1 /* Au1100-based eval board */
  141. #define MACH_PB1500 2 /* Au1500-based eval board */
  142. /*
  143.  * Valid machtype for group NEC_VR41XX
  144.  */
  145. #define MACH_NEC_OSPREY 0 /* Osprey eval board */
  146. #define MACH_NEC_EAGLE 1 /* NEC Eagle/Hawk board */
  147. #define MACH_ZAO_CAPCELLA 2 /* ZAO Networks Capcella */
  148. #define CL_SIZE (256)
  149. const char *get_system_type(void);
  150. extern unsigned long mips_machtype;
  151. extern unsigned long mips_machgroup;
  152. #define BOOT_MEM_MAP_MAX 32
  153. #define BOOT_MEM_RAM 1
  154. #define BOOT_MEM_ROM_DATA 2
  155. #define BOOT_MEM_RESERVED 3
  156. /*
  157.  * A memory map that's built upon what was determined
  158.  * or specified on the command line.
  159.  */
  160. struct boot_mem_map {
  161. int nr_map;
  162. struct {
  163. phys_t addr; /* start of memory segment */
  164. phys_t size; /* size of memory segment */
  165. long type; /* type of memory segment */
  166. } map[BOOT_MEM_MAP_MAX];
  167. };
  168. extern struct boot_mem_map boot_mem_map;
  169. extern void add_memory_region(phys_t start, phys_t size, long type);
  170. #endif /* _ASM_BOOTINFO_H */