xref: /onnv-gate/usr/src/psm/stand/boot/sparc/common/boot_plat.h (revision 11498:2fc576d74742)
10Sstevel@tonic-gate /*
20Sstevel@tonic-gate  * CDDL HEADER START
30Sstevel@tonic-gate  *
40Sstevel@tonic-gate  * The contents of this file are subject to the terms of the
55648Ssetje  * Common Development and Distribution License (the "License").
65648Ssetje  * You may not use this file except in compliance with the License.
70Sstevel@tonic-gate  *
80Sstevel@tonic-gate  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
90Sstevel@tonic-gate  * or http://www.opensolaris.org/os/licensing.
100Sstevel@tonic-gate  * See the License for the specific language governing permissions
110Sstevel@tonic-gate  * and limitations under the License.
120Sstevel@tonic-gate  *
130Sstevel@tonic-gate  * When distributing Covered Code, include this CDDL HEADER in each
140Sstevel@tonic-gate  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
150Sstevel@tonic-gate  * If applicable, add the following below this CDDL HEADER, with the
160Sstevel@tonic-gate  * fields enclosed by brackets "[]" replaced with your own identifying
170Sstevel@tonic-gate  * information: Portions Copyright [yyyy] [name of copyright owner]
180Sstevel@tonic-gate  *
190Sstevel@tonic-gate  * CDDL HEADER END
200Sstevel@tonic-gate  */
210Sstevel@tonic-gate /*
22*11498SJerry.Gilliam@Sun.COM  * Copyright 2010 Sun Microsystems, Inc.  All rights reserved.
230Sstevel@tonic-gate  * Use is subject to license terms.
240Sstevel@tonic-gate  */
250Sstevel@tonic-gate 
260Sstevel@tonic-gate #ifndef _BOOT_PLAT_H
270Sstevel@tonic-gate #define	_BOOT_PLAT_H
280Sstevel@tonic-gate 
290Sstevel@tonic-gate #ifdef __cplusplus
300Sstevel@tonic-gate extern "C" {
310Sstevel@tonic-gate #endif
320Sstevel@tonic-gate 
330Sstevel@tonic-gate 
34*11498SJerry.Gilliam@Sun.COM /*
35*11498SJerry.Gilliam@Sun.COM  * boot platform defaults per architecture
36*11498SJerry.Gilliam@Sun.COM  */
37*11498SJerry.Gilliam@Sun.COM typedef struct bootplat_defaults {
38*11498SJerry.Gilliam@Sun.COM 	char	*plat_defaults_name;
39*11498SJerry.Gilliam@Sun.COM 	char	*plat_defaults_path;
40*11498SJerry.Gilliam@Sun.COM 	int	plat_defaults_vac;
41*11498SJerry.Gilliam@Sun.COM } bootplat_defaults_t;
420Sstevel@tonic-gate 
430Sstevel@tonic-gate /* boot_plat.c */
440Sstevel@tonic-gate extern int	verbosemode;
450Sstevel@tonic-gate extern char	filename[];
460Sstevel@tonic-gate extern char	*const defname;
470Sstevel@tonic-gate extern char	*const defname64;
480Sstevel@tonic-gate extern char	wanboot_arguments[];
490Sstevel@tonic-gate 
500Sstevel@tonic-gate extern int	bootprog(char *, char *, boolean_t);
510Sstevel@tonic-gate extern char	*choose_default_filename(char *, char *);
520Sstevel@tonic-gate extern char	*get_default_filename(void);
530Sstevel@tonic-gate extern void	post_mountroot(char *, char *);
540Sstevel@tonic-gate extern void	redirect_boot_path(char *, char *);
550Sstevel@tonic-gate extern void	set_client_bootargs(const char *, const char *);
560Sstevel@tonic-gate extern boolean_t is_netdev(char *devpath);
570Sstevel@tonic-gate 
580Sstevel@tonic-gate 
590Sstevel@tonic-gate /* bootops.c */
600Sstevel@tonic-gate extern struct bootops	bootops;
610Sstevel@tonic-gate 
620Sstevel@tonic-gate extern void	setup_bootops(void);
630Sstevel@tonic-gate extern void	update_memlist(char *, char *, struct memlist **);
640Sstevel@tonic-gate 
650Sstevel@tonic-gate 
660Sstevel@tonic-gate /*
670Sstevel@tonic-gate  * bootprop.c.  These variables will be exported to the standalone as boot
680Sstevel@tonic-gate  * properties.
690Sstevel@tonic-gate  */
700Sstevel@tonic-gate extern char	*v2path, *kernname, *systype, *my_own_name;
710Sstevel@tonic-gate extern char	v2args_buf[];
720Sstevel@tonic-gate #define	V2ARGS_BUF_SZ	OBP_MAXPATHLEN
730Sstevel@tonic-gate extern char	*v2args;
740Sstevel@tonic-gate extern char	*mfg_name;
750Sstevel@tonic-gate extern char	*impl_arch_name;
760Sstevel@tonic-gate extern char	*bootp_response;
770Sstevel@tonic-gate extern char	*boot_message;
780Sstevel@tonic-gate extern int	cache_state;
790Sstevel@tonic-gate extern uint64_t	memlistextent;
800Sstevel@tonic-gate extern char	*netdev_path;
810Sstevel@tonic-gate 
820Sstevel@tonic-gate extern void	set_default_filename(char *filename);
830Sstevel@tonic-gate 
840Sstevel@tonic-gate 
850Sstevel@tonic-gate /* get.c */
860Sstevel@tonic-gate extern int	cons_gets(char *, int);
870Sstevel@tonic-gate 
880Sstevel@tonic-gate 
890Sstevel@tonic-gate /* machdep.c */
900Sstevel@tonic-gate extern int  vac;
910Sstevel@tonic-gate 
920Sstevel@tonic-gate extern void	fiximp(void);
930Sstevel@tonic-gate extern void	retain_nvram_page();
940Sstevel@tonic-gate extern int	cpu_is_ultrasparc_1(void);
950Sstevel@tonic-gate 
960Sstevel@tonic-gate 
970Sstevel@tonic-gate /* memlist.c */
980Sstevel@tonic-gate extern void		init_memlists(void);
990Sstevel@tonic-gate extern struct memlist	*fill_memlists(char *name, char *prop,
1000Sstevel@tonic-gate     struct memlist *old);
1010Sstevel@tonic-gate 
1020Sstevel@tonic-gate 
1030Sstevel@tonic-gate /* srt0.c */
1040Sstevel@tonic-gate extern void	_start(void *romp, ...);
1050Sstevel@tonic-gate extern void	exitto(int (*entrypoint)());
1060Sstevel@tonic-gate extern void	exitto64(int (*entrypoint)(), void *bootvec);
1070Sstevel@tonic-gate 
1080Sstevel@tonic-gate 
1090Sstevel@tonic-gate /* standalloc.c */
1100Sstevel@tonic-gate extern caddr_t	memlistpage;
1110Sstevel@tonic-gate extern caddr_t	scratchmemp;
1120Sstevel@tonic-gate 
1130Sstevel@tonic-gate 
1140Sstevel@tonic-gate 
1150Sstevel@tonic-gate #ifdef __cplusplus
1160Sstevel@tonic-gate }
1170Sstevel@tonic-gate #endif
1180Sstevel@tonic-gate 
1190Sstevel@tonic-gate #endif /* _BOOT_PLAT_H */
120