1 /* $Id: bootinfo.h,v 1.11 2000/03/06 11:14:32 raiko Exp $
2 *
3 * bootinfo.h -- Definition of the Linux/MIPS boot information structure
4 *
5 * Copyright (C) 1995, 1996 by Ralf Baechle, Andreas Busse,
6 * Stoned Elipot and Paul M. Antoine.
7 *
8 * This file is subject to the terms and conditions of the GNU General Public
9 * License. See the file COPYING in the main directory of this archive
10 * for more details.
11 */
12 #ifndef __ASM_MIPS_BOOTINFO_H
13 #define __ASM_MIPS_BOOTINFO_H
14
15 /*
16 * Values for machgroup
17 */
18 #define MACH_GROUP_UNKNOWN 0 /* whatever... */
19 #define MACH_GROUP_JAZZ 1 /* Jazz */
20 #define MACH_GROUP_DEC 2 /* Digital Equipment */
21 #define MACH_GROUP_ARC 3 /* Wreckstation Tyne, rPC44, possibly other */
22 #define MACH_GROUP_SNI_RM 4 /* Siemens Nixdorf RM series */
23 #define MACH_GROUP_ACN 5
24 #define MACH_GROUP_SGI 6 /* Silicon Graphics workstations and servers */
25 #define MACH_GROUP_COBALT 7 /* Cobalt servers */
26 #define MACH_GROUP_NEC_DDB 8 /* NEC DDB */
27 #define MACH_GROUP_BAGET 9 /* Baget */
28 #define MACH_GROUP_ORION 10 /* CoSine Orion */
29
30 #define GROUP_NAMES { "unknown", "Jazz", "Digital", "ARC", \
31 "SNI", "ACN", "SGI", "Cobalt", "NEC DDB", "Baget", "Orion" }
32
33 /*
34 * Valid machtype values for group unknown (low order halfword of mips_machtype)
35 */
36 #define MACH_UNKNOWN 0 /* whatever... */
37
38 #define GROUP_UNKNOWN_NAMES { "unknown" }
39
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 #define GROUP_JAZZ_NAMES { "Acer PICA 61", "Mips Magnum 4000", "Olivetti M700" }
48
49 /*
50 * Valid machtype for group DEC
51 */
52 #define MACH_DSUNKNOWN 0
53 #define MACH_DS23100 1 /* DECstation 2100 or 3100 */
54 #define MACH_DS5100 2 /* DECstation 5100 */
55 #define MACH_DS5000_200 3 /* DECstation 5000/200 */
56 #define MACH_DS5000_1XX 4 /* DECstation 5000/120, 125, 133, 150 */
57 #define MACH_DS5000_XX 5 /* DECstation 5000/20, 25, 33, 50 */
58 #define MACH_DS5000_2X0 6 /* DECstation 5000/240, 260 */
59 #define MACH_DS5400 7 /* DECstation 5400 */
60 #define MACH_DS5500 8 /* DECstation 5500 */
61 #define MACH_DS5800 9 /* DECstation 5800 */
62
63 #define GROUP_DEC_NAMES { "unknown", "DECstation 2100/3100", "DECstation 5100", \
64 "DECstation 5000/200", "DECstation 5000/1xx", "Personal DECstation 5000/xx", \
65 "DECstation 5000/2x0", "DECstation 5400", "DECstation 5500", \
66 "DECstation 5800" }
67
68 /*
69 * Valid machtype for group ARC
70 */
71 #define MACH_DESKSTATION_RPC44 0 /* Deskstation rPC44 */
72 #define MACH_DESKSTATION_TYNE 1 /* Deskstation Tyne */
73
74 #define GROUP_ARC_NAMES { "Deskstation rPC44", "Deskstation Tyne" }
75
76 /*
77 * Valid machtype for group SNI_RM
78 */
79 #define MACH_SNI_RM200_PCI 0 /* RM200/RM300/RM400 PCI series */
80
81 #define GROUP_SNI_RM_NAMES { "RM200 PCI" }
82
83 /*
84 * Valid machtype for group ACN
85 */
86 #define MACH_ACN_MIPS_BOARD 0 /* ACN MIPS single board */
87
88 #define GROUP_ACN_NAMES { "ACN" }
89
90 /*
91 * Valid machtype for group SGI
92 */
93 #define MACH_SGI_INDY 0 /* R4?K and R5K Indy workstaions */
94
95 #define GROUP_SGI_NAMES { "Indy" }
96
97 /*
98 * Valid machtype for group COBALT
99 */
100 #define MACH_COBALT_27 0 /* Proto "27" hardware */
101
102 #define GROUP_COBALT_NAMES { "Microserver 27" }
103
104 /*
105 * Valid machtype for group NEC DDB
106 */
107 #define MACH_NEC_DDB5074 0 /* NEC DDB Vrc-5074 */
108
109 #define GROUP_NEC_DDB_NAMES { "Vrc-5074" }
110
111 /*
112 * Valid machtype for group BAGET
113 */
114 #define MACH_BAGET201 0 /* BT23-201 */
115 #define MACH_BAGET202 1 /* BT23-202 */
116
117 #define GROUP_BAGET_NAMES { "BT23-201", "BT23-202" }
118
119 /*
120 * Valid cputype values
121 */
122 #define CPU_UNKNOWN 0
123 #define CPU_R2000 1
124 #define CPU_R3000 2
125 #define CPU_R3000A 3
126 #define CPU_R3041 4
127 #define CPU_R3051 5
128 #define CPU_R3052 6
129 #define CPU_R3081 7
130 #define CPU_R3081E 8
131 #define CPU_R4000PC 9
132 #define CPU_R4000SC 10
133 #define CPU_R4000MC 11
134 #define CPU_R4200 12
135 #define CPU_R4400PC 13
136 #define CPU_R4400SC 14
137 #define CPU_R4400MC 15
138 #define CPU_R4600 16
139 #define CPU_R6000 17
140 #define CPU_R6000A 18
141 #define CPU_R8000 19
142 #define CPU_R10000 20
143 #define CPU_R4300 21
144 #define CPU_R4650 22
145 #define CPU_R4700 23
146 #define CPU_R5000 24
147 #define CPU_R5000A 25
148 #define CPU_R4640 26
149 #define CPU_NEVADA 27 /* RM5230, RM5260 */
150 #define CPU_LAST 27
151
152 #define CPU_NAMES { "unknown", "R2000", "R3000", "R3000A", "R3041", "R3051", \
153 "R3052", "R3081", "R3081E", "R4000PC", "R4000SC", "R4000MC", \
154 "R4200", "R4400PC", "R4400SC", "R4400MC", "R4600", "R6000", \
155 "R6000A", "R8000", "R10000", "R4300", "R4650", "R4700", "R5000", \
156 "R5000A", "R4640", "Nevada" }
157
158 #define CL_SIZE (80)
159
160 #ifndef _LANGUAGE_ASSEMBLY
161
162 /*
163 * Some machine parameters passed by the bootloaders.
164 */
165
166 struct drive_info_struct {
167 char dummy[32];
168 };
169
170 /* This is the same as in Milo but renamed for the sake of kernel's */
171 /* namespace */
172 typedef struct mips_arc_DisplayInfo { /* video adapter information */
173 unsigned short cursor_x;
174 unsigned short cursor_y;
175 unsigned short columns;
176 unsigned short lines;
177 } mips_arc_DisplayInfo;
178
179 /* default values for drive info */
180 #define DEFAULT_DRIVE_INFO { {0,}}
181
182 /*
183 * These are the kernel variables initialized from
184 * the tag. And they have to be initialized to dummy/default
185 * values in setup.c (or whereever suitable) so they are in
186 * .data section
187 */
188 extern unsigned long mips_memory_upper;
189 extern unsigned long mips_cputype;
190 extern unsigned long mips_machtype;
191 extern unsigned long mips_machgroup;
192 extern unsigned long mips_tlb_entries;
193
194 #endif /* _LANGUAGE_ASSEMBLY */
195
196 #endif /* __ASM_MIPS_BOOTINFO_H */
197
This page was automatically generated by the
LXR engine.
Visit the LXR main site for more
information.