prom.h revision 1.4.2.4 1 1.4.2.4 bouyer /* $NetBSD: prom.h,v 1.4.2.4 2001/02/11 19:11:08 bouyer Exp $ */
2 1.4.2.2 bouyer
3 1.4.2.2 bouyer /*
4 1.4.2.2 bouyer * Copyright (c) 2000 The NetBSD Foundation, Inc.
5 1.4.2.2 bouyer * All rights reserved.
6 1.4.2.2 bouyer *
7 1.4.2.2 bouyer * This code is derived from software contributed to The NetBSD Foundation
8 1.4.2.2 bouyer * by Wayne Knowles
9 1.4.2.2 bouyer *
10 1.4.2.2 bouyer * Redistribution and use in source and binary forms, with or without
11 1.4.2.2 bouyer * modification, are permitted provided that the following conditions
12 1.4.2.2 bouyer * are met:
13 1.4.2.2 bouyer * 1. Redistributions of source code must retain the above copyright
14 1.4.2.2 bouyer * notice, this list of conditions and the following disclaimer.
15 1.4.2.2 bouyer * 2. Redistributions in binary form must reproduce the above copyright
16 1.4.2.2 bouyer * notice, this list of conditions and the following disclaimer in the
17 1.4.2.2 bouyer * documentation and/or other materials provided with the distribution.
18 1.4.2.2 bouyer * 3. All advertising materials mentioning features or use of this software
19 1.4.2.2 bouyer * must display the following acknowledgement:
20 1.4.2.2 bouyer * This product includes software developed by the NetBSD
21 1.4.2.2 bouyer * Foundation, Inc. and its contributors.
22 1.4.2.2 bouyer * 4. Neither the name of The NetBSD Foundation nor the names of its
23 1.4.2.2 bouyer * contributors may be used to endorse or promote products derived
24 1.4.2.2 bouyer * from this software without specific prior written permission.
25 1.4.2.2 bouyer *
26 1.4.2.2 bouyer * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
27 1.4.2.2 bouyer * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
28 1.4.2.2 bouyer * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
29 1.4.2.2 bouyer * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
30 1.4.2.2 bouyer * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
31 1.4.2.2 bouyer * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
32 1.4.2.2 bouyer * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
33 1.4.2.2 bouyer * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
34 1.4.2.2 bouyer * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
35 1.4.2.2 bouyer * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
36 1.4.2.2 bouyer * POSSIBILITY OF SUCH DAMAGE.
37 1.4.2.2 bouyer */
38 1.4.2.2 bouyer
39 1.4.2.2 bouyer /*
40 1.4.2.2 bouyer * Entry points into PROM firmware functions for MIPS machines
41 1.4.2.2 bouyer */
42 1.4.2.2 bouyer
43 1.4.2.2 bouyer #ifndef _MIPSCO_PROM_H
44 1.4.2.2 bouyer #define _MIPSCO_PROM_H
45 1.4.2.2 bouyer
46 1.4.2.2 bouyer #ifndef _LOCORE
47 1.4.2.2 bouyer #include <sys/types.h>
48 1.4.2.2 bouyer #include <sys/cdefs.h>
49 1.4.2.2 bouyer
50 1.4.2.2 bouyer struct mips_prom {
51 1.4.2.2 bouyer
52 1.4.2.2 bouyer /*
53 1.4.2.2 bouyer * transferred to on hardware reset, configures MIPS boards,
54 1.4.2.2 bouyer * runs diags, check for appropriate auto boot action in
55 1.4.2.2 bouyer * "bootmode" environment variable and performs that action.
56 1.4.2.2 bouyer */
57 1.4.2.2 bouyer void (*prom_reset) __P((void)) __attribute__((__noreturn__));
58 1.4.2.2 bouyer
59 1.4.2.2 bouyer /*
60 1.4.2.2 bouyer * called to utilize prom to boot new image. After the booted
61 1.4.2.2 bouyer * program returns control can either be returned to the
62 1.4.2.2 bouyer * original caller of the exec routine or to the prom monitor.
63 1.4.2.2 bouyer * (to return to the original caller, the new program must
64 1.4.2.2 bouyer * not destroy any text, data, or stack of the parent. the
65 1.4.2.2 bouyer * new programs stack continues on the parents stack.
66 1.4.2.2 bouyer */
67 1.4.2.2 bouyer int (*prom_exec) __P((void));
68 1.4.2.2 bouyer
69 1.4.2.2 bouyer /* re-enter the prom command parser, do not reset prom state */
70 1.4.2.2 bouyer void (*prom_restart) __P((void)) __attribute__((__noreturn__));
71 1.4.2.2 bouyer
72 1.4.2.2 bouyer /* reinitialize prom state and re-enter the prom command parser */
73 1.4.2.2 bouyer void (*prom_reinit) __P((void)) __attribute__((__noreturn__));
74 1.4.2.2 bouyer
75 1.4.2.2 bouyer /* reboot machine using current bootmode setting. No diags */
76 1.4.2.2 bouyer void (*prom_reboot) __P((void)) __attribute__((__noreturn__));
77 1.4.2.2 bouyer
78 1.4.2.2 bouyer /* perform an autoboot sequence, no configuration or diags run */
79 1.4.2.2 bouyer void (*prom_autoboot) __P((void)) __attribute__((__noreturn__));
80 1.4.2.2 bouyer
81 1.4.2.2 bouyer /*
82 1.4.2.2 bouyer * these routines access prom "saio" routines, and may be used
83 1.4.2.2 bouyer * by standalone programs that would like to use prom io
84 1.4.2.2 bouyer */
85 1.4.2.2 bouyer int (*prom_open) __P((char *, int, ...));
86 1.4.2.2 bouyer int (*prom_read) __P((int, void *, int));
87 1.4.2.2 bouyer int (*prom_write) __P((int, void *, int));
88 1.4.2.2 bouyer int (*prom_ioctl) __P((int, long, ...));
89 1.4.2.2 bouyer int (*prom_close) __P((int));
90 1.4.2.2 bouyer int (*prom_getchar) __P((void));
91 1.4.2.2 bouyer int (*prom_putchar) __P((int c));
92 1.4.2.2 bouyer void (*prom_showchar) __P((int c));
93 1.4.2.2 bouyer char * (*prom_gets) __P((char *s));
94 1.4.2.2 bouyer void (*prom_puts) __P((const char *));
95 1.4.2.2 bouyer int (*prom_printf) __P((const char *, ...));
96 1.4.2.2 bouyer
97 1.4.2.2 bouyer /* prom protocol entry points */
98 1.4.2.2 bouyer void (*prom_initproto) __P((void)); /* ??? */
99 1.4.2.2 bouyer void (*prom_protoenable) __P((void)); /* ??? */
100 1.4.2.2 bouyer void (*prom_protodisable) __P((void)); /* ??? */
101 1.4.2.2 bouyer void (*prom_getpkt) __P((void)); /* ??? */
102 1.4.2.2 bouyer void (*prom_putpkt) __P((void)); /* ??? */
103 1.4.2.2 bouyer
104 1.4.2.2 bouyer /*
105 1.4.2.2 bouyer * read-modify-write routine use special cpu board circuitry to
106 1.4.2.2 bouyer * accomplish vme bus r-m-w cycles.
107 1.4.2.2 bouyer */
108 1.4.2.2 bouyer void (*prom_orw_rmw) __P((void));
109 1.4.2.2 bouyer void (*prom_orh_rmw) __P((void));
110 1.4.2.2 bouyer void (*prom_orb_rmw) __P((void));
111 1.4.2.2 bouyer void (*prom_andw_rmw) __P((void));
112 1.4.2.2 bouyer void (*prom_andh_rmw) __P((void));
113 1.4.2.2 bouyer void (*prom_andb_rmw) __P((void));
114 1.4.2.2 bouyer
115 1.4.2.2 bouyer /*
116 1.4.2.2 bouyer * cache control entry points
117 1.4.2.2 bouyer * flushcache is called without arguments and invalidates entire
118 1.4.2.2 bouyer * contents of both i and d caches
119 1.4.2.2 bouyer * clearcache is called with a base address and length (where
120 1.4.2.2 bouyer * address is either K0, K1, or physical) and clears both
121 1.4.2.2 bouyer * i and d cache for entries that alias to specified address
122 1.4.2.2 bouyer * range.
123 1.4.2.2 bouyer */
124 1.4.2.2 bouyer void (*prom_flushcache) __P((void));
125 1.4.2.2 bouyer void (*prom_clearcache) __P((void *, size_t));
126 1.4.2.2 bouyer
127 1.4.2.2 bouyer /*
128 1.4.2.2 bouyer * Libc compatible functions
129 1.4.2.2 bouyer */
130 1.4.2.2 bouyer void (*prom_setjmp) __P((void));
131 1.4.2.2 bouyer void (*prom_longjmp) __P((void));
132 1.4.2.2 bouyer void (*prom_bevutlb) __P((void));
133 1.4.2.2 bouyer char * (*prom_getenv) __P((char *name));
134 1.4.2.2 bouyer int (*prom_setenv) __P((char *name, char *val));
135 1.4.2.2 bouyer int (*prom_atob) __P((char *s));
136 1.4.2.2 bouyer int (*prom_strcmp) __P((char *s1, char *s2));
137 1.4.2.2 bouyer int (*prom_strlen) __P((char *s));
138 1.4.2.2 bouyer char * (*prom_strcpy) __P((char *s1, char *s2));
139 1.4.2.2 bouyer char * (*prom_strcat) __P((char *s1, char *s2));
140 1.4.2.2 bouyer
141 1.4.2.2 bouyer /*
142 1.4.2.2 bouyer * command parser entry points
143 1.4.2.2 bouyer */
144 1.4.2.2 bouyer void (*prom_parser) __P((void)); /* ??? */
145 1.4.2.2 bouyer void (*prom_range) __P((void)); /* ??? */
146 1.4.2.2 bouyer void (*prom_argvize) __P((void)); /* ??? */
147 1.4.2.2 bouyer void (*prom_help) __P((void));
148 1.4.2.2 bouyer
149 1.4.2.2 bouyer /*
150 1.4.2.2 bouyer * prom commands
151 1.4.2.2 bouyer */
152 1.4.2.2 bouyer void (*prom_dumpcmd) __P((void));
153 1.4.2.2 bouyer void (*prom_setenvcmd) __P((void));
154 1.4.2.2 bouyer void (*prom_unsetenvcmd) __P((void));
155 1.4.2.2 bouyer void (*prom_bevexcept) __P((void));
156 1.4.2.2 bouyer void (*prom_enablecmd) __P((void));
157 1.4.2.2 bouyer void (*prom_disablecmd) __P((void));
158 1.4.2.2 bouyer
159 1.4.2.2 bouyer /*
160 1.4.2.2 bouyer * clear existing fault handlers
161 1.4.2.2 bouyer * used by clients that link to prom on situations where client has
162 1.4.2.2 bouyer * interrupted out of prom code and wish to reenter without being
163 1.4.2.2 bouyer * tripped up by any pending prom timers set earlier.
164 1.4.2.2 bouyer */
165 1.4.2.2 bouyer void (*prom_clearnofault) __P((void));
166 1.4.2.2 bouyer
167 1.4.2.2 bouyer void (*prom_notimpl) __P((void));
168 1.4.2.2 bouyer
169 1.4.2.2 bouyer /*
170 1.4.2.2 bouyer * PROM_NVGET, PROM_NVSET will get/set information in the NVRAM.
171 1.4.2.2 bouyer * Both of these routines take indexes as opposed to addresses
172 1.4.2.2 bouyer * to guarantee portability between various platforms
173 1.4.2.2 bouyer */
174 1.4.2.2 bouyer int (*prom_nvget) __P((int));
175 1.4.2.2 bouyer void (*prom_nvset) __P((void));
176 1.4.2.2 bouyer };
177 1.4.2.2 bouyer
178 1.4.2.2 bouyer extern struct mips_prom *callv;
179 1.4.2.2 bouyer
180 1.4.2.2 bouyer extern void prom_init __P((void));
181 1.4.2.2 bouyer
182 1.4.2.2 bouyer #endif /* _LOCORE */
183 1.4.2.2 bouyer
184 1.4.2.2 bouyer /*
185 1.4.2.2 bouyer * Macro to help call a prom function
186 1.4.2.2 bouyer */
187 1.4.2.2 bouyer #define MIPS_PROM(func) (callv->prom_##func)
188 1.4.2.2 bouyer
189 1.4.2.2 bouyer /*
190 1.4.2.2 bouyer * Return the address for a given prom function number
191 1.4.2.2 bouyer */
192 1.4.2.2 bouyer #define MIPS_PROM_ENTRY(x) (0xbfc00000+((x)*8))
193 1.4.2.2 bouyer
194 1.4.2.2 bouyer /*
195 1.4.2.2 bouyer * MIPS PROM firmware functions:
196 1.4.2.2 bouyer *
197 1.4.2.2 bouyer * MIPS_PROM_RESET Run diags, check bootmode, reinit.
198 1.4.2.2 bouyer * MIPS_PROM_EXEC Load new program image.
199 1.4.2.2 bouyer * MIPS_PROM_RESTART Re-enter monitor command loop.
200 1.4.2.2 bouyer * MIPS_PROM_REINIT Re-init monitor, then cmd loop.
201 1.4.2.2 bouyer * MIPS_PROM_REBOOT Check bootmode, no config.
202 1.4.2.2 bouyer * MIPS_PROM_AUTOBOOT Autoboot the system.
203 1.4.2.2 bouyer *
204 1.4.2.2 bouyer * The following routines access PROM saio routines and may be used by
205 1.4.2.2 bouyer * standalone programs that would like to use PROM I/O:
206 1.4.2.2 bouyer *
207 1.4.2.2 bouyer * MIPS_PROM_OPEN Open a file.
208 1.4.2.2 bouyer * MIPS_PROM_READ Read from a file.
209 1.4.2.2 bouyer * MIPS_PROM_WRITE Write to a file.
210 1.4.2.2 bouyer * MIPS_PROM_IOCTL Ioctl on a file.
211 1.4.2.2 bouyer * MIPS_PROM_CLOSE Close a file.
212 1.4.2.2 bouyer * MIPS_PROM_GETCHAR Read character from console.
213 1.4.2.2 bouyer * MIPS_PROM_PUTCHAR Put character on console.
214 1.4.2.2 bouyer * MIPS_PROM_SHOWCHAR Show a char visibly.
215 1.4.2.2 bouyer * MIPS_PROM_GETS gets with editing.
216 1.4.2.2 bouyer * MIPS_PROM_PUTS Put string to console.
217 1.4.2.2 bouyer * MIPS_PROM_PRINTF Kernel style printf to console.
218 1.4.2.2 bouyer *
219 1.4.2.2 bouyer * PROM protocol entry points:
220 1.4.2.2 bouyer *
221 1.4.2.2 bouyer * MIPS_PROM_INITPROTO Initialize protocol.
222 1.4.2.2 bouyer * MIPS_PROM_PROTOENABLE Enable protocol mode.
223 1.4.2.2 bouyer * MIPS_PROM_PROTODISABLE Disable protocol mode.
224 1.4.2.2 bouyer * MIPS_PROM_GETPKT Get protocol packet.
225 1.4.2.2 bouyer * MIPS_PROM_PUTPKT Put protocol packet.
226 1.4.2.2 bouyer *
227 1.4.2.2 bouyer * Atomic Read-Modify-Write functions
228 1.4.2.2 bouyer *
229 1.4.2.2 bouyer * MIPS_PROM_RMW_OR32 r-m-w OR word.
230 1.4.2.2 bouyer * MIPS_PROM_RMW_OR16 r-m-w OR halfword.
231 1.4.2.2 bouyer * MIPS_PROM_RMW_OR8 r-m-w OR or byte.
232 1.4.2.2 bouyer * MIPS_PROM_RMW_AND32 r-m-w AND word.
233 1.4.2.2 bouyer * MIPS_PROM_RMW_AND16 r-m-w AND halfword.
234 1.4.2.2 bouyer * MIPS_PROM_RMW_AND8 r-m-w AND byte.
235 1.4.2.2 bouyer *
236 1.4.2.2 bouyer * MIPS_PROM_FLUSHCACHE Flush entire cache ().
237 1.4.2.2 bouyer * MIPS_PROM_CLEARCACHE Clear I & D cache in range (addr, len).
238 1.4.2.2 bouyer * MIPS_PROM_SETJMP Save registers in a buffer.
239 1.4.2.2 bouyer * MIPS_PROM_LONGJMP Get register back from buffer.
240 1.4.2.2 bouyer * MIPS_PROM_BEVUTLB utlbmiss boot exception vector
241 1.4.2.2 bouyer * MIPS_PROM_GETENV Gets a string from system environment.
242 1.4.2.2 bouyer * MIPS_PROM_SETENV Sets a string in system environment.
243 1.4.2.2 bouyer * MIPS_PROM_ATOB Converts ascii string to number.
244 1.4.2.2 bouyer * MIPS_PROM_STRCMP Compares strings (strcmp).
245 1.4.2.2 bouyer * MIPS_PROM_STRLEN Length of string (strlen).
246 1.4.2.2 bouyer * MIPS_PROM_STRCPY Copies string (strcpy).
247 1.4.2.2 bouyer * MIPS_PROM_STRCAT Appends string (strcat).
248 1.4.2.2 bouyer * MIPS_PROM_PARSER Command parser.
249 1.4.2.2 bouyer * MIPS_PROM_RANGE Address range parser
250 1.4.2.2 bouyer * MIPS_PROM_ARGVIZE Parses string to argc,argv.
251 1.4.2.2 bouyer * MIPS_PROM_HELP Help on prom commands.
252 1.4.2.2 bouyer * MIPS_PROM_DUMP Dump memory command.
253 1.4.2.2 bouyer * MIPS_PROM_SETENVCMD Setenv command.
254 1.4.2.2 bouyer * MIPS_PROM_UNSETENVCMD Unsetenv command.
255 1.4.2.2 bouyer * MIPS_PROM_PRINTENV Print environment command.
256 1.4.2.2 bouyer * MIPS_PROM_BEVEXCEPT General boot exception vector
257 1.4.2.2 bouyer * MIPS_PROM_ENABLE Performs prom enable command.
258 1.4.2.2 bouyer * MIPS_PROM_DISABLE Performs prom disable command.
259 1.4.2.2 bouyer * MIPS_PROM_CLEARNOFAULT Clear existing fault handlers.
260 1.4.2.2 bouyer * MIPS_PROM_NOTIMPL Guaranteed to be not implemented
261 1.4.2.2 bouyer * MIPS_PROM_NVGET Read bytes from NVRAM
262 1.4.2.2 bouyer * MIPS_PROM_NVSET Write bytes to NVRAM
263 1.4.2.2 bouyer */
264 1.4.2.2 bouyer
265 1.4.2.2 bouyer #define MIPS_PROM_RESET MIPS_PROM_ENTRY(0)
266 1.4.2.2 bouyer #define MIPS_PROM_EXEC MIPS_PROM_ENTRY(1)
267 1.4.2.2 bouyer #define MIPS_PROM_RESTART MIPS_PROM_ENTRY(2)
268 1.4.2.2 bouyer #define MIPS_PROM_REINIT MIPS_PROM_ENTRY(3)
269 1.4.2.2 bouyer #define MIPS_PROM_REBOOT MIPS_PROM_ENTRY(4)
270 1.4.2.2 bouyer #define MIPS_PROM_AUTOBOOT MIPS_PROM_ENTRY(5)
271 1.4.2.2 bouyer #define MIPS_PROM_OPEN MIPS_PROM_ENTRY(6)
272 1.4.2.2 bouyer #define MIPS_PROM_READ MIPS_PROM_ENTRY(7)
273 1.4.2.2 bouyer #define MIPS_PROM_WRITE MIPS_PROM_ENTRY(8)
274 1.4.2.2 bouyer #define MIPS_PROM_IOCTL MIPS_PROM_ENTRY(9)
275 1.4.2.2 bouyer #define MIPS_PROM_CLOSE MIPS_PROM_ENTRY(10)
276 1.4.2.2 bouyer #define MIPS_PROM_GETCHAR MIPS_PROM_ENTRY(11)
277 1.4.2.2 bouyer #define MIPS_PROM_PUTCHAR MIPS_PROM_ENTRY(12)
278 1.4.2.2 bouyer #define MIPS_PROM_SHOWCHAR MIPS_PROM_ENTRY(13)
279 1.4.2.2 bouyer #define MIPS_PROM_GETS MIPS_PROM_ENTRY(14)
280 1.4.2.2 bouyer #define MIPS_PROM_PUTS MIPS_PROM_ENTRY(15)
281 1.4.2.2 bouyer #define MIPS_PROM_PRINTF MIPS_PROM_ENTRY(16)
282 1.4.2.2 bouyer #define MIPS_PROM_INITPROTO MIPS_PROM_ENTRY(17)
283 1.4.2.2 bouyer #define MIPS_PROM_PROTOENABLE MIPS_PROM_ENTRY(18)
284 1.4.2.2 bouyer #define MIPS_PROM_PROTODISABLE MIPS_PROM_ENTRY(19)
285 1.4.2.2 bouyer #define MIPS_PROM_GETPKT MIPS_PROM_ENTRY(20)
286 1.4.2.2 bouyer #define MIPS_PROM_PUTPKT MIPS_PROM_ENTRY(21)
287 1.4.2.2 bouyer #define MIPS_PROM_ORW_RMW MIPS_PROM_ENTRY(22)
288 1.4.2.2 bouyer #define MIPS_PROM_ORH_RMW MIPS_PROM_ENTRY(23)
289 1.4.2.2 bouyer #define MIPS_PROM_ORB_RMW MIPS_PROM_ENTRY(24)
290 1.4.2.2 bouyer #define MIPS_PROM_ANDW_RMW MIPS_PROM_ENTRY(25)
291 1.4.2.2 bouyer #define MIPS_PROM_ANDH_RMW MIPS_PROM_ENTRY(26)
292 1.4.2.2 bouyer #define MIPS_PROM_ANDB_RMW MIPS_PROM_ENTRY(27)
293 1.4.2.2 bouyer #define MIPS_PROM_FLUSHCACHE MIPS_PROM_ENTRY(28)
294 1.4.2.2 bouyer #define MIPS_PROM_CLEARCACHE MIPS_PROM_ENTRY(29)
295 1.4.2.2 bouyer #define MIPS_PROM_SETJMP MIPS_PROM_ENTRY(30)
296 1.4.2.2 bouyer #define MIPS_PROM_LONGJMP MIPS_PROM_ENTRY(31)
297 1.4.2.2 bouyer #define MIPS_PROM_BEVUTLB MIPS_PROM_ENTRY(32)
298 1.4.2.2 bouyer #define MIPS_PROM_GETENV MIPS_PROM_ENTRY(33)
299 1.4.2.2 bouyer #define MIPS_PROM_SETENV MIPS_PROM_ENTRY(34)
300 1.4.2.2 bouyer #define MIPS_PROM_ATOB MIPS_PROM_ENTRY(35)
301 1.4.2.2 bouyer #define MIPS_PROM_STRCMP MIPS_PROM_ENTRY(36)
302 1.4.2.2 bouyer #define MIPS_PROM_STRLEN MIPS_PROM_ENTRY(37)
303 1.4.2.2 bouyer #define MIPS_PROM_STRCPY MIPS_PROM_ENTRY(38)
304 1.4.2.2 bouyer #define MIPS_PROM_STRCAT MIPS_PROM_ENTRY(39)
305 1.4.2.2 bouyer #define MIPS_PROM_PARSER MIPS_PROM_ENTRY(40)
306 1.4.2.2 bouyer #define MIPS_PROM_RANGE MIPS_PROM_ENTRY(41)
307 1.4.2.2 bouyer #define MIPS_PROM_ARGVIZE MIPS_PROM_ENTRY(42)
308 1.4.2.2 bouyer #define MIPS_PROM_HELP MIPS_PROM_ENTRY(43)
309 1.4.2.2 bouyer #define MIPS_PROM_DUMP MIPS_PROM_ENTRY(44)
310 1.4.2.2 bouyer #define MIPS_PROM_SETENVCMD MIPS_PROM_ENTRY(45)
311 1.4.2.2 bouyer #define MIPS_PROM_UNSETENVCMD MIPS_PROM_ENTRY(46)
312 1.4.2.2 bouyer #define MIPS_PROM_PRINTENV MIPS_PROM_ENTRY(47)
313 1.4.2.2 bouyer #define MIPS_PROM_BEVEXCEPT MIPS_PROM_ENTRY(48)
314 1.4.2.2 bouyer #define MIPS_PROM_ENABLE MIPS_PROM_ENTRY(49)
315 1.4.2.2 bouyer #define MIPS_PROM_DISABLE MIPS_PROM_ENTRY(50)
316 1.4.2.2 bouyer #define MIPS_PROM_CLEARNOFAULT MIPS_PROM_ENTRY(51)
317 1.4.2.2 bouyer #define MIPS_PROM_NOTIMPLEMENT MIPS_PROM_ENTRY(52)
318 1.4.2.2 bouyer #define MIPS_PROM_NVGET MIPS_PROM_ENTRY(53)
319 1.4.2.2 bouyer #define MIPS_PROM_NVSET MIPS_PROM_ENTRY(54)
320 1.4.2.2 bouyer
321 1.4.2.4 bouyer #if defined(_KERNEL) && !defined(__ASSEMBLER__)
322 1.4.2.3 bouyer extern void prom_init (void);
323 1.4.2.3 bouyer extern int prom_getconsole (void);
324 1.4.2.3 bouyer #endif
325 1.4.2.3 bouyer
326 1.4.2.2 bouyer #endif /* ! _MIPSCO_PROM_H */
327