home *** CD-ROM | disk | FTP | other *** search
/ Mac Easy 2010 May / Mac Life Ubuntu.iso / casper / filesystem.squashfs / usr / src / linux-headers-2.6.28-15 / arch / mips / include / asm / bootinfo.h < prev    next >
Encoding:
C/C++ Source or Header  |  2008-12-24  |  3.2 KB  |  111 lines

  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, 2003 by Ralf Baechle
  7.  * Copyright (C) 1995, 1996 Andreas Busse
  8.  * Copyright (C) 1995, 1996 Stoned Elipot
  9.  * Copyright (C) 1995, 1996 Paul M. Antoine.
  10.  */
  11. #ifndef _ASM_BOOTINFO_H
  12. #define _ASM_BOOTINFO_H
  13.  
  14. #include <linux/types.h>
  15. #include <asm/setup.h>
  16.  
  17. /*
  18.  * The MACH_ IDs are sort of equivalent to PCI product IDs.  As such the
  19.  * numbers do not necessarily reflect technical relations or similarities
  20.  * between systems.
  21.  */
  22.  
  23. /*
  24.  * Valid machtype values for group unknown
  25.  */
  26. #define  MACH_UNKNOWN        0    /* whatever...            */
  27.  
  28. /*
  29.  * Valid machtype for group DEC
  30.  */
  31. #define  MACH_DSUNKNOWN        0
  32. #define  MACH_DS23100        1    /* DECstation 2100 or 3100    */
  33. #define  MACH_DS5100        2    /* DECsystem 5100        */
  34. #define  MACH_DS5000_200    3    /* DECstation 5000/200        */
  35. #define  MACH_DS5000_1XX    4    /* DECstation 5000/120, 125, 133, 150 */
  36. #define  MACH_DS5000_XX        5    /* DECstation 5000/20, 25, 33, 50 */
  37. #define  MACH_DS5000_2X0    6    /* DECstation 5000/240, 260    */
  38. #define  MACH_DS5400        7    /* DECsystem 5400        */
  39. #define  MACH_DS5500        8    /* DECsystem 5500        */
  40. #define  MACH_DS5800        9    /* DECsystem 5800        */
  41. #define  MACH_DS5900        10    /* DECsystem 5900        */
  42.  
  43. /*
  44.  * Valid machtype for group PMC-MSP
  45.  */
  46. #define MACH_MSP4200_EVAL       0    /* PMC-Sierra MSP4200 Evaluation */
  47. #define MACH_MSP4200_GW         1    /* PMC-Sierra MSP4200 Gateway demo */
  48. #define MACH_MSP4200_FPGA       2    /* PMC-Sierra MSP4200 Emulation */
  49. #define MACH_MSP7120_EVAL       3    /* PMC-Sierra MSP7120 Evaluation */
  50. #define MACH_MSP7120_GW         4    /* PMC-Sierra MSP7120 Residential GW */
  51. #define MACH_MSP7120_FPGA       5    /* PMC-Sierra MSP7120 Emulation */
  52. #define MACH_MSP_OTHER        255    /* PMC-Sierra unknown board type */
  53.  
  54. /*
  55.  * Valid machtype for group Mikrotik
  56.  */
  57. #define    MACH_MIKROTIK_RB532    0    /* Mikrotik RouterBoard 532     */
  58. #define MACH_MIKROTIK_RB532A    1    /* Mikrotik RouterBoard 532A     */
  59.  
  60. #define CL_SIZE            COMMAND_LINE_SIZE
  61.  
  62. extern char *system_type;
  63. const char *get_system_type(void);
  64.  
  65. extern unsigned long mips_machtype;
  66.  
  67. #define BOOT_MEM_MAP_MAX    32
  68. #define BOOT_MEM_RAM        1
  69. #define BOOT_MEM_ROM_DATA    2
  70. #define BOOT_MEM_RESERVED    3
  71.  
  72. /*
  73.  * A memory map that's built upon what was determined
  74.  * or specified on the command line.
  75.  */
  76. struct boot_mem_map {
  77.     int nr_map;
  78.     struct boot_mem_map_entry {
  79.         phys_t addr;    /* start of memory segment */
  80.         phys_t size;    /* size of memory segment */
  81.         long type;        /* type of memory segment */
  82.     } map[BOOT_MEM_MAP_MAX];
  83. };
  84.  
  85. extern struct boot_mem_map boot_mem_map;
  86.  
  87. extern void add_memory_region(phys_t start, phys_t size, long type);
  88.  
  89. extern void prom_init(void);
  90. extern void prom_free_prom_memory(void);
  91.  
  92. extern void free_init_pages(const char *what,
  93.                 unsigned long begin, unsigned long end);
  94.  
  95. /*
  96.  * Initial kernel command line, usually setup by prom_init()
  97.  */
  98. extern char arcs_cmdline[CL_SIZE];
  99.  
  100. /*
  101.  * Registers a0, a1, a3 and a4 as passed to the kernel entry by firmware
  102.  */
  103. extern unsigned long fw_arg0, fw_arg1, fw_arg2, fw_arg3;
  104.  
  105. /*
  106.  * Platform memory detection hook called by setup_arch
  107.  */
  108. extern void plat_mem_setup(void);
  109.  
  110. #endif /* _ASM_BOOTINFO_H */
  111.