f05a1d2447b08a3bfaac125211fef4b3c3ee138a
[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 November 14, 2009
35 .Dt KERNCONF 5
36 .Os
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 Ar name
78 This system is to run on the CPU type
79 .Ar name .
80 Legal types are, for
81 .Sy i386 :
82 .Sy I486_CPU
83 (i486),
84 .Sy I586_CPU
85 .Tn ( Pentium ) ,
86 and
87 .Sy I686_CPU
88 .Tn ( Pentium Pro ) ;
89 for
90 .Sy x86_64 :
91 .Sy HAMMER_CPU
92 .Tn ( x86-64 ) .
93 More than one CPU type specification can appear in a configuration file.
94 .Pp
95 .It Sy device Ar name \
96 Oo Sy at Ar bus Oc \
97 Oo Sy port Ar num Oc \
98 Oo Sy irq Ar num Oc \
99 Oo Sy drq Ar num Oc \
100 Oo Sy iomem Ar num Oc \
101 Oo Sy iosiz Ar num Oc \
102 Op Sy flags Ar num
103 Configures support for device
104 .Ar name .
105 Additional parameters may be passed to specify
106 .Tn I/O
107 configuration settings (most often for
108 .Xr isa 4
109 devices):
110 .Bl -tag -width ".Sy iomem"
111 .It Sy at
112 specifies a bus to which the device is attached.
113 .It Sy port
114 specifies the start address of
115 .Tn I/O
116 ports to be used by the device.
117 .It Sy irq
118 specifies the number of ports used by the device.
119 .It Sy drq
120 is the interrupt line number to be used.
121 .It Sy iomem
122 specifies the physical memory address used by the device.
123 .It Sy iosiz
124 specifies the physical memory size used by the device.
125 .It Sy flags
126 sets various flag bits for the device.
127 .El
128 .Pp
129 .It Sy ident Ar string
130 Sets the kernel identification string to
131 .Ar string .
132 .Pp
133 .It Sy machine Ar name
134 The system is to run on the machine type
135 .Ar name .
136 This is a legacy keyword, it is normally set to same value as
137 .Sy machine_arch .
138 .Pp
139 .It Sy machine_arch Ar name
140 The system is to run on the machine architecture
141 .Ar name .
142 The legal architectures are
143 .Sy i386 ,
144 and
145 .Sy x86_64 .
146 .Pp
147 .It Sy makeoptions Ar name Ns Sy = Ns Ar value
148 Defines a
149 .Xr make 1
150 macro
151 .Ar name
152 with the value
153 .Ar value
154 in the kernel Makefile.
155 .Pp
156 .It Sy maxusers Ar integer
157 Set the
158 .Va maxusers
159 variable in the kernel.
160 .Pp
161 .It Sy options Ar name Ns Op Sy = Ns Ar value
162 Sets the option
163 .Ar name .
164 Some options expect to be assigned a value, which may be an integer,
165 a double-quoted word, a bare word, or an empty string
166 .Pq Qq .
167 Note that those are eventually handled by the C compiler, so the rules
168 of that language apply.
169 .\"For more information see the
170 .\".Sx OPTIONS
171 .\"section.
172 .Pp
173 .It Sy platform Ar name
174 Sets the platform of this kernel to
175 .Ar name .
176 Legal platforms are
177 .Sy pc32 ,
178 .Sy pc64 ,
179 and
180 .Sy vkernel ,
181 meaning either a 32 bit
182 .Tn Intel
183 architecture, a 64 bit
184 .Tn AMD
185 architecture, or a virtual kernel.
186 .Pp
187 .It Sy pseudo-device Ar name Op Ar N
188 Includes support for the pseudo-device
189 .Ar name .
190 Some pseudo-devices can have multiple or
191 .Ar N
192 instances.
193 .El
194 .\".Sh OPTIONS
195 .Sh FILES
196 .Bl -tag -width ".Pa /sys/config/X86_64_GENERIC"
197 .It Pa /sys/config/GENERIC
198 default
199 .Sy i386
200 kernel configuration file
201 .It Pa /sys/config/LINT
202 kernel configuration file for checking all the sources,
203 includes description of kernel configuration options
204 .It Pa /sys/config/VKERNEL
205 default
206 .Xr vkernel 7
207 kernel configuration file
208 .It Pa /sys/config/X86_64_GENERIC
209 default
210 .Sy x86_64
211 kernel configuration file
212 .El
213 .Sh SEE ALSO
214 .Xr make 1 ,
215 .Xr build 7 ,
216 .Xr vkernel 7 ,
217 .Xr config 8
218 .Sh HISTORY
219 The
220 .Nm
221 manual page first appeared in
222 .Dx 1.11 .