Merge branch 'vendor/FILE' (early part)
[dragonfly.git] / share / man / man5 / kernconf.5
1 .\"
2 .\" Copyright (c) 2007
3 .\"     The DragonFly Project.  All rights reserved.
4 .\"
5 .\" Redistribution and use in source and binary forms, with or without
6 .\" modification, are permitted provided that the following conditions
7 .\" are met:
8 .\"
9 .\" 1. Redistributions of source code must retain the above copyright
10 .\"    notice, this list of conditions and the following disclaimer.
11 .\" 2. Redistributions in binary form must reproduce the above copyright
12 .\"    notice, this list of conditions and the following disclaimer in
13 .\"    the documentation and/or other materials provided with the
14 .\"    distribution.
15 .\" 3. Neither the name of The DragonFly Project nor the names of its
16 .\"    contributors may be used to endorse or promote products derived
17 .\"    from this software without specific, prior written permission.
18 .\"
19 .\" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
20 .\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
21 .\" LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
22 .\" FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE
23 .\" COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
24 .\" INCIDENTAL, SPECIAL, EXEMPLARY OR CONSEQUENTIAL DAMAGES (INCLUDING,
25 .\" BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
26 .\" LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
27 .\" AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
28 .\" OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
29 .\" OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
30 .\" SUCH DAMAGE.
31 .\"
32 .\" $DragonFly: src/share/man/man5/kernconf.5,v 1.8 2008/07/16 01:02:07 thomas Exp $
33 .\"
34 .Dd March 27, 2009
35 .Os
36 .Dt KERNCONF 5
37 .Sh NAME
38 .Nm kernconf
39 .Nd kernel configuration file
40 .Sh SYNOPSIS
41 .Cd cpu ...
42 .Cd device ...
43 .Cd ident ...
44 .Cd machine ...
45 .Cd machine-arch ...
46 .Cd makeoptions ...
47 .Cd maxusers ...
48 .Cd options ...
49 .Cd platform ...
50 .Cd pseudo-device ...
51 .Sh DESCRIPTION
52 This manual page describes the structure of the kernel configuration file.
53 It is processed by
54 .Xr config 8
55 to create a build environment where a kernel may be built using
56 .Xr make 1 .
57 See
58 .Xr build 7
59 for information on how to build kernels.
60 .Pp
61 Each line starts with a keyword at the beginning of the line and is
62 followed by additional parameters.
63 Long input lines may be broken into shorter lines by starting the
64 second and subsequent lines with a white space character.
65 Numbers are specified using
66 .Tn C Ns -style
67 syntax.
68 Blank lines are ignored.
69 The
70 .Sq #
71 character is interpreted as a comment and is ignored along with everything
72 that follows it on the same line.
73 .Sh KEYWORDS
74 The following keywords are recognized in a configuration file:
75 .Pp
76 .Bl -tag -width indent -compact
77 .It Sy cpu Xo
78 .Ar name
79 .Xc
80 This system is to run on the CPU type
81 .Ar name .
82 Legal types are
83 .Sy I486_CPU
84 (i486),
85 .Sy I586_CPU
86 .Tn ( Pentium ) ,
87 and
88 .Sy I686_CPU
89 .Tn ( Pentium Pro ) .
90 More than one CPU type specification can appear in a configuration file.
91 .Pp
92 .It Sy device Xo
93 .Ar name
94 .Op Ar at bus
95 .Op Ar port num
96 .Op Ar irq num
97 .Op Ar drq num
98 .Op Ar iomem num
99 .Op Ar iosiz num
100 .Op Ar flags num
101 .Xc
102 Configures support for device
103 .Ar name .
104 Additional parameters may be passed to specify I/O configuration
105 settings (most often for
106 .Xr isa 4
107 devices):
108 .Bl -tag -width ".Ar iomem"
109 .It Ar at
110 specifies a bus to which the device is attached.
111 .It Ar port
112 specifies the start address of I/O ports to be used by the device.
113 .It Ar irq
114 specifies the number of ports used by the device.
115 .It Ar drq
116 is the interrupt line number to be used.
117 .It Ar iomem
118 specifies the physical memory address used by the device.
119 .It Ar iosiz
120 specifies the physical memory size used by the device.
121 .It Ar flags
122 sets various flag bits for the device.
123 .El
124 .Pp
125 .It Sy ident Xo
126 .Ar string
127 .Xc
128 Sets the kernel identification string to
129 .Ar string .
130 .Pp
131 .It Sy machine Xo
132 .Ar name
133 .Xc
134 The system is to run on the machine type
135 .Ar name .
136 This is a legacy keyword and must be set to
137 .Sy i386 .
138 .Pp
139 .It Sy machine_arch Xo
140 .Ar name
141 .Xc
142 The system is to run on the machine architecture
143 .Ar name .
144 The only legal architecture is
145 .Sy i386 .
146 .Pp
147 .It Sy makeoptions Xo
148 .Ar name=value
149 .Xc
150 Defines a
151 .Xr make 1
152 macro
153 .Ar name
154 with the value
155 .Ar value
156 in the kernel Makefile.
157 .Pp
158 .It Sy maxusers Xo
159 .Ar integer
160 .Xc
161 Set the
162 .Va maxusers
163 variable in the kernel.
164 .Pp
165 .It Sy options Xo
166 .Ar name Ns Bq Ar =value
167 .Xc
168 Sets the option
169 .Ar name .
170 Some options expect to be assigned a value, which may be an integer,
171 a double-quoted word, a bare word, or an empty string
172 .Pq Qq .
173 Note that those are eventually handled by the C compiler, so the rules
174 of that language apply.
175 .\"For more information see the
176 .\".Sx OPTIONS
177 .\"section.
178 .Pp
179 .It Sy platform Xo
180 .Ar name
181 .Xc
182 Sets the platform of this kernel to
183 .Ar name .
184 Legal platforms are
185 .Sy pc32 ,
186 .Sy pc64 ,
187 and
188 .Sy vkernel ,
189 meaning either a 32 bit
190 .Tn Intel
191 architecture, a 64 bit
192 .Tn AMD
193 architecture, or a virtual kernel.
194 .Pp
195 .It Sy pseudo-device Xo
196 .Ar name
197 .Op Ar N
198 .Xc
199 Includes support for the pseudo-device
200 .Ar name .
201 Some pseudo-devices can have multiple or
202 .Ar N
203 instances.
204 .El
205 .\".Sh OPTIONS
206 .Sh FILES
207 .Bl -tag -width ".Pa /sys/config/GENERIC"
208 .It Pa /sys/config/LINT
209 description of kernel configuration options
210 .It Pa /sys/config/GENERIC
211 default kernel configuration file
212 .It Pa /sys/config/VKERNEL
213 default
214 .Xr vkernel 7
215 kernel configuration file
216 .El
217 .Sh SEE ALSO
218 .Xr build 7 ,
219 .Xr vkernel 7 ,
220 .Xr config 8
221 .Sh HISTORY
222 The
223 .Nm
224 manual page first appeared in
225 .Dx 1.11 .