1 /*        $NetBSD: bootconfig.h,v 1.10 2020/10/18 16:28:57 skrll 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 
39 #ifndef _ARM_BOOTCONFIG_H
40 #define _ARM_BOOTCONFIG_H
41 
42 #ifdef _KERNEL
43 #define BOOTOPT_TYPE_BOOLEAN            0
44 #define BOOTOPT_TYPE_STRING             1
45 #define BOOTOPT_TYPE_INT                2
46 #define BOOTOPT_TYPE_BININT             3
47 #define BOOTOPT_TYPE_HEXINT             4
48 #define BOOTOPT_TYPE_MACADDR            5
49 #define BOOTOPT_TYPE_MASK               7
50 
51 struct boot_physmem {
52           paddr_t bp_start;             /* starting PFN (not address) */
53           psize_t bp_pages;             /* # of pages */
54           u_int bp_freelist;            /* VM_FREELIST_ * */
55           u_int bp_flags;
56 #define BOOT_PHYSMEM_CAN_DMA  1         /* Can DMA direct to this memory.  */
57 };
58 
59 int get_bootconf_option(char *, const char *, int, void *);
60 bool match_bootconf_option(char *, const char *, const char *);
61 char *get_bootconf_string(char *, const char *);
62 
63 extern char *boot_args;
64 #endif    /* _KERNEL */
65 
66 #endif
67