xref: /netbsd-src/sys/arch/evbarm/include/bootconfig.h (revision de1dfb1250df962f1ff3a011772cf58e605aed11)
1 /*	$NetBSD: bootconfig.h,v 1.3 2003/09/06 13:34:29 rearnsha Exp $	*/
2 
3 /*
4  * Copyright (c) 1994 Mark Brinicombe.
5  * Copyright (c) 1994 Brini.
6  * All rights reserved.
7  *
8  * This code is derived from software written for Brini by Mark Brinicombe
9  *
10  * Redistribution and use in source and binary forms, with or without
11  * modification, are permitted provided that the following conditions
12  * are met:
13  * 1. Redistributions of source code must retain the above copyright
14  *    notice, this list of conditions and the following disclaimer.
15  * 2. Redistributions in binary form must reproduce the above copyright
16  *    notice, this list of conditions and the following disclaimer in the
17  *    documentation and/or other materials provided with the distribution.
18  * 3. All advertising materials mentioning features or use of this software
19  *    must display the following acknowledgement:
20  *	This product includes software developed by Mark Brinicombe
21  *	for the NetBSD Project.
22  * 4. The name of the company nor the name of the author may be used to
23  *    endorse or promote products derived from this software without specific
24  *    prior written permission.
25  *
26  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
27  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
28  * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
29  * IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
30  * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
31  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
32  * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
33  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
34  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
35  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
36  * SUCH DAMAGE.
37  *
38  * boot configuration structures
39  *
40  * Created      : 12/09/94
41  *
42  * Based on kate/boot/bootconfig.h
43  */
44 
45 typedef struct _PhysMem {
46 	u_int address;
47 	u_int pages;
48 	u_int flags;
49 #define BOOT_DRAM_CAN_DMA 1	/* Can DMA direct to this memory.  */
50 #define BOOT_DRAM_PREFER  2	/* UVM should prefer this memory.  */
51 } PhysMem;
52 
53 #define	DRAM_BLOCKS	2
54 
55 typedef struct _BootConfig {
56 	u_int dramblocks;
57 	PhysMem dram[DRAM_BLOCKS];
58 } BootConfig;
59 
60 extern BootConfig bootconfig;
61 #define MAX_BOOT_STRING 255
62 
63 #ifdef _KERNEL
64 #define BOOTOPT_TYPE_BOOLEAN		0
65 #define BOOTOPT_TYPE_STRING		1
66 #define BOOTOPT_TYPE_INT		2
67 #define BOOTOPT_TYPE_BININT		3
68 #define BOOTOPT_TYPE_HEXINT		4
69 #define BOOTOPT_TYPE_MASK		7
70 
71 int get_bootconf_option (char *string, char *option, int type, void *result);
72 
73 extern char *boot_args;
74 extern char *boot_file;
75 #endif	/* _KERNEL */
76 
77 /* End of bootconfig.h */
78