xref: /dflybsd-src/share/man/man5/kernconf.5 (revision dd7331fef6261abafff76f1ca1e971166f9a5e70)
1ec68fed6SSascha Wildner.\"
2ec68fed6SSascha Wildner.\" Copyright (c) 2007
3ec68fed6SSascha Wildner.\"	The DragonFly Project.  All rights reserved.
4ec68fed6SSascha Wildner.\"
5ec68fed6SSascha Wildner.\" Redistribution and use in source and binary forms, with or without
6ec68fed6SSascha Wildner.\" modification, are permitted provided that the following conditions
7ec68fed6SSascha Wildner.\" are met:
8ec68fed6SSascha Wildner.\"
9ec68fed6SSascha Wildner.\" 1. Redistributions of source code must retain the above copyright
10ec68fed6SSascha Wildner.\"    notice, this list of conditions and the following disclaimer.
11ec68fed6SSascha Wildner.\" 2. Redistributions in binary form must reproduce the above copyright
12ec68fed6SSascha Wildner.\"    notice, this list of conditions and the following disclaimer in
13ec68fed6SSascha Wildner.\"    the documentation and/or other materials provided with the
14ec68fed6SSascha Wildner.\"    distribution.
15ec68fed6SSascha Wildner.\" 3. Neither the name of The DragonFly Project nor the names of its
16ec68fed6SSascha Wildner.\"    contributors may be used to endorse or promote products derived
17ec68fed6SSascha Wildner.\"    from this software without specific, prior written permission.
18ec68fed6SSascha Wildner.\"
19ec68fed6SSascha Wildner.\" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
20ec68fed6SSascha Wildner.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
21ec68fed6SSascha Wildner.\" LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
22ec68fed6SSascha Wildner.\" FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE
23ec68fed6SSascha Wildner.\" COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
24ec68fed6SSascha Wildner.\" INCIDENTAL, SPECIAL, EXEMPLARY OR CONSEQUENTIAL DAMAGES (INCLUDING,
25ec68fed6SSascha Wildner.\" BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
26ec68fed6SSascha Wildner.\" LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
27ec68fed6SSascha Wildner.\" AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
28ec68fed6SSascha Wildner.\" OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
29ec68fed6SSascha Wildner.\" OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
30ec68fed6SSascha Wildner.\" SUCH DAMAGE.
31ec68fed6SSascha Wildner.\"
32*dd7331feSSascha Wildner.Dd June 20, 2015
33ec68fed6SSascha Wildner.Dt KERNCONF 5
34b7ea0c65SThomas Nikolajsen.Os
35ec68fed6SSascha Wildner.Sh NAME
36ec68fed6SSascha Wildner.Nm kernconf
37ec68fed6SSascha Wildner.Nd kernel configuration file
38ec68fed6SSascha Wildner.Sh SYNOPSIS
39ec68fed6SSascha Wildner.Cd cpu ...
40ec68fed6SSascha Wildner.Cd device ...
41ec68fed6SSascha Wildner.Cd ident ...
42ec68fed6SSascha Wildner.Cd machine ...
43ec68fed6SSascha Wildner.Cd machine-arch ...
44ec68fed6SSascha Wildner.Cd makeoptions ...
45ec68fed6SSascha Wildner.Cd maxusers ...
46ec68fed6SSascha Wildner.Cd options ...
47ec68fed6SSascha Wildner.Cd platform ...
48ec68fed6SSascha Wildner.Cd pseudo-device ...
49ec68fed6SSascha Wildner.Sh DESCRIPTION
50ec68fed6SSascha WildnerThis manual page describes the structure of the kernel configuration file.
51b770eafbSSascha WildnerIt is processed by
52b770eafbSSascha Wildner.Xr config 8
53b770eafbSSascha Wildnerto create a build environment where a kernel may be built using
54b770eafbSSascha Wildner.Xr make 1 .
55b770eafbSSascha WildnerSee
56b770eafbSSascha Wildner.Xr build 7
57b770eafbSSascha Wildnerfor information on how to build kernels.
58b770eafbSSascha Wildner.Pp
59b770eafbSSascha WildnerEach line starts with a keyword at the beginning of the line and is
60b770eafbSSascha Wildnerfollowed by additional parameters.
61b770eafbSSascha WildnerLong input lines may be broken into shorter lines by starting the
62b770eafbSSascha Wildnersecond and subsequent lines with a white space character.
63b770eafbSSascha WildnerNumbers are specified using
64b770eafbSSascha Wildner.Tn C Ns -style
65b770eafbSSascha Wildnersyntax.
66ec68fed6SSascha WildnerBlank lines are ignored.
67ec68fed6SSascha WildnerThe
68ec68fed6SSascha Wildner.Sq #
69ec68fed6SSascha Wildnercharacter is interpreted as a comment and is ignored along with everything
70ec68fed6SSascha Wildnerthat follows it on the same line.
71ec68fed6SSascha Wildner.Sh KEYWORDS
72ec68fed6SSascha WildnerThe following keywords are recognized in a configuration file:
73cb4679fcSSascha Wildner.Pp
74cb4679fcSSascha Wildner.Bl -tag -width indent -compact
75b7ea0c65SThomas Nikolajsen.It Sy cpu Ar name
76ec68fed6SSascha WildnerThis system is to run on the CPU type
77ec68fed6SSascha Wildner.Ar name .
781f3eb935SThomas NikolajsenLegal types are, for
791f3eb935SThomas Nikolajsen.Sy i386 :
80ec68fed6SSascha Wildner.Sy I486_CPU
81ec68fed6SSascha Wildner(i486),
82ec68fed6SSascha Wildner.Sy I586_CPU
83ec68fed6SSascha Wildner.Tn ( Pentium ) ,
84ec68fed6SSascha Wildnerand
85ec68fed6SSascha Wildner.Sy I686_CPU
861f3eb935SThomas Nikolajsen.Tn ( Pentium Pro ) ;
871f3eb935SThomas Nikolajsenfor
88b2b3ffcdSSimon Schubert.Sy x86_64 :
891f3eb935SThomas Nikolajsen.Sy HAMMER_CPU
901f3eb935SThomas Nikolajsen.Tn ( x86-64 ) .
91ec68fed6SSascha WildnerMore than one CPU type specification can appear in a configuration file.
92cb4679fcSSascha Wildner.Pp
93b7ea0c65SThomas Nikolajsen.It Sy device Ar name \
94b7ea0c65SThomas NikolajsenOo Sy at Ar bus Oc \
95b7ea0c65SThomas NikolajsenOo Sy port Ar num Oc \
96b7ea0c65SThomas NikolajsenOo Sy irq Ar num Oc \
97b7ea0c65SThomas NikolajsenOo Sy drq Ar num Oc \
98b7ea0c65SThomas NikolajsenOo Sy iomem Ar num Oc \
99b7ea0c65SThomas NikolajsenOo Sy iosiz Ar num Oc \
100b7ea0c65SThomas NikolajsenOp Sy flags Ar num
101ec68fed6SSascha WildnerConfigures support for device
102ec68fed6SSascha Wildner.Ar name .
1031f3eb935SThomas NikolajsenAdditional parameters may be passed to specify
104b7ea0c65SThomas Nikolajsen.Tn I/O
1051f3eb935SThomas Nikolajsenconfiguration settings (most often for
106b770eafbSSascha Wildner.Xr isa 4
107b770eafbSSascha Wildnerdevices):
1081f3eb935SThomas Nikolajsen.Bl -tag -width ".Sy iomem"
1091f3eb935SThomas Nikolajsen.It Sy at
110b770eafbSSascha Wildnerspecifies a bus to which the device is attached.
1111f3eb935SThomas Nikolajsen.It Sy port
1121f3eb935SThomas Nikolajsenspecifies the start address of
113b7ea0c65SThomas Nikolajsen.Tn I/O
1141f3eb935SThomas Nikolajsenports to be used by the device.
1151f3eb935SThomas Nikolajsen.It Sy irq
116b770eafbSSascha Wildnerspecifies the number of ports used by the device.
1171f3eb935SThomas Nikolajsen.It Sy drq
118b770eafbSSascha Wildneris the interrupt line number to be used.
1191f3eb935SThomas Nikolajsen.It Sy iomem
120b770eafbSSascha Wildnerspecifies the physical memory address used by the device.
1211f3eb935SThomas Nikolajsen.It Sy iosiz
122b770eafbSSascha Wildnerspecifies the physical memory size used by the device.
1231f3eb935SThomas Nikolajsen.It Sy flags
124b770eafbSSascha Wildnersets various flag bits for the device.
125b770eafbSSascha Wildner.El
126cb4679fcSSascha Wildner.Pp
127b7ea0c65SThomas Nikolajsen.It Sy ident Ar string
128ec68fed6SSascha WildnerSets the kernel identification string to
129ec68fed6SSascha Wildner.Ar string .
130cb4679fcSSascha Wildner.Pp
131b7ea0c65SThomas Nikolajsen.It Sy machine Ar name
132ec68fed6SSascha WildnerThe system is to run on the machine type
133ec68fed6SSascha Wildner.Ar name .
1341f3eb935SThomas NikolajsenThis is a legacy keyword, it is normally set to same value as
1351f3eb935SThomas Nikolajsen.Sy machine_arch .
136cb4679fcSSascha Wildner.Pp
137b7ea0c65SThomas Nikolajsen.It Sy machine_arch Ar name
138ec68fed6SSascha WildnerThe system is to run on the machine architecture
139ec68fed6SSascha Wildner.Ar name .
1401f3eb935SThomas NikolajsenThe legal architectures are
1411f3eb935SThomas Nikolajsen.Sy i386 ,
1421f3eb935SThomas Nikolajsenand
143b2b3ffcdSSimon Schubert.Sy x86_64 .
144cb4679fcSSascha Wildner.Pp
145b7ea0c65SThomas Nikolajsen.It Sy makeoptions Ar name Ns Sy = Ns Ar value
146ec68fed6SSascha WildnerDefines a
147ec68fed6SSascha Wildner.Xr make 1
148ec68fed6SSascha Wildnermacro
149ec68fed6SSascha Wildner.Ar name
150ec68fed6SSascha Wildnerwith the value
151ec68fed6SSascha Wildner.Ar value
152ec68fed6SSascha Wildnerin the kernel Makefile.
153cb4679fcSSascha Wildner.Pp
154b7ea0c65SThomas Nikolajsen.It Sy maxusers Ar integer
155ec68fed6SSascha WildnerSet the
156ec68fed6SSascha Wildner.Va maxusers
157ec68fed6SSascha Wildnervariable in the kernel.
158cb4679fcSSascha Wildner.Pp
159b7ea0c65SThomas Nikolajsen.It Sy options Ar name Ns Op Sy = Ns Ar value
160ec68fed6SSascha WildnerSets the option
161ec68fed6SSascha Wildner.Ar name .
162ec68fed6SSascha WildnerSome options expect to be assigned a value, which may be an integer,
163ec68fed6SSascha Wildnera double-quoted word, a bare word, or an empty string
164ec68fed6SSascha Wildner.Pq Qq .
165ec68fed6SSascha WildnerNote that those are eventually handled by the C compiler, so the rules
166ec68fed6SSascha Wildnerof that language apply.
167ec68fed6SSascha Wildner.\"For more information see the
168ec68fed6SSascha Wildner.\".Sx OPTIONS
169ec68fed6SSascha Wildner.\"section.
170cb4679fcSSascha Wildner.Pp
171b7ea0c65SThomas Nikolajsen.It Sy platform Ar name
172ec68fed6SSascha WildnerSets the platform of this kernel to
173ec68fed6SSascha Wildner.Ar name .
174ec68fed6SSascha WildnerLegal platforms are
175b6a66df5SSascha Wildner.Sy pc32
176b6a66df5SSascha Wildner(32 bit
177ec68fed6SSascha Wildner.Tn Intel
178b6a66df5SSascha Wildnerarchitecture),
179b6a66df5SSascha Wildner.Sy pc64
180b6a66df5SSascha Wildner(64 bit
1818aa83500SSascha Wildner.Tn AMD
182b6a66df5SSascha Wildnerarchitecture),
183b6a66df5SSascha Wildner.Sy vkernel
184b6a66df5SSascha Wildner(32 bit virtual kernel),
185b6a66df5SSascha Wildnerand
186b6a66df5SSascha Wildner.Sy vkernel64
187b6a66df5SSascha Wildner(64 bit virtual kernel).
188cb4679fcSSascha Wildner.Pp
189b7ea0c65SThomas Nikolajsen.It Sy pseudo-device Ar name Op Ar N
190ec68fed6SSascha WildnerIncludes support for the pseudo-device
191ec68fed6SSascha Wildner.Ar name .
192ec68fed6SSascha WildnerSome pseudo-devices can have multiple or
193ec68fed6SSascha Wildner.Ar N
194ec68fed6SSascha Wildnerinstances.
195ec68fed6SSascha Wildner.El
196ec68fed6SSascha Wildner.\".Sh OPTIONS
19715279048SThomas Nikolajsen.Sh FILES
198b2b3ffcdSSimon Schubert.Bl -tag -width ".Pa /sys/config/X86_64_GENERIC"
199*dd7331feSSascha Wildner.It Pa /sys/config/LINT64
200b7ea0c65SThomas Nikolajsenkernel configuration file for checking all the sources,
201b7ea0c65SThomas Nikolajsenincludes description of kernel configuration options
202b6a66df5SSascha Wildner.It Pa /sys/config/VKERNEL64
203b6a66df5SSascha Wildnerdefault 64 bit
204da3476f4SThomas Nikolajsen.Xr vkernel 7
205da3476f4SThomas Nikolajsenkernel configuration file
206b7ea0c65SThomas Nikolajsen.It Pa /sys/config/X86_64_GENERIC
207b7ea0c65SThomas Nikolajsendefault
208b7ea0c65SThomas Nikolajsen.Sy x86_64
209b7ea0c65SThomas Nikolajsenkernel configuration file
21015279048SThomas Nikolajsen.El
211ec68fed6SSascha Wildner.Sh SEE ALSO
2121f3eb935SThomas Nikolajsen.Xr make 1 ,
213ec68fed6SSascha Wildner.Xr build 7 ,
214ec68fed6SSascha Wildner.Xr vkernel 7 ,
215ec68fed6SSascha Wildner.Xr config 8
216ec68fed6SSascha Wildner.Sh HISTORY
217ec68fed6SSascha WildnerThe
218ec68fed6SSascha Wildner.Nm
219ec68fed6SSascha Wildnermanual page first appeared in
220ec68fed6SSascha Wildner.Dx 1.11 .
221