xref: /dragonfly/share/man/man5/kernconf.5 (revision 33311965)
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.Dd March 28, 2010
33.Dt KERNCONF 5
34.Os
35.Sh NAME
36.Nm kernconf
37.Nd kernel configuration file
38.Sh SYNOPSIS
39.Cd cpu ...
40.Cd device ...
41.Cd ident ...
42.Cd machine ...
43.Cd machine-arch ...
44.Cd makeoptions ...
45.Cd maxusers ...
46.Cd options ...
47.Cd platform ...
48.Cd pseudo-device ...
49.Sh DESCRIPTION
50This manual page describes the structure of the kernel configuration file.
51It is processed by
52.Xr config 8
53to create a build environment where a kernel may be built using
54.Xr make 1 .
55See
56.Xr build 7
57for information on how to build kernels.
58.Pp
59Each line starts with a keyword at the beginning of the line and is
60followed by additional parameters.
61Long input lines may be broken into shorter lines by starting the
62second and subsequent lines with a white space character.
63Numbers are specified using
64.Tn C Ns -style
65syntax.
66Blank lines are ignored.
67The
68.Sq #
69character is interpreted as a comment and is ignored along with everything
70that follows it on the same line.
71.Sh KEYWORDS
72The following keywords are recognized in a configuration file:
73.Pp
74.Bl -tag -width indent -compact
75.It Sy cpu Ar name
76This system is to run on the CPU type
77.Ar name .
78Legal types are, for
79.Sy i386 :
80.Sy I486_CPU
81(i486),
82.Sy I586_CPU
83.Tn ( Pentium ) ,
84and
85.Sy I686_CPU
86.Tn ( Pentium Pro ) ;
87for
88.Sy x86_64 :
89.Sy HAMMER_CPU
90.Tn ( x86-64 ) .
91More than one CPU type specification can appear in a configuration file.
92.Pp
93.It Sy device Ar name \
94Oo Sy at Ar bus Oc \
95Oo Sy port Ar num Oc \
96Oo Sy irq Ar num Oc \
97Oo Sy drq Ar num Oc \
98Oo Sy iomem Ar num Oc \
99Oo Sy iosiz Ar num Oc \
100Op Sy flags Ar num
101Configures support for device
102.Ar name .
103Additional parameters may be passed to specify
104.Tn I/O
105configuration settings (most often for
106.Xr isa 4
107devices):
108.Bl -tag -width ".Sy iomem"
109.It Sy at
110specifies a bus to which the device is attached.
111.It Sy port
112specifies the start address of
113.Tn I/O
114ports to be used by the device.
115.It Sy irq
116specifies the number of ports used by the device.
117.It Sy drq
118is the interrupt line number to be used.
119.It Sy iomem
120specifies the physical memory address used by the device.
121.It Sy iosiz
122specifies the physical memory size used by the device.
123.It Sy flags
124sets various flag bits for the device.
125.El
126.Pp
127.It Sy ident Ar string
128Sets the kernel identification string to
129.Ar string .
130.Pp
131.It Sy machine Ar name
132The system is to run on the machine type
133.Ar name .
134This is a legacy keyword, it is normally set to same value as
135.Sy machine_arch .
136.Pp
137.It Sy machine_arch Ar name
138The system is to run on the machine architecture
139.Ar name .
140The legal architectures are
141.Sy i386 ,
142and
143.Sy x86_64 .
144.Pp
145.It Sy makeoptions Ar name Ns Sy = Ns Ar value
146Defines a
147.Xr make 1
148macro
149.Ar name
150with the value
151.Ar value
152in the kernel Makefile.
153.Pp
154.It Sy maxusers Ar integer
155Set the
156.Va maxusers
157variable in the kernel.
158.Pp
159.It Sy options Ar name Ns Op Sy = Ns Ar value
160Sets the option
161.Ar name .
162Some options expect to be assigned a value, which may be an integer,
163a double-quoted word, a bare word, or an empty string
164.Pq Qq .
165Note that those are eventually handled by the C compiler, so the rules
166of that language apply.
167.\"For more information see the
168.\".Sx OPTIONS
169.\"section.
170.Pp
171.It Sy platform Ar name
172Sets the platform of this kernel to
173.Ar name .
174Legal platforms are
175.Sy pc32
176(32 bit
177.Tn Intel
178architecture),
179.Sy pc64
180(64 bit
181.Tn AMD
182architecture),
183.Sy vkernel
184(32 bit virtual kernel),
185and
186.Sy vkernel64
187(64 bit virtual kernel).
188.Pp
189.It Sy pseudo-device Ar name Op Ar N
190Includes support for the pseudo-device
191.Ar name .
192Some pseudo-devices can have multiple or
193.Ar N
194instances.
195.El
196.\".Sh OPTIONS
197.Sh FILES
198.Bl -tag -width ".Pa /sys/config/X86_64_GENERIC"
199.It Pa /sys/config/GENERIC
200default
201.Sy i386
202kernel configuration file
203.It Pa /sys/config/LINT
204kernel configuration file for checking all the sources,
205includes description of kernel configuration options
206.It Pa /sys/config/SOEKRIS
207kernel configuration file for the
208.Tn Soekris Engineering net5501
209board
210.It Pa /sys/config/VKERNEL
211default 32 bit
212.Xr vkernel 7
213kernel configuration file
214.It Pa /sys/config/VKERNEL64
215default 64 bit
216.Xr vkernel 7
217kernel configuration file
218.It Pa /sys/config/X86_64_GENERIC
219default
220.Sy x86_64
221kernel configuration file
222.El
223.Sh SEE ALSO
224.Xr make 1 ,
225.Xr build 7 ,
226.Xr vkernel 7 ,
227.Xr config 8
228.Sh HISTORY
229The
230.Nm
231manual page first appeared in
232.Dx 1.11 .
233