xref: /netbsd-src/sys/arch/mipsco/include/prom.h (revision 02cdf4d2c869ecfa1ae5484cf77eefe2fbcc6d94)
1*02cdf4d2Sdsl /*	$NetBSD: prom.h,v 1.12 2009/03/14 14:46:02 dsl Exp $	*/
29ac68bcbSwdk 
39ac68bcbSwdk /*
49ac68bcbSwdk  * Copyright (c) 2000 The NetBSD Foundation, Inc.
59ac68bcbSwdk  * All rights reserved.
69ac68bcbSwdk  *
79ac68bcbSwdk  * This code is derived from software contributed to The NetBSD Foundation
89ac68bcbSwdk  * by Wayne Knowles
99ac68bcbSwdk  *
109ac68bcbSwdk  * Redistribution and use in source and binary forms, with or without
119ac68bcbSwdk  * modification, are permitted provided that the following conditions
129ac68bcbSwdk  * are met:
139ac68bcbSwdk  * 1. Redistributions of source code must retain the above copyright
149ac68bcbSwdk  *    notice, this list of conditions and the following disclaimer.
159ac68bcbSwdk  * 2. Redistributions in binary form must reproduce the above copyright
169ac68bcbSwdk  *    notice, this list of conditions and the following disclaimer in the
179ac68bcbSwdk  *    documentation and/or other materials provided with the distribution.
189ac68bcbSwdk  *
199ac68bcbSwdk  * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
209ac68bcbSwdk  * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
219ac68bcbSwdk  * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
229ac68bcbSwdk  * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
239ac68bcbSwdk  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
249ac68bcbSwdk  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
259ac68bcbSwdk  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
269ac68bcbSwdk  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
279ac68bcbSwdk  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
289ac68bcbSwdk  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
299ac68bcbSwdk  * POSSIBILITY OF SUCH DAMAGE.
309ac68bcbSwdk  */
319ac68bcbSwdk 
329ac68bcbSwdk /*
339ac68bcbSwdk  * Entry points into PROM firmware functions for MIPS machines
349ac68bcbSwdk  */
359ac68bcbSwdk 
367980486eSwdk #ifndef _MIPSCO_PROM_H
377980486eSwdk #define _MIPSCO_PROM_H
387980486eSwdk 
397980486eSwdk #ifndef _LOCORE
407980486eSwdk #include <sys/types.h>
417980486eSwdk #include <sys/cdefs.h>
429ac68bcbSwdk 
439ac68bcbSwdk struct mips_prom {
449ac68bcbSwdk 
459ac68bcbSwdk 	/*
469ac68bcbSwdk 	 * transferred to on hardware reset, configures MIPS boards,
479ac68bcbSwdk 	 * runs diags, check for appropriate auto boot action in
489ac68bcbSwdk 	 * "bootmode" environment variable and performs that action.
499ac68bcbSwdk 	 */
50*02cdf4d2Sdsl 	void	(*prom_reset)(void) __attribute__((__noreturn__));
519ac68bcbSwdk 
529ac68bcbSwdk 	/*
531f4ad37fSperry 	 * called to use prom to boot new image.  After the booted
549ac68bcbSwdk 	 * program returns control can either be returned to the
559ac68bcbSwdk 	 * original caller of the exec routine or to the prom monitor.
569ac68bcbSwdk 	 * (to return to the original caller, the new program must
579ac68bcbSwdk 	 * not destroy any text, data, or stack of the parent.  the
589ac68bcbSwdk 	 * new programs stack continues on the parents stack.
599ac68bcbSwdk 	 */
60*02cdf4d2Sdsl 	int	(*prom_exec)(void);
619ac68bcbSwdk 
629ac68bcbSwdk 	/* re-enter the prom command parser, do not reset prom state	*/
63*02cdf4d2Sdsl 	void	(*prom_restart)(void) __attribute__((__noreturn__));
649ac68bcbSwdk 
659ac68bcbSwdk 	/* reinitialize prom state and re-enter the prom command parser */
66*02cdf4d2Sdsl 	void	(*prom_reinit)(void) __attribute__((__noreturn__));
679ac68bcbSwdk 
689ac68bcbSwdk 	/* reboot machine using current bootmode setting.  No diags */
69*02cdf4d2Sdsl 	void	(*prom_reboot)(void) __attribute__((__noreturn__));
709ac68bcbSwdk 
719ac68bcbSwdk 	/* perform an autoboot sequence, no configuration or diags run */
72*02cdf4d2Sdsl 	void	(*prom_autoboot)(void) __attribute__((__noreturn__));
739ac68bcbSwdk 
749ac68bcbSwdk 	/*
759ac68bcbSwdk 	 * these routines access prom "saio" routines, and may be used
769ac68bcbSwdk 	 * by standalone programs that would like to use prom io
779ac68bcbSwdk 	 */
78*02cdf4d2Sdsl 	int	(*prom_open)(char *, int, ...);
79*02cdf4d2Sdsl 	int	(*prom_read)(int, void *, int);
80*02cdf4d2Sdsl 	int	(*prom_write)(int, void *, int);
81*02cdf4d2Sdsl 	int	(*prom_ioctl)(int, long, ...);
82*02cdf4d2Sdsl 	int	(*prom_close)(int);
83*02cdf4d2Sdsl 	int	(*prom_getchar)(void);
84*02cdf4d2Sdsl 	int	(*prom_putchar)(int c);
85*02cdf4d2Sdsl 	void	(*prom_showchar)(int c);
86*02cdf4d2Sdsl 	char * 	(*prom_gets)(char *s);
87*02cdf4d2Sdsl 	void	(*prom_puts)(const char *);
88*02cdf4d2Sdsl 	int	(*prom_printf)(const char *, ...);
899ac68bcbSwdk 
909ac68bcbSwdk 	/* prom protocol entry points */
91*02cdf4d2Sdsl 	void	(*prom_initproto)(void); /* ??? */
92*02cdf4d2Sdsl 	void	(*prom_protoenable)(void); /* ??? */
93*02cdf4d2Sdsl 	void	(*prom_protodisable)(void); /* ??? */
94*02cdf4d2Sdsl 	void	(*prom_getpkt)(void); /* ??? */
95*02cdf4d2Sdsl 	void	(*prom_putpkt)(void); /* ??? */
969ac68bcbSwdk 
979ac68bcbSwdk 	/*
98d20841bbSwiz 	 * read-modify-write routine use special CPU board circuitry to
999ac68bcbSwdk 	 * accomplish vme bus r-m-w cycles.
1009ac68bcbSwdk 	 */
101*02cdf4d2Sdsl 	void	(*prom_orw_rmw)(void);
102*02cdf4d2Sdsl 	void	(*prom_orh_rmw)(void);
103*02cdf4d2Sdsl 	void	(*prom_orb_rmw)(void);
104*02cdf4d2Sdsl 	void	(*prom_andw_rmw)(void);
105*02cdf4d2Sdsl 	void	(*prom_andh_rmw)(void);
106*02cdf4d2Sdsl 	void	(*prom_andb_rmw)(void);
1079ac68bcbSwdk 
1089ac68bcbSwdk 	/*
1099ac68bcbSwdk 	 * cache control entry points
1109ac68bcbSwdk 	 * flushcache is called without arguments and invalidates entire
1119ac68bcbSwdk 	 *      contents of both i and d caches
1129ac68bcbSwdk 	 * clearcache is called with a base address and length (where
1139ac68bcbSwdk 	 *      address is either K0, K1, or physical) and clears both
1149ac68bcbSwdk 	 *      i and d cache for entries that alias to specified address
1159ac68bcbSwdk 	 *      range.
1169ac68bcbSwdk 	 */
117*02cdf4d2Sdsl 	void	(*prom_flushcache)(void);
118*02cdf4d2Sdsl 	void	(*prom_clearcache)(void *, size_t);
1199ac68bcbSwdk 
1209ac68bcbSwdk 	/*
1219ac68bcbSwdk 	 * Libc compatible functions
1229ac68bcbSwdk 	 */
123*02cdf4d2Sdsl 	void	(*prom_setjmp)(void);
124*02cdf4d2Sdsl 	void	(*prom_longjmp)(void);
125*02cdf4d2Sdsl 	void	(*prom_bevutlb)(void);
126*02cdf4d2Sdsl 	char *	(*prom_getenv)(const char *name);
127*02cdf4d2Sdsl 	int	(*prom_setenv)(char *name, char *val);
128*02cdf4d2Sdsl 	int	(*prom_atob)(char *s);
129*02cdf4d2Sdsl 	int	(*prom_strcmp)(char *s1, char *s2);
130*02cdf4d2Sdsl 	int	(*prom_strlen)(char *s);
131*02cdf4d2Sdsl 	char *	(*prom_strcpy)(char *s1, char *s2);
132*02cdf4d2Sdsl 	char *	(*prom_strcat)(char *s1, char *s2);
1339ac68bcbSwdk 
1349ac68bcbSwdk 	/*
1359ac68bcbSwdk 	 * command parser entry points
1369ac68bcbSwdk 	 */
137*02cdf4d2Sdsl 	void	(*prom_parser)(void); /* ??? */
138*02cdf4d2Sdsl 	void	(*prom_range)(void); /* ??? */
139*02cdf4d2Sdsl 	void	(*prom_argvize)(void); /* ??? */
140*02cdf4d2Sdsl 	void	(*prom_help)(void);
1419ac68bcbSwdk 
1429ac68bcbSwdk 	/*
1439ac68bcbSwdk 	 * prom commands
1449ac68bcbSwdk 	 */
145*02cdf4d2Sdsl 	void	(*prom_dumpcmd)(void);
146*02cdf4d2Sdsl 	void	(*prom_setenvcmd)(void);
147*02cdf4d2Sdsl 	void	(*prom_unsetenvcmd)(void);
148*02cdf4d2Sdsl 	void	(*prom_bevexcept)(void);
149*02cdf4d2Sdsl 	void	(*prom_enablecmd)(void);
150*02cdf4d2Sdsl 	void	(*prom_disablecmd)(void);
1519ac68bcbSwdk 
1529ac68bcbSwdk 	/*
1539ac68bcbSwdk 	 * clear existing fault handlers
1549ac68bcbSwdk 	 * used by clients that link to prom on situations where client has
1559ac68bcbSwdk 	 * interrupted out of prom code and wish to reenter without being
1569ac68bcbSwdk 	 * tripped up by any pending prom timers set earlier.
1579ac68bcbSwdk 	 */
158*02cdf4d2Sdsl 	void	(*prom_clearnofault)(void);
1599ac68bcbSwdk 
160*02cdf4d2Sdsl 	void	(*prom_notimpl)(void);
1619ac68bcbSwdk 
1629ac68bcbSwdk 	/*
1639ac68bcbSwdk 	 * PROM_NVGET, PROM_NVSET will get/set information in the NVRAM.
1649ac68bcbSwdk 	 * Both of these routines take indexes as opposed to addresses
1659ac68bcbSwdk 	 * to guarantee portability between various platforms
1669ac68bcbSwdk 	 */
167*02cdf4d2Sdsl 	int	(*prom_nvget)(int);
168*02cdf4d2Sdsl 	void	(*prom_nvset)(void);
1699ac68bcbSwdk };
1709ac68bcbSwdk 
1719ac68bcbSwdk extern struct mips_prom *callv;
1729ac68bcbSwdk 
173*02cdf4d2Sdsl extern void prom_init(void);
1747980486eSwdk 
1757980486eSwdk #endif	/* _LOCORE */
1767980486eSwdk 
1779ac68bcbSwdk /*
1789ac68bcbSwdk  * Macro to help call a prom function
1799ac68bcbSwdk  */
1809ac68bcbSwdk #define MIPS_PROM(func)		(callv->prom_##func)
1819ac68bcbSwdk 
1829ac68bcbSwdk /*
1837980486eSwdk  * Return the address for a given prom function number
1847980486eSwdk  */
1857980486eSwdk #define	MIPS_PROM_ENTRY(x)	(0xbfc00000+((x)*8))
1869ac68bcbSwdk 
1877980486eSwdk /*
1887980486eSwdk  * MIPS PROM firmware functions:
1897980486eSwdk  *
1907980486eSwdk  *	MIPS_PROM_RESET		Run diags, check bootmode, reinit.
1917980486eSwdk  *	MIPS_PROM_EXEC		Load new program image.
1927980486eSwdk  *	MIPS_PROM_RESTART	Re-enter monitor command loop.
1937980486eSwdk  *	MIPS_PROM_REINIT	Re-init monitor, then cmd loop.
1947980486eSwdk  *	MIPS_PROM_REBOOT	Check bootmode, no config.
1957980486eSwdk  *	MIPS_PROM_AUTOBOOT	Autoboot the system.
1967980486eSwdk  *
1977980486eSwdk  * The following routines access PROM saio routines and may be used by
1987980486eSwdk  * standalone programs that would like to use PROM I/O:
1997980486eSwdk  *
2007980486eSwdk  *	MIPS_PROM_OPEN		Open a file.
2017980486eSwdk  *	MIPS_PROM_READ		Read from a file.
2027980486eSwdk  *	MIPS_PROM_WRITE		Write to a file.
2037980486eSwdk  *	MIPS_PROM_IOCTL		Ioctl on a file.
2047980486eSwdk  *	MIPS_PROM_CLOSE		Close a file.
2057980486eSwdk  *	MIPS_PROM_GETCHAR	Read character from console.
2067980486eSwdk  *	MIPS_PROM_PUTCHAR	Put character on console.
2077980486eSwdk  *	MIPS_PROM_SHOWCHAR	Show a char visibly.
2087980486eSwdk  *	MIPS_PROM_GETS		gets with editing.
2097980486eSwdk  *	MIPS_PROM_PUTS		Put string to console.
2107980486eSwdk  *	MIPS_PROM_PRINTF	Kernel style printf to console.
2117980486eSwdk  *
2127980486eSwdk  *  PROM protocol entry points:
2137980486eSwdk  *
2147980486eSwdk  *	MIPS_PROM_INITPROTO	Initialize protocol.
2157980486eSwdk  *	MIPS_PROM_PROTOENABLE	Enable protocol mode.
2167980486eSwdk  *	MIPS_PROM_PROTODISABLE	Disable protocol mode.
2177980486eSwdk  *	MIPS_PROM_GETPKT	Get protocol packet.
2187980486eSwdk  *	MIPS_PROM_PUTPKT	Put protocol packet.
2197980486eSwdk  *
2207980486eSwdk  *   Atomic Read-Modify-Write functions
2217980486eSwdk  *
2227980486eSwdk  *	MIPS_PROM_RMW_OR32	r-m-w OR word.
2237980486eSwdk  *	MIPS_PROM_RMW_OR16	r-m-w OR halfword.
2247980486eSwdk  *	MIPS_PROM_RMW_OR8	r-m-w OR or byte.
2257980486eSwdk  *	MIPS_PROM_RMW_AND32	r-m-w AND word.
2267980486eSwdk  *	MIPS_PROM_RMW_AND16	r-m-w AND halfword.
2277980486eSwdk  *	MIPS_PROM_RMW_AND8	r-m-w AND byte.
2287980486eSwdk  *
2297980486eSwdk  *	MIPS_PROM_FLUSHCACHE	Flush entire cache ().
2307980486eSwdk  *	MIPS_PROM_CLEARCACHE	Clear I & D cache in range (addr, len).
2317980486eSwdk  *	MIPS_PROM_SETJMP	Save registers in a buffer.
2327980486eSwdk  *	MIPS_PROM_LONGJMP	Get register back from buffer.
2337980486eSwdk  *	MIPS_PROM_BEVUTLB	utlbmiss boot exception vector
2347980486eSwdk  *	MIPS_PROM_GETENV	Gets a string from system environment.
2357980486eSwdk  *	MIPS_PROM_SETENV	Sets a string in system environment.
2367980486eSwdk  *	MIPS_PROM_ATOB		Converts ascii string to number.
2377980486eSwdk  *	MIPS_PROM_STRCMP	Compares strings (strcmp).
2387980486eSwdk  *	MIPS_PROM_STRLEN	Length of string (strlen).
2397980486eSwdk  *	MIPS_PROM_STRCPY	Copies string (strcpy).
2407980486eSwdk  *	MIPS_PROM_STRCAT	Appends string (strcat).
2417980486eSwdk  *	MIPS_PROM_PARSER	Command parser.
2427980486eSwdk  *	MIPS_PROM_RANGE		Address range parser
2437980486eSwdk  *	MIPS_PROM_ARGVIZE	Parses string to argc,argv.
2447980486eSwdk  *	MIPS_PROM_HELP		Help on prom commands.
2457980486eSwdk  *	MIPS_PROM_DUMP		Dump memory command.
2467980486eSwdk  *	MIPS_PROM_SETENVCMD	Setenv command.
2477980486eSwdk  *	MIPS_PROM_UNSETENVCMD	Unsetenv command.
2487980486eSwdk  *	MIPS_PROM_PRINTENV	Print environment command.
2497980486eSwdk  *	MIPS_PROM_BEVEXCEPT	General boot exception vector
2507980486eSwdk  *	MIPS_PROM_ENABLE	Performs prom enable command.
2517980486eSwdk  *	MIPS_PROM_DISABLE	Performs prom disable command.
2527980486eSwdk  *	MIPS_PROM_CLEARNOFAULT	Clear existing fault handlers.
2537980486eSwdk  *	MIPS_PROM_NOTIMPL	Guaranteed to be not implemented
2547980486eSwdk  *	MIPS_PROM_NVGET		Read bytes from NVRAM
2557980486eSwdk  *	MIPS_PROM_NVSET		Write bytes to NVRAM
2567980486eSwdk  */
2577980486eSwdk 
2587980486eSwdk #define	MIPS_PROM_RESET		MIPS_PROM_ENTRY(0)
2597980486eSwdk #define	MIPS_PROM_EXEC		MIPS_PROM_ENTRY(1)
2607980486eSwdk #define	MIPS_PROM_RESTART	MIPS_PROM_ENTRY(2)
2617980486eSwdk #define	MIPS_PROM_REINIT	MIPS_PROM_ENTRY(3)
2627980486eSwdk #define	MIPS_PROM_REBOOT	MIPS_PROM_ENTRY(4)
2637980486eSwdk #define	MIPS_PROM_AUTOBOOT	MIPS_PROM_ENTRY(5)
2647980486eSwdk #define	MIPS_PROM_OPEN		MIPS_PROM_ENTRY(6)
2657980486eSwdk #define	MIPS_PROM_READ		MIPS_PROM_ENTRY(7)
2667980486eSwdk #define	MIPS_PROM_WRITE		MIPS_PROM_ENTRY(8)
2677980486eSwdk #define	MIPS_PROM_IOCTL		MIPS_PROM_ENTRY(9)
2687980486eSwdk #define	MIPS_PROM_CLOSE		MIPS_PROM_ENTRY(10)
2697980486eSwdk #define	MIPS_PROM_GETCHAR	MIPS_PROM_ENTRY(11)
2707980486eSwdk #define	MIPS_PROM_PUTCHAR	MIPS_PROM_ENTRY(12)
2717980486eSwdk #define	MIPS_PROM_SHOWCHAR	MIPS_PROM_ENTRY(13)
2727980486eSwdk #define	MIPS_PROM_GETS		MIPS_PROM_ENTRY(14)
2737980486eSwdk #define	MIPS_PROM_PUTS		MIPS_PROM_ENTRY(15)
2747980486eSwdk #define	MIPS_PROM_PRINTF	MIPS_PROM_ENTRY(16)
2757980486eSwdk #define	MIPS_PROM_INITPROTO	MIPS_PROM_ENTRY(17)
2767980486eSwdk #define	MIPS_PROM_PROTOENABLE	MIPS_PROM_ENTRY(18)
2777980486eSwdk #define	MIPS_PROM_PROTODISABLE	MIPS_PROM_ENTRY(19)
2787980486eSwdk #define	MIPS_PROM_GETPKT	MIPS_PROM_ENTRY(20)
2797980486eSwdk #define	MIPS_PROM_PUTPKT	MIPS_PROM_ENTRY(21)
2807980486eSwdk #define	MIPS_PROM_ORW_RMW	MIPS_PROM_ENTRY(22)
2817980486eSwdk #define	MIPS_PROM_ORH_RMW	MIPS_PROM_ENTRY(23)
2827980486eSwdk #define	MIPS_PROM_ORB_RMW	MIPS_PROM_ENTRY(24)
2837980486eSwdk #define	MIPS_PROM_ANDW_RMW	MIPS_PROM_ENTRY(25)
2847980486eSwdk #define	MIPS_PROM_ANDH_RMW	MIPS_PROM_ENTRY(26)
2857980486eSwdk #define	MIPS_PROM_ANDB_RMW	MIPS_PROM_ENTRY(27)
2867980486eSwdk #define	MIPS_PROM_FLUSHCACHE	MIPS_PROM_ENTRY(28)
2877980486eSwdk #define	MIPS_PROM_CLEARCACHE	MIPS_PROM_ENTRY(29)
2887980486eSwdk #define	MIPS_PROM_SETJMP	MIPS_PROM_ENTRY(30)
2897980486eSwdk #define	MIPS_PROM_LONGJMP	MIPS_PROM_ENTRY(31)
2907980486eSwdk #define	MIPS_PROM_BEVUTLB	MIPS_PROM_ENTRY(32)
2917980486eSwdk #define	MIPS_PROM_GETENV	MIPS_PROM_ENTRY(33)
2927980486eSwdk #define	MIPS_PROM_SETENV	MIPS_PROM_ENTRY(34)
2937980486eSwdk #define	MIPS_PROM_ATOB		MIPS_PROM_ENTRY(35)
2947980486eSwdk #define	MIPS_PROM_STRCMP	MIPS_PROM_ENTRY(36)
2957980486eSwdk #define	MIPS_PROM_STRLEN	MIPS_PROM_ENTRY(37)
2967980486eSwdk #define	MIPS_PROM_STRCPY	MIPS_PROM_ENTRY(38)
2977980486eSwdk #define	MIPS_PROM_STRCAT	MIPS_PROM_ENTRY(39)
2987980486eSwdk #define	MIPS_PROM_PARSER	MIPS_PROM_ENTRY(40)
2997980486eSwdk #define	MIPS_PROM_RANGE		MIPS_PROM_ENTRY(41)
3007980486eSwdk #define	MIPS_PROM_ARGVIZE	MIPS_PROM_ENTRY(42)
3017980486eSwdk #define	MIPS_PROM_HELP		MIPS_PROM_ENTRY(43)
3027980486eSwdk #define	MIPS_PROM_DUMP		MIPS_PROM_ENTRY(44)
3037980486eSwdk #define	MIPS_PROM_SETENVCMD	MIPS_PROM_ENTRY(45)
3047980486eSwdk #define	MIPS_PROM_UNSETENVCMD	MIPS_PROM_ENTRY(46)
3057980486eSwdk #define	MIPS_PROM_PRINTENV	MIPS_PROM_ENTRY(47)
3067980486eSwdk #define	MIPS_PROM_BEVEXCEPT	MIPS_PROM_ENTRY(48)
3077980486eSwdk #define	MIPS_PROM_ENABLE	MIPS_PROM_ENTRY(49)
3087980486eSwdk #define	MIPS_PROM_DISABLE	MIPS_PROM_ENTRY(50)
3097980486eSwdk #define	MIPS_PROM_CLEARNOFAULT	MIPS_PROM_ENTRY(51)
3107980486eSwdk #define	MIPS_PROM_NOTIMPLEMENT	MIPS_PROM_ENTRY(52)
3117980486eSwdk #define MIPS_PROM_NVGET		MIPS_PROM_ENTRY(53)
3127980486eSwdk #define MIPS_PROM_NVSET		MIPS_PROM_ENTRY(54)
3137980486eSwdk 
3148bbe289fSwdk #if defined(_KERNEL) && !defined(__ASSEMBLER__)
315bd338a51Smatt extern void prom_init (void);
316bd338a51Smatt extern int prom_getconsole (void);
317bd338a51Smatt #endif
318bd338a51Smatt 
3197980486eSwdk #endif /* ! _MIPSCO_PROM_H */
320