6 * You may not use this file except in compliance with the License.
7 *
8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9 * or http://www.opensolaris.org/os/licensing.
10 * See the License for the specific language governing permissions
11 * and limitations under the License.
12 *
13 * When distributing Covered Code, include this CDDL HEADER in each
14 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15 * If applicable, add the following below this CDDL HEADER, with the
16 * fields enclosed by brackets "[]" replaced with your own identifying
17 * information: Portions Copyright [yyyy] [name of copyright owner]
18 *
19 * CDDL HEADER END
20 */
21
22 /*
23 * Copyright 2009 Sun Microsystems, Inc. All rights reserved.
24 * Use is subject to license terms.
25 * Copyright 2016 Nexenta Systems, Inc.
26 * Copyright 2019, Joyent, Inc.
27 */
28
29 #ifndef _SYS_BOOTCONF_H
30 #define _SYS_BOOTCONF_H
31
32
33 /*
34 * Boot time configuration information objects
35 */
36
37 #include <sys/types.h>
38 #include <sys/bootregs.h> /* for struct bop_regs */
39 #include <sys/bootstat.h>
40 #include <sys/dirent.h> /* for struct dirent */
41 #include <sys/memlist.h>
42 #include <sys/obpdefs.h>
43 #include <sys/varargs.h>
44 #include <net/if.h> /* for IFNAMSIZ */
45
46 #ifdef __cplusplus
226 extern char kern_bootfile[];
227 extern char *kobj_module_path;
228 extern char *default_path;
229 extern char *dhcack;
230 extern int dhcacklen;
231 extern char dhcifname[IFNAMSIZ];
232 extern char *netdev_path;
233
234 extern void bop_no_more_mem(void);
235
236 /*PRINTFLIKE2*/
237 extern void bop_printf(void *, const char *, ...)
238 __KPRINTFLIKE(2);
239 extern void vbop_printf(void *, const char *, va_list);
240
241 /*PRINTFLIKE1*/
242 extern void bop_panic(const char *, ...)
243 __KPRINTFLIKE(1) __NORETURN;
244 #pragma rarely_called(bop_panic)
245
246 extern void boot_prop_finish(void);
247
248 extern int bootprop_getval(const char *, u_longlong_t *);
249 extern int bootprop_getstr(const char *, char *, size_t);
250
251 /*
252 * Back door to fakebop.c to get physical memory allocated.
253 * 64 bit data types are fixed for 32 bit PAE use.
254 */
255 extern paddr_t do_bop_phys_alloc(uint64_t, uint64_t);
256
257 extern int do_bsys_getproplen(bootops_t *, const char *);
258 extern int do_bsys_getprop(bootops_t *, const char *, void *);
259 extern int do_bsys_getproptype(bootops_t *, const char *);
260
261 #endif /* _KERNEL && !_BOOT */
262
263 #ifdef __cplusplus
264 }
265 #endif
266
|
6 * You may not use this file except in compliance with the License.
7 *
8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9 * or http://www.opensolaris.org/os/licensing.
10 * See the License for the specific language governing permissions
11 * and limitations under the License.
12 *
13 * When distributing Covered Code, include this CDDL HEADER in each
14 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15 * If applicable, add the following below this CDDL HEADER, with the
16 * fields enclosed by brackets "[]" replaced with your own identifying
17 * information: Portions Copyright [yyyy] [name of copyright owner]
18 *
19 * CDDL HEADER END
20 */
21
22 /*
23 * Copyright 2009 Sun Microsystems, Inc. All rights reserved.
24 * Use is subject to license terms.
25 * Copyright 2016 Nexenta Systems, Inc.
26 * Copyright 2020 Joyent, Inc.
27 */
28
29 #ifndef _SYS_BOOTCONF_H
30 #define _SYS_BOOTCONF_H
31
32
33 /*
34 * Boot time configuration information objects
35 */
36
37 #include <sys/types.h>
38 #include <sys/bootregs.h> /* for struct bop_regs */
39 #include <sys/bootstat.h>
40 #include <sys/dirent.h> /* for struct dirent */
41 #include <sys/memlist.h>
42 #include <sys/obpdefs.h>
43 #include <sys/varargs.h>
44 #include <net/if.h> /* for IFNAMSIZ */
45
46 #ifdef __cplusplus
226 extern char kern_bootfile[];
227 extern char *kobj_module_path;
228 extern char *default_path;
229 extern char *dhcack;
230 extern int dhcacklen;
231 extern char dhcifname[IFNAMSIZ];
232 extern char *netdev_path;
233
234 extern void bop_no_more_mem(void);
235
236 /*PRINTFLIKE2*/
237 extern void bop_printf(void *, const char *, ...)
238 __KPRINTFLIKE(2);
239 extern void vbop_printf(void *, const char *, va_list);
240
241 /*PRINTFLIKE1*/
242 extern void bop_panic(const char *, ...)
243 __KPRINTFLIKE(1) __NORETURN;
244 #pragma rarely_called(bop_panic)
245
246 extern void read_bootenvrc(void);
247
248 extern int bootprop_getval(const char *, u_longlong_t *);
249 extern int bootprop_getstr(const char *, char *, size_t);
250
251 /*
252 * Back door to fakebop.c to get physical memory allocated.
253 * 64 bit data types are fixed for 32 bit PAE use.
254 */
255 extern paddr_t do_bop_phys_alloc(uint64_t, uint64_t);
256
257 extern int do_bsys_getproplen(bootops_t *, const char *);
258 extern int do_bsys_getprop(bootops_t *, const char *, void *);
259 extern int do_bsys_getproptype(bootops_t *, const char *);
260
261 #endif /* _KERNEL && !_BOOT */
262
263 #ifdef __cplusplus
264 }
265 #endif
266
|