Wed Jun 19 07:59:02 2013 UTC ()
Pull up following revision(s) (requested by msaitoh in ticket #1862):
	share/man/man4/options.4: revision 1.420
s/can be displayed be calling/can be displayed by calling/


(bouyer)
diff -r1.369.2.2 -r1.369.2.2.6.1 src/share/man/man4/options.4

cvs diff -r1.369.2.2 -r1.369.2.2.6.1 src/share/man/man4/options.4 (switch to unified diff)

--- src/share/man/man4/options.4 2008/11/18 01:56:58 1.369.2.2
+++ src/share/man/man4/options.4 2013/06/19 07:59:02 1.369.2.2.6.1
@@ -1,1686 +1,1686 @@ @@ -1,1686 +1,1686 @@
1.\" $NetBSD: options.4,v 1.369.2.2 2008/11/18 01:56:58 snj Exp $ 1.\" $NetBSD: options.4,v 1.369.2.2.6.1 2013/06/19 07:59:02 bouyer Exp $
2.\" 2.\"
3.\" Copyright (c) 1996 3.\" Copyright (c) 1996
4.\" Perry E. Metzger. All rights reserved. 4.\" Perry E. Metzger. All rights reserved.
5.\" 5.\"
6.\" Redistribution and use in source and binary forms, with or without 6.\" Redistribution and use in source and binary forms, with or without
7.\" modification, are permitted provided that the following conditions 7.\" modification, are permitted provided that the following conditions
8.\" are met: 8.\" are met:
9.\" 1. Redistributions of source code must retain the above copyright 9.\" 1. Redistributions of source code must retain the above copyright
10.\" notice, this list of conditions and the following disclaimer. 10.\" notice, this list of conditions and the following disclaimer.
11.\" 2. Redistributions in binary form must reproduce the above copyright 11.\" 2. Redistributions in binary form must reproduce the above copyright
12.\" notice, this list of conditions and the following disclaimer in the 12.\" notice, this list of conditions and the following disclaimer in the
13.\" documentation and/or other materials provided with the distribution. 13.\" documentation and/or other materials provided with the distribution.
14.\" 3. All advertising materials mentioning features or use of this software 14.\" 3. All advertising materials mentioning features or use of this software
15.\" must display the following acknowledgment: 15.\" must display the following acknowledgment:
16.\" This product includes software developed for the NetBSD Project 16.\" This product includes software developed for the NetBSD Project
17.\" by Perry E. Metzger. 17.\" by Perry E. Metzger.
18.\" 4. The name of the author may not be used to endorse or promote products 18.\" 4. The name of the author may not be used to endorse or promote products
19.\" derived from this software without specific prior written permission. 19.\" derived from this software without specific prior written permission.
20.\" 20.\"
21.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 21.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
22.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 22.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
23.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 23.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
24.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 24.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
25.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 25.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
26.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 26.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
27.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 27.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
28.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 28.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
29.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 29.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
30.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 30.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31.\" 31.\"
32.\" 32.\"
33.Dd November 14, 2008 33.Dd May 15, 2013
34.Os 34.Os
35.Dt OPTIONS 4 35.Dt OPTIONS 4
36.Sh NAME 36.Sh NAME
37.Nm options 37.Nm options
38.Nd Miscellaneous kernel configuration options 38.Nd Miscellaneous kernel configuration options
39.Sh SYNOPSIS 39.Sh SYNOPSIS
40.Cd cinclude ... 40.Cd cinclude ...
41.Cd config ... 41.Cd config ...
42.Cd [no] file-system ... 42.Cd [no] file-system ...
43.Cd ident ... 43.Cd ident ...
44.Cd include ... 44.Cd include ...
45.Cd [no] makeoptions ... 45.Cd [no] makeoptions ...
46.Cd maxusers ... 46.Cd maxusers ...
47.Cd [no] options ... 47.Cd [no] options ...
48.Cd [no] pseudo-device ... 48.Cd [no] pseudo-device ...
49.Sh DESCRIPTION 49.Sh DESCRIPTION
50This manual page describes a number of miscellaneous kernel 50This manual page describes a number of miscellaneous kernel
51configuration options that may be specified in a kernel config 51configuration options that may be specified in a kernel config
52file. 52file.
53See 53See
54.Xr config 1 54.Xr config 1
55and 55and
56.Xr config 5 56.Xr config 5
57for information on how to configure and build kernels. 57for information on how to configure and build kernels.
58.Pp 58.Pp
59The 59The
60.Ar no 60.Ar no
61form removes a previously specified option. 61form removes a previously specified option.
62.Ss Keywords 62.Ss Keywords
63The following keywords are recognized in a kernel configuration file: 63The following keywords are recognized in a kernel configuration file:
64.Bl -ohang 64.Bl -ohang
65.It Sy cinclude Xo 65.It Sy cinclude Xo
66.Qq Ar filename 66.Qq Ar filename
67.Xc 67.Xc
68Conditionally includes another kernel configuration file whose name is 68Conditionally includes another kernel configuration file whose name is
69.Ar filename , 69.Ar filename ,
70which may be double-quoted and may be an explicit path or relative to 70which may be double-quoted and may be an explicit path or relative to
71the kernel source directory. 71the kernel source directory.
72Failure to open the named file is ignored. 72Failure to open the named file is ignored.
73.It Sy config Xo 73.It Sy config Xo
74.Ar exec_name 74.Ar exec_name
75.No root on 75.No root on
76.Ar rootdev 76.Ar rootdev
77.Op type Ar fstype 77.Op type Ar fstype
78.Op dumps on Ar dumpdev 78.Op dumps on Ar dumpdev
79.Xc 79.Xc
80Defines a configuration whose kernel executable is named 80Defines a configuration whose kernel executable is named
81.Ar exec_name , 81.Ar exec_name ,
82normally 82normally
83.Dq netbsd , 83.Dq netbsd ,
84with its root file system of type 84with its root file system of type
85.Ar fstype 85.Ar fstype
86on the device 86on the device
87.Ar rootdev , 87.Ar rootdev ,
88and optionally specifying the location of kernel core dumps on the device 88and optionally specifying the location of kernel core dumps on the device
89.Ar dumpdev . 89.Ar dumpdev .
90.Ar dev 90.Ar dev
91or 91or
92.Ar dumpdev 92.Ar dumpdev
93and 93and
94.Ar fstype 94.Ar fstype
95may be specified as 95may be specified as
96.Dq \&? , 96.Dq \&? ,
97which is a wild card. 97which is a wild card.
98The root 98The root
99.Ar fstype 99.Ar fstype
100and 100and
101.Ar dumpdev 101.Ar dumpdev
102are optional and assumed to be wild carded if they are not specified. 102are optional and assumed to be wild carded if they are not specified.
103.It Ar device_instance Xo 103.It Ar device_instance Xo
104at 104at
105.Ar attachment 105.Ar attachment
106.Op Ar locators value Op ... 106.Op Ar locators value Op ...
107.Op flags Ar value 107.Op flags Ar value
108.Xc 108.Xc
109Define an instance of the device driver 109Define an instance of the device driver
110.Ar device_instance 110.Ar device_instance
111that attaches to the bus or device named 111that attaches to the bus or device named
112.Ar attachment . 112.Ar attachment .
113An 113An
114.Ar attachment 114.Ar attachment
115may require additional information on where the device can be found, such 115may require additional information on where the device can be found, such
116as an address, channel, function, offset, and/or slot, referred to as 116as an address, channel, function, offset, and/or slot, referred to as
117.Ar locators , 117.Ar locators ,
118whose 118whose
119.Ar value 119.Ar value
120often may be a wild card, 120often may be a wild card,
121.Dq \&? . 121.Dq \&? .
122Some device drivers have one or more 122Some device drivers have one or more
123.Ar flags 123.Ar flags
124that can be adjusted to affect the way they operate. 124that can be adjusted to affect the way they operate.
125.It Sy file-system Xo 125.It Sy file-system Xo
126.Ar fs_name Op , Ar fs_name Op ... 126.Ar fs_name Op , Ar fs_name Op ...
127.Xc 127.Xc
128Include support for the file-system 128Include support for the file-system
129.Ar fs_name . 129.Ar fs_name .
130.It Sy ident Xo 130.It Sy ident Xo
131.Qq Ar string 131.Qq Ar string
132.Xc 132.Xc
133Sets the kernel identification string to 133Sets the kernel identification string to
134.Ar string . 134.Ar string .
135.It Sy include Xo 135.It Sy include Xo
136.Qq Ar filename 136.Qq Ar filename
137.Xc 137.Xc
138Functions the same as 138Functions the same as
139.Ar cinclude , 139.Ar cinclude ,
140except failure to open 140except failure to open
141.Ar filename 141.Ar filename
142produces a fatal error. 142produces a fatal error.
143.It Sy options Xo 143.It Sy options Xo
144.Ar option_name Op , Ar option_name=value Op ... 144.Ar option_name Op , Ar option_name=value Op ...
145.Xc 145.Xc
146Specifies (or sets) the option, or comma-separated list of options, 146Specifies (or sets) the option, or comma-separated list of options,
147.Ar option_name . 147.Ar option_name .
148Some options expect to be assigned a value, which may be an integer, 148Some options expect to be assigned a value, which may be an integer,
149a double-quoted word, a bare word, or an empty string 149a double-quoted word, a bare word, or an empty string
150.Pq Qq . 150.Pq Qq .
151Note that those are eventually handled by the C compiler, so the rules 151Note that those are eventually handled by the C compiler, so the rules
152of that language apply. 152of that language apply.
153.Pp 153.Pp
154.Em Note : 154.Em Note :
155Options that are not defined by device definition files are passed to 155Options that are not defined by device definition files are passed to
156the compile process as 156the compile process as
157.Fl D 157.Fl D
158flags to the C compiler. 158flags to the C compiler.
159.It Sy makeoptions Xo 159.It Sy makeoptions Xo
160.Ar name=value 160.Ar name=value
161.Xc 161.Xc
162Defines a 162Defines a
163.Xr make 1 163.Xr make 1
164macro 164macro
165.Ar name 165.Ar name
166with the value 166with the value
167.Ar value 167.Ar value
168in the kernel Makefile. 168in the kernel Makefile.
169.It Sy maxusers Xo 169.It Sy maxusers Xo
170.Ar integer 170.Ar integer
171.Xc 171.Xc
172Set the maxusers variable in the kernel. 172Set the maxusers variable in the kernel.
173.It Sy no Xo 173.It Sy no Xo
174.Ar keyword Ar name Op Ar arguments Op ... 174.Ar keyword Ar name Op Ar arguments Op ...
175.Xc 175.Xc
176For the 176For the
177.Xr config 1 177.Xr config 1
178.Ar keywords 178.Ar keywords
179file-system, makeoptions, options, and pseudo-device, 179file-system, makeoptions, options, and pseudo-device,
180.Ar no 180.Ar no
181removes the file-system, makeoption, options, or pseudo-device, 181removes the file-system, makeoption, options, or pseudo-device,
182.Ar name . 182.Ar name .
183This is useful when a kernel configuration file includes another which 183This is useful when a kernel configuration file includes another which
184has undesired options. 184has undesired options.
185.Pp 185.Pp
186For example, a local configuration file that wanted the kitchen sink, but 186For example, a local configuration file that wanted the kitchen sink, but
187not COMPAT_09 or bridging, might be: 187not COMPAT_09 or bridging, might be:
188.Bd -literal -offset indent 188.Bd -literal -offset indent
189include "arch/i386/conf/GENERIC" 189include "arch/i386/conf/GENERIC"
190no options COMPAT_09 190no options COMPAT_09
191no pseudo-device bridge 191no pseudo-device bridge
192.Ed 192.Ed
193.It Sy pseudo-device Xo 193.It Sy pseudo-device Xo
194.Ar name 194.Ar name
195.Op Ar N 195.Op Ar N
196.Xc 196.Xc
197Includes support for the pseudo-device 197Includes support for the pseudo-device
198.Ar name . 198.Ar name .
199Some pseudo-devices can have multiple or 199Some pseudo-devices can have multiple or
200.Ar N 200.Ar N
201instances. 201instances.
202.El 202.El
203.Ss Compatibility Options 203.Ss Compatibility Options
204.Bl -ohang 204.Bl -ohang
205.It Cd options COMPAT_09 205.It Cd options COMPAT_09
206Enable binary compatibility with 206Enable binary compatibility with
207.Nx 0.9 . 207.Nx 0.9 .
208This enables support for 208This enables support for
20916-bit user, group, and process IDs (following revisions support 20916-bit user, group, and process IDs (following revisions support
21032-bit identifiers). 21032-bit identifiers).
211It also allows the use of the deprecated 211It also allows the use of the deprecated
212.Xr getdomainname 3 , 212.Xr getdomainname 3 ,
213.Xr setdomainname 3 , 213.Xr setdomainname 3 ,
214and 214and
215.Xr uname 3 215.Xr uname 3
216syscalls. 216syscalls.
217This option also allows using numeric file system identifiers rather 217This option also allows using numeric file system identifiers rather
218than strings. 218than strings.
219Post 219Post
220.Nx 0.9 220.Nx 0.9
221versions use string identifiers. 221versions use string identifiers.
222.It Cd options COMPAT_10 222.It Cd options COMPAT_10
223Enable binary compatibility with 223Enable binary compatibility with
224.Nx 1.0 . 224.Nx 1.0 .
225This option allows the use of the file system name of 225This option allows the use of the file system name of
226.Dq ufs 226.Dq ufs
227as an alias for 227as an alias for
228.Dq ffs . 228.Dq ffs .
229The name 229The name
230.Dq ffs 230.Dq ffs
231should be used post 1.0 in 231should be used post 1.0 in
232.Pa /etc/fstab 232.Pa /etc/fstab
233and other files. 233and other files.
234It also adds old syscalls for the 234It also adds old syscalls for the
235.At V 235.At V
236shared memory interface. 236shared memory interface.
237This was changed post 1.0 to work on 64-bit architectures. 237This was changed post 1.0 to work on 64-bit architectures.
238This option also enables 238This option also enables
239.Dq sgtty 239.Dq sgtty
240compatibility, without which programs using the old interface produce 240compatibility, without which programs using the old interface produce
241an 241an
242.Dq inappropriate ioctl 242.Dq inappropriate ioctl
243error, and 243error, and
244.Pa /dev/io 244.Pa /dev/io
245only works when this option is set in the kernel, 245only works when this option is set in the kernel,
246see 246see
247.Xr io 4 247.Xr io 4
248on ports that support it. 248on ports that support it.
249.It Cd options COMPAT_11 249.It Cd options COMPAT_11
250Enable binary compatibility with 250Enable binary compatibility with
251.Nx 1.1 . 251.Nx 1.1 .
252This allows binaries running on the i386 port to gain direct access to 252This allows binaries running on the i386 port to gain direct access to
253the io ports by opening 253the io ports by opening
254.Pa /dev/io 254.Pa /dev/io
255read/write. 255read/write.
256This functionality was replaced by 256This functionality was replaced by
257.Xr i386_iopl 2 257.Xr i386_iopl 2
258post 1.1. 258post 1.1.
259On the 259On the
260.Tn Atari 260.Tn Atari
261port, the location of the disk label was moved after 1.1. 261port, the location of the disk label was moved after 1.1.
262When the 262When the
263.Em COMPAT_11 263.Em COMPAT_11
264option is set, the kernel will read (pre) 1.1 style disk labels as a 264option is set, the kernel will read (pre) 1.1 style disk labels as a
265last resort. 265last resort.
266When a disk label is re-written, the old style label will be replaced 266When a disk label is re-written, the old style label will be replaced
267with a post 1.1 style label. 267with a post 1.1 style label.
268This also enables the 268This also enables the
269.Em EXEC_ELF_NOTELESS 269.Em EXEC_ELF_NOTELESS
270option. 270option.
271.It Cd options COMPAT_12 271.It Cd options COMPAT_12
272Enable binary compatibility with 272Enable binary compatibility with
273.Nx 1.2 . 273.Nx 1.2 .
274This allows the use of old syscalls for 274This allows the use of old syscalls for
275.Fn reboot 275.Fn reboot
276and 276and
277.Fn swapon . 277.Fn swapon .
278The syscall numbers were changed post 1.2 to add functionality to the 278The syscall numbers were changed post 1.2 to add functionality to the
279.Xr reboot 2 279.Xr reboot 2
280syscall, and the new 280syscall, and the new
281.Xr swapctl 2 281.Xr swapctl 2
282interface was introduced. 282interface was introduced.
283This also enables the 283This also enables the
284.Em EXEC_ELF_NOTELESS 284.Em EXEC_ELF_NOTELESS
285option. 285option.
286.It Cd options COMPAT_13 286.It Cd options COMPAT_13
287Enable binary compatibility with 287Enable binary compatibility with
288.Nx 1.3 . 288.Nx 1.3 .
289This allows the use of old syscalls for 289This allows the use of old syscalls for
290.Fn sigaltstack , 290.Fn sigaltstack ,
291and also enables the old 291and also enables the old
292.Xr swapctl 2 292.Xr swapctl 2
293command 293command
294.Dv SWAP_STATS 294.Dv SWAP_STATS
295(now called 295(now called
296.Dv SWAP_OSTATS ) , 296.Dv SWAP_OSTATS ) ,
297which does not include the 297which does not include the
298.Fa se_path 298.Fa se_path
299member of 299member of
300.Va struct swapent . 300.Va struct swapent .
301.It Cd options COMPAT_14 301.It Cd options COMPAT_14
302Enable binary compatibility with 302Enable binary compatibility with
303.Nx 1.4 . 303.Nx 1.4 .
304This allows some old 304This allows some old
305.Xr ioctl 2 305.Xr ioctl 2
306on 306on
307.Xr wscons 4 307.Xr wscons 4
308to be performed, and allows the 308to be performed, and allows the
309.Dv NFSSVC_BIOD 309.Dv NFSSVC_BIOD
310mode of the 310mode of the
311.Xr nfssvc 2 311.Xr nfssvc 2
312system call to be used for compatibility with the deprecated nfsiod program. 312system call to be used for compatibility with the deprecated nfsiod program.
313.It Cd options COMPAT_15 313.It Cd options COMPAT_15
314Enable binary compatibility with 314Enable binary compatibility with
315.Nx 1.5 . 315.Nx 1.5 .
316Since there were no API changes from 316Since there were no API changes from
317.Nx 1.5 317.Nx 1.5
318and 318and
319.Nx 1.6 , 319.Nx 1.6 ,
320this option does nothing. 320this option does nothing.
321.It Cd options COMPAT_16 321.It Cd options COMPAT_16
322Enable binary compatibility with 322Enable binary compatibility with
323.Nx 1.6 . 323.Nx 1.6 .
324This allows the use of old signal trampoline code which has been deprecated 324This allows the use of old signal trampoline code which has been deprecated
325with the addition of 325with the addition of
326.Xr siginfo 2 . 326.Xr siginfo 2 .
327.It Cd options COMPAT_20 327.It Cd options COMPAT_20
328Enable binary compatibility with 328Enable binary compatibility with
329.Nx 2.0 . 329.Nx 2.0 .
330This allows the use of old syscalls for 330This allows the use of old syscalls for
331.Fn statfs , 331.Fn statfs ,
332.Fn fstatfs , 332.Fn fstatfs ,
333.Fn getfsstat 333.Fn getfsstat
334and 334and
335.Fn fhstatfs , 335.Fn fhstatfs ,
336which have been deprecated with the addition of the 336which have been deprecated with the addition of the
337.Xr statvfs 2 , 337.Xr statvfs 2 ,
338.Xr fstatvfs 2 , 338.Xr fstatvfs 2 ,
339.Xr getvfsstat 2 339.Xr getvfsstat 2
340and 340and
341.Xr fhstatvfs 2 341.Xr fhstatvfs 2
342system calls. 342system calls.
343.It Cd options COMPAT_30 343.It Cd options COMPAT_30
344Enable binary compatibility with 344Enable binary compatibility with
345.Nx 3.0 . 345.Nx 3.0 .
346See 346See
347.Xr compat_30 8 347.Xr compat_30 8
348for details about the changes made after the 348for details about the changes made after the
349.Nx 3.0 349.Nx 3.0
350release. 350release.
351.It Cd options COMPAT_43 351.It Cd options COMPAT_43
352Enables compatibility with 352Enables compatibility with
353.Bx 4.3 . 353.Bx 4.3 .
354This adds an old syscall for 354This adds an old syscall for
355.Xr lseek 2 . 355.Xr lseek 2 .
356It also adds the ioctls for 356It also adds the ioctls for
357.Dv TIOCGETP 357.Dv TIOCGETP
358and 358and
359.Dv TIOCSETP . 359.Dv TIOCSETP .
360The return values for 360The return values for
361.Xr getpid 2 , 361.Xr getpid 2 ,
362.Xr getgid 2 , 362.Xr getgid 2 ,
363and 363and
364.Xr getuid 2 364.Xr getuid 2
365syscalls are modified as well, to return the parent's PID and 365syscalls are modified as well, to return the parent's PID and
366UID as well as the current process's. 366UID as well as the current process's.
367It also enables the deprecated 367It also enables the deprecated
368.Dv NTTYDISC 368.Dv NTTYDISC
369terminal line discipline. 369terminal line discipline.
370It also provides backwards compatibility with 370It also provides backwards compatibility with
371.Dq old 371.Dq old
372SIOC[GS]IF{ADDR,DSTADDR,BRDADDR,NETMASK} interface ioctls, including 372SIOC[GS]IF{ADDR,DSTADDR,BRDADDR,NETMASK} interface ioctls, including
373binary compatibility with code written before the introduction of the 373binary compatibility with code written before the introduction of the
374sa_len field in sockaddrs. 374sa_len field in sockaddrs.
375It also enables 375It also enables
376support for some older pre 376support for some older pre
377.Bx 4.4 377.Bx 4.4
378socket calls. 378socket calls.
379.It Cd options COMPAT_BSDPTY 379.It Cd options COMPAT_BSDPTY
380This option is currently on by default and enables the pty multiplexer 380This option is currently on by default and enables the pty multiplexer
381.Xr ptm 4 381.Xr ptm 4
382and 382and
383.Xr ptmx 4 383.Xr ptmx 4
384to find and use ptys named 384to find and use ptys named
385.Pa /dev/ptyXX 385.Pa /dev/ptyXX
386(master) and 386(master) and
387.Pa /dev/ttyXX 387.Pa /dev/ttyXX
388(slave). 388(slave).
389Eventually this option will become optional as ptyfs based pseudo-ttys become 389Eventually this option will become optional as ptyfs based pseudo-ttys become
390the default, see 390the default, see
391.Xr mount_ptyfs 8 . 391.Xr mount_ptyfs 8 .
392.It Cd options COMPAT_SVR4 392.It Cd options COMPAT_SVR4
393On those architectures that support it, this enables binary 393On those architectures that support it, this enables binary
394compatibility with 394compatibility with
395.At V.4 395.At V.4
396applications built for the same architecture. 396applications built for the same architecture.
397This currently includes the i386, m68k, and sparc ports. 397This currently includes the i386, m68k, and sparc ports.
398.It Cd options COMPAT_LINUX 398.It Cd options COMPAT_LINUX
399On those architectures that support it, this enables binary 399On those architectures that support it, this enables binary
400compatibility with Linux ELF and 400compatibility with Linux ELF and
401.Xr a.out 5 401.Xr a.out 5
402applications built for the same architecture. 402applications built for the same architecture.
403This currently includes the alpha, arm, i386, m68k, mips, powerpc and 403This currently includes the alpha, arm, i386, m68k, mips, powerpc and
404x86_64 ports. 404x86_64 ports.
405.It Cd options COMPAT_LINUX32 405.It Cd options COMPAT_LINUX32
406On those 64 bit architectures that support it, this enables binary 406On those 64 bit architectures that support it, this enables binary
407compatibility with 32 bit Linux binaries. 407compatibility with 32 bit Linux binaries.
408For now this is limited to running i386 ELF Linux binaries on amd64. 408For now this is limited to running i386 ELF Linux binaries on amd64.
409.It Cd options COMPAT_SUNOS 409.It Cd options COMPAT_SUNOS
410On those architectures that support it, this enables binary 410On those architectures that support it, this enables binary
411compatibility with 411compatibility with
412.Tn SunOS 4.1 412.Tn SunOS 4.1
413applications built for the same architecture. 413applications built for the same architecture.
414This currently includes the sparc, sparc64 and most or all m68k ports. 414This currently includes the sparc, sparc64 and most or all m68k ports.
415Note that the sparc64 requires the 415Note that the sparc64 requires the
416.Em COMPAT_NETBSD32 416.Em COMPAT_NETBSD32
417option for 64-bit kernels, in addition to this option. 417option for 64-bit kernels, in addition to this option.
418.It Cd options COMPAT_ULTRIX 418.It Cd options COMPAT_ULTRIX
419On those architectures that support it, this enables binary 419On those architectures that support it, this enables binary
420compatibility with 420compatibility with
421.Tn ULTRIX 421.Tn ULTRIX
422applications built for the same architecture. 422applications built for the same architecture.
423This currently is limited to the pmax. 423This currently is limited to the pmax.
424The functionality of this option is unknown. 424The functionality of this option is unknown.
425.It Cd options COMPAT_DARWIN 425.It Cd options COMPAT_DARWIN
426On those architectures that support it, this enables binary compatibility with 426On those architectures that support it, this enables binary compatibility with
427.Tn Darwin 427.Tn Darwin
428applications built for the same architecture. 428applications built for the same architecture.
429This feature is highly experimental, it requires COMPAT_MACH and 429This feature is highly experimental, it requires COMPAT_MACH and
430EXEC_MACHO and it is currently limited to i386 and powerpc ports of 430EXEC_MACHO and it is currently limited to i386 and powerpc ports of
431.Nx . 431.Nx .
432.It Cd options COMPAT_FREEBSD 432.It Cd options COMPAT_FREEBSD
433On those architectures that support it, this enables binary 433On those architectures that support it, this enables binary
434compatibility with 434compatibility with
435.Fx 435.Fx
436applications built for the same architecture. 436applications built for the same architecture.
437At the moment this is limited to the i386 port. 437At the moment this is limited to the i386 port.
438.It Cd options COMPAT_IBCS2 438.It Cd options COMPAT_IBCS2
439On those architectures that support it, this enables binary 439On those architectures that support it, this enables binary
440compatibility with iBCS2 or SVR3 applications built for the same architecture. 440compatibility with iBCS2 or SVR3 applications built for the same architecture.
441This is currently limited to the i386 and vax ports. 441This is currently limited to the i386 and vax ports.
442.It Cd options COMPAT_IRIX 442.It Cd options COMPAT_IRIX
443On those architectures that support it, this enables binary 443On those architectures that support it, this enables binary
444compatibility with IRIX o32 binaries built for the same architecture. 444compatibility with IRIX o32 binaries built for the same architecture.
445This feature is experimental, and it is currently limited to 445This feature is experimental, and it is currently limited to
446the sgimips port. 446the sgimips port.
447.It Cd options COMPAT_MACH 447.It Cd options COMPAT_MACH
448On those architectures that support it, this enables the emulation of 448On those architectures that support it, this enables the emulation of
449Mach kernel traps for binaries built for the same architecture. 449Mach kernel traps for binaries built for the same architecture.
450This feature is highly experimental and it is currently 450This feature is highly experimental and it is currently
451limited to the i386 and powerpc ports of 451limited to the i386 and powerpc ports of
452.Nx . 452.Nx .
453.It Cd options COMPAT_OSF1 453.It Cd options COMPAT_OSF1
454On those architectures that support it, this enables binary 454On those architectures that support it, this enables binary
455compatibility with 455compatibility with
456.Tn Digital 456.Tn Digital
457.Ux 457.Ux
458.Po 458.Po
459formerly 459formerly
460.Tn OSF/1 460.Tn OSF/1
461.Pc 461.Pc
462applications built for the same architecture. 462applications built for the same architecture.
463This is currently limited to the alpha port. 463This is currently limited to the alpha port.
464.It Cd options COMPAT_NOMID 464.It Cd options COMPAT_NOMID
465Enable compatibility with 465Enable compatibility with
466.Xr a.out 5 466.Xr a.out 5
467executables that lack a machine ID. 467executables that lack a machine ID.
468This includes 468This includes
469.Nx 0.8 Ns 's 469.Nx 0.8 Ns 's
470ZMAGIC format, and 386BSD and BSDI's 470ZMAGIC format, and 386BSD and BSDI's
471QMAGIC, NMAGIC, and OMAGIC 471QMAGIC, NMAGIC, and OMAGIC
472.Xr a.out 5 472.Xr a.out 5
473formats. 473formats.
474.It Cd options COMPAT_NETBSD32 474.It Cd options COMPAT_NETBSD32
475On those architectures that support it, this enables binary 475On those architectures that support it, this enables binary
476compatibility with 32-bit applications built for the same architecture. 476compatibility with 32-bit applications built for the same architecture.
477This is currently limited to the amd64 and sparc64 ports, and only 477This is currently limited to the amd64 and sparc64 ports, and only
478applicable for 64-bit kernels. 478applicable for 64-bit kernels.
479.It Cd options COMPAT_SVR4_32 479.It Cd options COMPAT_SVR4_32
480On those architectures that support it, this enables binary 480On those architectures that support it, this enables binary
481compatibility with 32-bit SVR4 applications built for the same architecture. 481compatibility with 32-bit SVR4 applications built for the same architecture.
482This is currently limited to the sparc64 port, and only applicable for 482This is currently limited to the sparc64 port, and only applicable for
48364-bit kernels. 48364-bit kernels.
484.It Cd options COMPAT_AOUT_M68K 484.It Cd options COMPAT_AOUT_M68K
485On m68k architectures which have switched to ELF, 485On m68k architectures which have switched to ELF,
486this enables binary compatibility with 486this enables binary compatibility with
487.Nx Ns Tn /m68k 487.Nx Ns Tn /m68k
488.Xr a.out 5 488.Xr a.out 5
489executables on 489executables on
490.Nx Ns Tn /m68k 490.Nx Ns Tn /m68k
491ELF kernels. 491ELF kernels.
492This handles alignment incompatibility of m68k ABI between 492This handles alignment incompatibility of m68k ABI between
493a.out and ELF which causes the structure padding differences. 493a.out and ELF which causes the structure padding differences.
494Currently only some system calls which use 494Currently only some system calls which use
495.Va struct stat 495.Va struct stat
496are adjusted and some binaries which use 496are adjusted and some binaries which use
497.Xr sysctl 3 497.Xr sysctl 3
498to retrieve network details would not work properly. 498to retrieve network details would not work properly.
499.It Cd options EXEC_MACHO 499.It Cd options EXEC_MACHO
500On those architectures that support it, this adds support for running 500On those architectures that support it, this adds support for running
501Mach-O executables. 501Mach-O executables.
502This is currently limited to the i386 and powerpc ports of 502This is currently limited to the i386 and powerpc ports of
503.Nx . 503.Nx .
504.It Cd options EXEC_ELF_NOTELESS 504.It Cd options EXEC_ELF_NOTELESS
505Run unidentified ELF binaries as 505Run unidentified ELF binaries as
506.Nx 506.Nx
507binaries. 507binaries.
508This might be needed for very old 508This might be needed for very old
509.Nx 509.Nx
510ELF binaries on some archs. 510ELF binaries on some archs.
511These old binaries didn't contain an appropriate 511These old binaries didn't contain an appropriate
512.Li .note.netbsd.ident 512.Li .note.netbsd.ident
513section, and thus can't be identified by the kernel as 513section, and thus can't be identified by the kernel as
514.Nx 514.Nx
515binaries otherwise. 515binaries otherwise.
516Beware - if this option is on, the kernel would run 516Beware - if this option is on, the kernel would run
517.Em any 517.Em any
518unknown ELF binaries as if they were 518unknown ELF binaries as if they were
519.Nx 519.Nx
520binaries. 520binaries.
521.It Cd options P1003_1B_SEMAPHORE 521.It Cd options P1003_1B_SEMAPHORE
522Includes kernel support for the standard C library 522Includes kernel support for the standard C library
523.Pq libc 523.Pq libc
524functions that implement semaphores as specified in 524functions that implement semaphores as specified in
525.St -p1003.1-96 . 525.St -p1003.1-96 .
526.El 526.El
527.Ss Debugging Options 527.Ss Debugging Options
528.Bl -ohang 528.Bl -ohang
529.It Cd options DDB 529.It Cd options DDB
530Compiles in a kernel debugger for diagnosing kernel problems. 530Compiles in a kernel debugger for diagnosing kernel problems.
531See 531See
532.Xr ddb 4 532.Xr ddb 4
533for details. 533for details.
534.Em NOTE : 534.Em NOTE :
535not available on all architectures. 535not available on all architectures.
536.It Cd options DDB_FROMCONSOLE=integer 536.It Cd options DDB_FROMCONSOLE=integer
537If set to non-zero, DDB may be entered by sending a break on a serial 537If set to non-zero, DDB may be entered by sending a break on a serial
538console or by a special key sequence on a graphics console. 538console or by a special key sequence on a graphics console.
539A value of "0" ignores console breaks or key sequences. 539A value of "0" ignores console breaks or key sequences.
540If not explicitly specified, the default value is "1". 540If not explicitly specified, the default value is "1".
541Note that this sets the value of the 541Note that this sets the value of the
542.Em ddb.fromconsole 542.Em ddb.fromconsole
543.Xr sysctl 3 543.Xr sysctl 3
544variable which may be changed at run time -- see 544variable which may be changed at run time -- see
545.Xr sysctl 8 545.Xr sysctl 8
546for details. 546for details.
547.It Cd options DDB_HISTORY_SIZE=integer 547.It Cd options DDB_HISTORY_SIZE=integer
548If this is non-zero, enable history editing in the kernel debugger 548If this is non-zero, enable history editing in the kernel debugger
549and set the size of the history to this value. 549and set the size of the history to this value.
550.It Cd options DDB_ONPANIC 550.It Cd options DDB_ONPANIC
551The default if not specified is 551The default if not specified is
552.Dq 1 552.Dq 1
553- just enter into DDB. 553- just enter into DDB.
554If set to 554If set to
555.Dq 2 555.Dq 2
556the kernel will 556the kernel will
557attempt to print out a stack trace before entering into DDB. 557attempt to print out a stack trace before entering into DDB.
558If set to 558If set to
559.Dq 0 559.Dq 0
560the kernel will attempt to print out a stack trace 560the kernel will attempt to print out a stack trace
561and reboot the system. 561and reboot the system.
562If set to 562If set to
563.Dq -1 563.Dq -1
564then neither a stack trace is printed or DDB entered - 564then neither a stack trace is printed or DDB entered -
565it is as if DDB were not compiled into the kernel. 565it is as if DDB were not compiled into the kernel.
566Note that this sets the value of the 566Note that this sets the value of the
567.Em ddb.onpanic 567.Em ddb.onpanic
568.Xr sysctl 3 568.Xr sysctl 3
569variable which may be changed at run time -- see 569variable which may be changed at run time -- see
570.Xr sysctl 8 570.Xr sysctl 8
571for details. 571for details.
572.It Cd options DDB_COMMANDONENTER=string 572.It Cd options DDB_COMMANDONENTER=string
573This option specify commands which will be executed on each entry to DDB. 573This option specify commands which will be executed on each entry to DDB.
574This sets the default value of the 574This sets the default value of the
575.Em ddb.commandonenter 575.Em ddb.commandonenter
576.Xr sysctl 3 576.Xr sysctl 3
577variable which may be changed at run time. 577variable which may be changed at run time.
578.It Cd options DDB_BREAK_CHAR=integer 578.It Cd options DDB_BREAK_CHAR=integer
579This option overrides using break to enter the kernel debugger 579This option overrides using break to enter the kernel debugger
580on the serial console. 580on the serial console.
581The value given is the ASCII value to be used instead. 581The value given is the ASCII value to be used instead.
582This is currently only supported by the com driver. 582This is currently only supported by the com driver.
583.It Cd options DDB_VERBOSE_HELP 583.It Cd options DDB_VERBOSE_HELP
584This option adds more verbose descriptions to the 584This option adds more verbose descriptions to the
585.Em help 585.Em help
586command. 586command.
587.It Cd options KGDB 587.It Cd options KGDB
588Compiles in a remote kernel debugger stub for diagnosing kernel problems 588Compiles in a remote kernel debugger stub for diagnosing kernel problems
589using the 589using the
590.Dq remote target 590.Dq remote target
591feature of gdb. 591feature of gdb.
592See 592See
593.Xr gdb 1 593.Xr gdb 1
594for details. 594for details.
595.Em NOTE : 595.Em NOTE :
596not available on all architectures. 596not available on all architectures.
597.It Cd options KGDB_DEV 597.It Cd options KGDB_DEV
598Device number 598Device number
599.Po 599.Po
600as a 600as a
601.Dv dev_t 601.Dv dev_t
602.Pc 602.Pc
603of kgdb device. 603of kgdb device.
604.It Cd options KGDB_DEVADDR 604.It Cd options KGDB_DEVADDR
605Memory address of kgdb device. 605Memory address of kgdb device.
606.It Cd options KGDB_DEVMODE 606.It Cd options KGDB_DEVMODE
607Permissions of kgdb device. 607Permissions of kgdb device.
608.It Cd options KGDB_DEVNAME 608.It Cd options KGDB_DEVNAME
609Device name of kgdb device. 609Device name of kgdb device.
610.It Cd options KGDB_DEVRATE 610.It Cd options KGDB_DEVRATE
611Baud rate of kgdb device. 611Baud rate of kgdb device.
612.It Cd makeoptions DEBUG="-g" 612.It Cd makeoptions DEBUG="-g"
613The 613The
614.Fl g 614.Fl g
615flag causes 615flag causes
616.Pa netbsd.gdb 616.Pa netbsd.gdb
617to be built in addition to 617to be built in addition to
618.Pa netbsd . 618.Pa netbsd .
619.Pa netbsd.gdb 619.Pa netbsd.gdb
620is useful for debugging kernel crash dumps with gdb. 620is useful for debugging kernel crash dumps with gdb.
621See 621See
622.Xr gdb 1 622.Xr gdb 1
623for details. 623for details.
624This also turns on 624This also turns on
625.Em options DEBUG 625.Em options DEBUG
626(which see). 626(which see).
627.It Cd options DEBUG 627.It Cd options DEBUG
628Turns on miscellaneous kernel debugging. 628Turns on miscellaneous kernel debugging.
629Since options are turned into preprocessor defines (see above), 629Since options are turned into preprocessor defines (see above),
630.Em options DEBUG 630.Em options DEBUG
631is equivalent to doing a 631is equivalent to doing a
632.Em #define DEBUG 632.Em #define DEBUG
633throughout the kernel. 633throughout the kernel.
634Much of the kernel has 634Much of the kernel has
635.Em #ifdef DEBUG 635.Em #ifdef DEBUG
636conditionalized debugging code. 636conditionalized debugging code.
637Note that many parts of the kernel (typically device drivers) include their own 637Note that many parts of the kernel (typically device drivers) include their own
638.Em #ifdef XXX_DEBUG 638.Em #ifdef XXX_DEBUG
639conditionals instead. 639conditionals instead.
640This option also turns on certain other options, 640This option also turns on certain other options,
641which may decrease system performance. 641which may decrease system performance.
642.It Cd options DIAGNOSTIC 642.It Cd options DIAGNOSTIC
643Adds code to the kernel that does internal consistency checks. 643Adds code to the kernel that does internal consistency checks.
644This code will cause the kernel to panic if corruption of internal data 644This code will cause the kernel to panic if corruption of internal data
645structures is detected. 645structures is detected.
646These checks can decrease performance up to 15%. 646These checks can decrease performance up to 15%.
647.It Cd options KSTACK_CHECK_MAGIC 647.It Cd options KSTACK_CHECK_MAGIC
648Check kernel stack usage and panic if stack overflow is detected. 648Check kernel stack usage and panic if stack overflow is detected.
649This check is performance sensitive because it scans stack on each context 649This check is performance sensitive because it scans stack on each context
650switch. 650switch.
651.It Cd options KTRACE 651.It Cd options KTRACE
652Add hooks for the system call tracing facility, which allows users to 652Add hooks for the system call tracing facility, which allows users to
653watch the system call invocation behavior of processes. 653watch the system call invocation behavior of processes.
654See 654See
655.Xr ktrace 1 655.Xr ktrace 1
656for details. 656for details.
657.It Cd options MSGBUFSIZE=integer 657.It Cd options MSGBUFSIZE=integer
658This option sets the size of the kernel message buffer. 658This option sets the size of the kernel message buffer.
659This buffer holds the kernel output of 659This buffer holds the kernel output of
660.Fn printf 660.Fn printf
661when not (yet) read by 661when not (yet) read by
662.Xr syslogd 8 . 662.Xr syslogd 8 .
663This is particularly useful when the system has crashed and you wish to lookup 663This is particularly useful when the system has crashed and you wish to lookup
664the kernel output from just before the crash. 664the kernel output from just before the crash.
665Also, since the autoconfig output becomes more and more verbose, 665Also, since the autoconfig output becomes more and more verbose,
666it sometimes happens that the message buffer overflows before 666it sometimes happens that the message buffer overflows before
667.Xr syslogd 8 667.Xr syslogd 8
668was able to read it. 668was able to read it.
669Note that not all systems are capable of obtaining a variable sized message 669Note that not all systems are capable of obtaining a variable sized message
670buffer. 670buffer.
671There are also some systems on which memory contents are not preserved 671There are also some systems on which memory contents are not preserved
672across reboots. 672across reboots.
673.It Cd options MALLOCLOG 673.It Cd options MALLOCLOG
674Enables an event log for 674Enables an event log for
675.Xr malloc 9 . 675.Xr malloc 9 .
676Useful for tracking down 676Useful for tracking down
677.Dq Data modified on freelist 677.Dq Data modified on freelist
678and 678and
679.Dq multiple free 679.Dq multiple free
680problems. 680problems.
681.It Cd options MALLOCLOGSIZE=integer 681.It Cd options MALLOCLOGSIZE=integer
682Defines the number of entries in the malloc log. 682Defines the number of entries in the malloc log.
683Default is 100000 entries. 683Default is 100000 entries.
684.It Cd options UVMHIST 684.It Cd options UVMHIST
685Enables the UVM history logs, which create in-memory traces of 685Enables the UVM history logs, which create in-memory traces of
686various UVM activities. 686various UVM activities.
687These logs can be displayed be calling 687These logs can be displayed by calling
688.Fn uvmhist_dump 688.Fn uvmhist_dump
689or 689or
690.Fn uvm_hist 690.Fn uvm_hist
691with appropriate arguments from DDB. 691with appropriate arguments from DDB.
692See the kernel source file sys/uvm/uvm_stat.c for details. 692See the kernel source file sys/uvm/uvm_stat.c for details.
693.It Cd options UVMHIST_PRINT 693.It Cd options UVMHIST_PRINT
694Prints the UVM history logs on the system console as entries are added. 694Prints the UVM history logs on the system console as entries are added.
695Note that the output is 695Note that the output is
696.Em extremely 696.Em extremely
697voluminous, so this option is really only useful for debugging 697voluminous, so this option is really only useful for debugging
698the very earliest parts of kernel initialization. 698the very earliest parts of kernel initialization.
699.El 699.El
700.Ss File Systems 700.Ss File Systems
701.Bl -ohang 701.Bl -ohang
702.It Cd file-system FFS 702.It Cd file-system FFS
703Includes code implementing the Berkeley Fast File System 703Includes code implementing the Berkeley Fast File System
704.Em ( FFS ) . 704.Em ( FFS ) .
705Most machines need this if they are not running diskless. 705Most machines need this if they are not running diskless.
706.It Cd file-system EXT2FS 706.It Cd file-system EXT2FS
707Includes code implementing the Second Extended File System 707Includes code implementing the Second Extended File System
708.Em ( EXT2FS ) , 708.Em ( EXT2FS ) ,
709revision 0 and revision 1 with the 709revision 0 and revision 1 with the
710.Em filetype 710.Em filetype
711and 711and
712.Em sparse_super 712.Em sparse_super
713options. 713options.
714This is the most commonly used file system on the Linux operating system, 714This is the most commonly used file system on the Linux operating system,
715and is provided here for compatibility. 715and is provided here for compatibility.
716Some of the specific features of 716Some of the specific features of
717.Em EXT2FS 717.Em EXT2FS
718like the "behavior on errors" are not implemented. 718like the "behavior on errors" are not implemented.
719This file system can't be used with UID or GID greater than 65535. 719This file system can't be used with UID or GID greater than 65535.
720See 720See
721.Xr mount_ext2fs 8 721.Xr mount_ext2fs 8
722for details. 722for details.
723.It Cd file-system LFS 723.It Cd file-system LFS
724.Bq Em EXPERIMENTAL 724.Bq Em EXPERIMENTAL
725Include the Log-structured File System 725Include the Log-structured File System
726.Em ( LFS ) . 726.Em ( LFS ) .
727See 727See
728.Xr mount_lfs 8 728.Xr mount_lfs 8
729and 729and
730.Xr newfs_lfs 8 730.Xr newfs_lfs 8
731for details. 731for details.
732.It Cd file-system MFS 732.It Cd file-system MFS
733Include the Memory File System 733Include the Memory File System
734.Em ( MFS ) . 734.Em ( MFS ) .
735This file system stores files in swappable memory, and produces 735This file system stores files in swappable memory, and produces
736notable performance improvements when it is used as the file store 736notable performance improvements when it is used as the file store
737for 737for
738.Pa /tmp 738.Pa /tmp
739and similar file systems. 739and similar file systems.
740See 740See
741.Xr mount_mfs 8 741.Xr mount_mfs 8
742for details. 742for details.
743.It Cd file-system NFS 743.It Cd file-system NFS
744Include the client side of the Network File System 744Include the client side of the Network File System
745.Pq Tn NFS 745.Pq Tn NFS
746remote file sharing protocol. 746remote file sharing protocol.
747Although the bulk of the code implementing 747Although the bulk of the code implementing
748.Tn NFS 748.Tn NFS
749is kernel based, several user level daemons are needed for it to work. 749is kernel based, several user level daemons are needed for it to work.
750See 750See
751.Xr mount_nfs 8 751.Xr mount_nfs 8
752for details. 752for details.
753.It Cd file-system CD9660 753.It Cd file-system CD9660
754Includes code for the 754Includes code for the
755.Tn ISO 755.Tn ISO
7569660 + Rock Ridge file system, which is the standard file system on many 7569660 + Rock Ridge file system, which is the standard file system on many
757.Tn CD-ROM 757.Tn CD-ROM
758discs. 758discs.
759Useful primarily if you have a 759Useful primarily if you have a
760.Tn CD-ROM 760.Tn CD-ROM
761drive. 761drive.
762See 762See
763.Xr mount_cd9660 8 763.Xr mount_cd9660 8
764for details. 764for details.
765.It Cd file-system MSDOSFS 765.It Cd file-system MSDOSFS
766Includes the 766Includes the
767.Tn MS-DOS 767.Tn MS-DOS
768FAT file system, which is reportedly still used 768FAT file system, which is reportedly still used
769by unfortunate people who have not heard about 769by unfortunate people who have not heard about
770.Nx . 770.Nx .
771Also implements the 771Also implements the
772.Tn Windows 95 772.Tn Windows 95
773extensions to the same, which permit the use of longer, mixed case 773extensions to the same, which permit the use of longer, mixed case
774file names. 774file names.
775See 775See
776.Xr mount_msdos 8 776.Xr mount_msdos 8
777and 777and
778.Xr fsck_msdos 8 778.Xr fsck_msdos 8
779for details. 779for details.
780.It Cd file-system NTFS 780.It Cd file-system NTFS
781.Bq Em EXPERIMENTAL 781.Bq Em EXPERIMENTAL
782Includes code for the 782Includes code for the
783.Tn Microsoft Windows NT 783.Tn Microsoft Windows NT
784file system. 784file system.
785See 785See
786.Xr mount_ntfs 8 786.Xr mount_ntfs 8
787for details. 787for details.
788.It Cd file-system FDESC 788.It Cd file-system FDESC
789Includes code for a file system, conventionally mounted on 789Includes code for a file system, conventionally mounted on
790.Pa /dev/fd , 790.Pa /dev/fd ,
791which permits access to the per-process file descriptor space via 791which permits access to the per-process file descriptor space via
792special files in the file system. 792special files in the file system.
793See 793See
794.Xr mount_fdesc 8 794.Xr mount_fdesc 8
795for details. 795for details.
796Note that this facility is redundant, and thus unneeded on most 796Note that this facility is redundant, and thus unneeded on most
797.Nx 797.Nx
798systems, since the 798systems, since the
799.Xr fd 4 799.Xr fd 4
800pseudo-device driver already provides identical functionality. 800pseudo-device driver already provides identical functionality.
801On most 801On most
802.Nx 802.Nx
803systems, instances of 803systems, instances of
804.Xr fd 4 804.Xr fd 4
805are mknoded under 805are mknoded under
806.Pa /dev/fd/ 806.Pa /dev/fd/
807and on 807and on
808.Pa /dev/stdin , 808.Pa /dev/stdin ,
809.Pa /dev/stdout , 809.Pa /dev/stdout ,
810and 810and
811.Pa /dev/stderr . 811.Pa /dev/stderr .
812.It Cd file-system KERNFS 812.It Cd file-system KERNFS
813Includes code which permits the mounting of a special file system 813Includes code which permits the mounting of a special file system
814(normally mounted on 814(normally mounted on
815.Pa /kern ) 815.Pa /kern )
816in which files representing various kernel variables and parameters 816in which files representing various kernel variables and parameters
817may be found. 817may be found.
818See 818See
819.Xr mount_kernfs 8 819.Xr mount_kernfs 8
820for details. 820for details.
821.It Cd file-system NULLFS 821.It Cd file-system NULLFS
822Includes code for a loopback file system. 822Includes code for a loopback file system.
823This permits portions of the file hierarchy to be re-mounted in other places. 823This permits portions of the file hierarchy to be re-mounted in other places.
824The code really exists to provide an example of a stackable file system layer. 824The code really exists to provide an example of a stackable file system layer.
825See 825See
826.Xr mount_null 8 826.Xr mount_null 8
827for details. 827for details.
828.It Cd file-system OVERLAY 828.It Cd file-system OVERLAY
829Includes code for a file system filter. 829Includes code for a file system filter.
830This permits the overlay file system to intercept all access to an underlying 830This permits the overlay file system to intercept all access to an underlying
831file system. 831file system.
832This file system is intended to serve as an example of a stacking file 832This file system is intended to serve as an example of a stacking file
833system which has a need to interpose itself between an underlying file 833system which has a need to interpose itself between an underlying file
834system and all other access. 834system and all other access.
835See 835See
836.Xr mount_overlay 8 836.Xr mount_overlay 8
837for details. 837for details.
838.It Cd file-system PORTAL 838.It Cd file-system PORTAL
839.Bq Em EXPERIMENTAL 839.Bq Em EXPERIMENTAL
840Includes the portal file system. 840Includes the portal file system.
841This permits interesting tricks like opening 841This permits interesting tricks like opening
842.Tn TCP 842.Tn TCP
843sockets by opening files in the file system. 843sockets by opening files in the file system.
844The portal file system is conventionally mounted on 844The portal file system is conventionally mounted on
845.Pa /p 845.Pa /p
846and is partially implemented by a special daemon. 846and is partially implemented by a special daemon.
847See 847See
848.Xr mount_portal 8 848.Xr mount_portal 8
849for details. 849for details.
850.It Cd file-system PROCFS 850.It Cd file-system PROCFS
851Includes code for a special file system (conventionally mounted on 851Includes code for a special file system (conventionally mounted on
852.Pa /proc ) 852.Pa /proc )
853in which the process space becomes visible in the file system. 853in which the process space becomes visible in the file system.
854Among 854Among
855other things, the memory spaces of processes running on the system are 855other things, the memory spaces of processes running on the system are
856visible as files, and signals may be sent to processes by writing to 856visible as files, and signals may be sent to processes by writing to
857.Pa ctl 857.Pa ctl
858files in the procfs namespace. 858files in the procfs namespace.
859See 859See
860.Xr mount_procfs 8 860.Xr mount_procfs 8
861for details. 861for details.
862.It Cd file-system UDF 862.It Cd file-system UDF
863.Bq Em EXPERIMENTAL 863.Bq Em EXPERIMENTAL
864Includes code for the UDF file system commonly found on CD and DVD 864Includes code for the UDF file system commonly found on CD and DVD
865media but also more and more on USB sticks. 865media but also more and more on USB sticks.
866Useful primarily if you have a CD or a DVD drive, be it a read-only 866Useful primarily if you have a CD or a DVD drive, be it a read-only
867or a rewritable device. 867or a rewritable device.
868Currently only supports read-access. 868Currently only supports read-access.
869See 869See
870.Xr mount_udf 8 870.Xr mount_udf 8
871for details. 871for details.
872.It Cd file-system UMAPFS 872.It Cd file-system UMAPFS
873Includes a loopback file system in which user and group IDs may be 873Includes a loopback file system in which user and group IDs may be
874remapped -- this can be useful when mounting alien file systems with 874remapped -- this can be useful when mounting alien file systems with
875different UIDs and GIDs than the local system. 875different UIDs and GIDs than the local system.
876See 876See
877.Xr mount_umap 8 877.Xr mount_umap 8
878for details. 878for details.
879.It Cd file-system UNION 879.It Cd file-system UNION
880.Bq Em EXPERIMENTAL 880.Bq Em EXPERIMENTAL
881Includes code for the union file system, which permits directories to 881Includes code for the union file system, which permits directories to
882be mounted on top of each other in such a way that both file systems 882be mounted on top of each other in such a way that both file systems
883remain visible -- this permits tricks like allowing writing (and the 883remain visible -- this permits tricks like allowing writing (and the
884deleting of files) on a read-only file system like a 884deleting of files) on a read-only file system like a
885.Tn CD-ROM 885.Tn CD-ROM
886by mounting a local writable file system on top of the read-only file system. 886by mounting a local writable file system on top of the read-only file system.
887See 887See
888.Xr mount_union 8 888.Xr mount_union 8
889for details. 889for details.
890.It Cd file-system CODA 890.It Cd file-system CODA
891.Bq Em EXPERIMENTAL 891.Bq Em EXPERIMENTAL
892Includes code for the Coda file system. 892Includes code for the Coda file system.
893Coda is a distributed file system like NFS and AFS. 893Coda is a distributed file system like NFS and AFS.
894It is freely available, like NFS, but it functions much like AFS in being a 894It is freely available, like NFS, but it functions much like AFS in being a
895.Dq stateful 895.Dq stateful
896file system. 896file system.
897Both Coda and AFS cache files on your local machine to improve performance. 897Both Coda and AFS cache files on your local machine to improve performance.
898Then Coda goes a step further than AFS by letting you access the cached 898Then Coda goes a step further than AFS by letting you access the cached
899files when there is no available network, viz. disconnected laptops and 899files when there is no available network, viz. disconnected laptops and
900network outages. 900network outages.
901In Coda, both the client and server are outside the kernel which makes 901In Coda, both the client and server are outside the kernel which makes
902them easier to experiment with. 902them easier to experiment with.
903Coda is available for several UNIX and non-UNIX platforms. 903Coda is available for several UNIX and non-UNIX platforms.
904See http://www.coda.cs.cmu.edu for more details. 904See http://www.coda.cs.cmu.edu for more details.
905.Em NOTE : 905.Em NOTE :
906You also need to enable the pseudo-device, vcoda, for the Coda 906You also need to enable the pseudo-device, vcoda, for the Coda
907file system to work. 907file system to work.
908.It Cd file-system SMBFS 908.It Cd file-system SMBFS
909.Bq Em EXPERIMENTAL 909.Bq Em EXPERIMENTAL
910Includes code for the SMB/CIFS file system. 910Includes code for the SMB/CIFS file system.
911See 911See
912.Xr mount_smbfs 8 912.Xr mount_smbfs 8
913for details. 913for details.
914.Em NOTE : 914.Em NOTE :
915You also need to enable the pseudo-device, nsmb, for the SMB 915You also need to enable the pseudo-device, nsmb, for the SMB
916file system to work. 916file system to work.
917.It Cd file-system PTYFS 917.It Cd file-system PTYFS
918.Bq Em EXPERIMENTAL 918.Bq Em EXPERIMENTAL
919Includes code for a special file system (normally mounted on 919Includes code for a special file system (normally mounted on
920.Pa /dev/pts ) 920.Pa /dev/pts )
921in which pseudo-terminal slave devices become visible in the file system. 921in which pseudo-terminal slave devices become visible in the file system.
922See 922See
923.Xr mount_ptyfs 8 923.Xr mount_ptyfs 8
924for details. 924for details.
925.It Cd file-system TMPFS 925.It Cd file-system TMPFS
926Includes code for the efficient memory file system, normally used over 926Includes code for the efficient memory file system, normally used over
927.Pa /tmp . 927.Pa /tmp .
928See 928See
929.Xr mount_tmpfs 8 929.Xr mount_tmpfs 8
930for details. 930for details.
931.It Cd file-system PUFFS 931.It Cd file-system PUFFS
932.Bq Em EXPERIMENTAL 932.Bq Em EXPERIMENTAL
933Includes kernel support for the pass-to-userspace framework file system. 933Includes kernel support for the pass-to-userspace framework file system.
934It can be used to implement file system functionality in userspace. 934It can be used to implement file system functionality in userspace.
935See 935See
936.Xr puffs 3 936.Xr puffs 3
937and 937and
938.Xr puffs 4 938.Xr puffs 4
939for more details. 939for more details.
940This option is required for sshfs: 940This option is required for sshfs:
941.Xr mount_psshfs 8 . 941.Xr mount_psshfs 8 .
942.El 942.El
943.Ss File System Options 943.Ss File System Options
944.Bl -ohang 944.Bl -ohang
945.It Cd options MAGICLINKS 945.It Cd options MAGICLINKS
946Enables the expansion of special strings 946Enables the expansion of special strings
947.Po 947.Po
948beginning with 948beginning with
949.Dq @ 949.Dq @
950.Pc 950.Pc
951when traversing symbolic links. 951when traversing symbolic links.
952See 952See
953.Xr symlink 7 953.Xr symlink 7
954for a list of supported strings. 954for a list of supported strings.
955Note that this option only controls the enabling of this feature 955Note that this option only controls the enabling of this feature
956by the kernel at boot-up. 956by the kernel at boot-up.
957This feature can still be manipulated with the 957This feature can still be manipulated with the
958.Xr sysctl 8 958.Xr sysctl 8
959command regardless of the setting of this option. 959command regardless of the setting of this option.
960.It Cd options NFSSERVER 960.It Cd options NFSSERVER
961Include the server side of the 961Include the server side of the
962.Em NFS 962.Em NFS
963(Network File System) remote file sharing protocol. 963(Network File System) remote file sharing protocol.
964Although the bulk of the code implementing 964Although the bulk of the code implementing
965.Em NFS 965.Em NFS
966is kernel based, several user level daemons are needed for it to 966is kernel based, several user level daemons are needed for it to
967work. 967work.
968See 968See
969.Xr mountd 8 969.Xr mountd 8
970and 970and
971.Xr nfsd 8 971.Xr nfsd 8
972for details. 972for details.
973.It Cd options QUOTA 973.It Cd options QUOTA
974Enables kernel support for file system quotas. 974Enables kernel support for file system quotas.
975See 975See
976.Xr quotaon 8 , 976.Xr quotaon 8 ,
977.Xr edquota 8 , 977.Xr edquota 8 ,
978and 978and
979.Xr quota 1 979.Xr quota 1
980for details. 980for details.
981Note that quotas only work on 981Note that quotas only work on
982.Dq ffs 982.Dq ffs
983file systems, although 983file systems, although
984.Xr rpc.rquotad 8 984.Xr rpc.rquotad 8
985permits them to be accessed over 985permits them to be accessed over
986.Em NFS . 986.Em NFS .
987.It Cd options FFS_EI 987.It Cd options FFS_EI
988Enable ``Endian-Independent'' FFS support. 988Enable ``Endian-Independent'' FFS support.
989This allows a system to mount an FFS file system created for another 989This allows a system to mount an FFS file system created for another
990architecture, at a small performance cost for all FFS file systems. 990architecture, at a small performance cost for all FFS file systems.
991See also 991See also
992.Xr newfs 8 , 992.Xr newfs 8 ,
993.Xr fsck_ffs 8 , 993.Xr fsck_ffs 8 ,
994.Xr dumpfs 8 994.Xr dumpfs 8
995for file system byte order status and manipulation. 995for file system byte order status and manipulation.
996.It Cd options FFS_NO_SNAPSHOT 996.It Cd options FFS_NO_SNAPSHOT
997Disable the 997Disable the
998.Dq file system snapshot 998.Dq file system snapshot
999support in FFS file systems. 999support in FFS file systems.
1000Maybe useful for install media kernels, small memory systems and 1000Maybe useful for install media kernels, small memory systems and
1001embedded systems which don't require the snapshot support. 1001embedded systems which don't require the snapshot support.
1002.It Cd options WAPBL 1002.It Cd options WAPBL
1003Enable 1003Enable
1004.Dq Write Ahead Physical Block Logging file system journaling . 1004.Dq Write Ahead Physical Block Logging file system journaling .
1005This provides rapid file system consistency checking after a system outage. 1005This provides rapid file system consistency checking after a system outage.
1006It also provides better general use performance over regular FFS. 1006It also provides better general use performance over regular FFS.
1007See also 1007See also
1008.Xr wapbl 4 . 1008.Xr wapbl 4 .
1009.It Cd options NVNODE=integer 1009.It Cd options NVNODE=integer
1010This option sets the size of the cache used by the name-to-inode translation 1010This option sets the size of the cache used by the name-to-inode translation
1011routines, (a.k.a. the 1011routines, (a.k.a. the
1012.Fn namei 1012.Fn namei
1013cache, though called by many other names in the kernel source). 1013cache, though called by many other names in the kernel source).
1014By default, this cache has 1014By default, this cache has
1015.Dv NPROC 1015.Dv NPROC
1016(set as 20 + 16 * MAXUSERS) * (80 + NPROC / 8) entries. 1016(set as 20 + 16 * MAXUSERS) * (80 + NPROC / 8) entries.
1017A reasonable way to derive a value of 1017A reasonable way to derive a value of
1018.Dv NVNODE , 1018.Dv NVNODE ,
1019should you notice a large number of namei cache misses with a tool such as 1019should you notice a large number of namei cache misses with a tool such as
1020.Xr systat 1 , 1020.Xr systat 1 ,
1021is to examine your system's current computed value with 1021is to examine your system's current computed value with
1022.Xr sysctl 8 , 1022.Xr sysctl 8 ,
1023(which calls this parameter "kern.maxvnodes") and to increase this value 1023(which calls this parameter "kern.maxvnodes") and to increase this value
1024until either the namei cache hit rate improves or it is determined that 1024until either the namei cache hit rate improves or it is determined that
1025your system does not benefit substantially from an increase in the size of 1025your system does not benefit substantially from an increase in the size of
1026the namei cache. 1026the namei cache.
1027.It Cd options NAMECACHE_ENTER_REVERSE 1027.It Cd options NAMECACHE_ENTER_REVERSE
1028Causes the namei cache to always enter a reverse mapping (vnode -\*[Gt] name) 1028Causes the namei cache to always enter a reverse mapping (vnode -\*[Gt] name)
1029as well as a normal one. 1029as well as a normal one.
1030Normally, this is already done for directory vnodes, to speed up the getcwd 1030Normally, this is already done for directory vnodes, to speed up the getcwd
1031operation. 1031operation.
1032This option will cause longer hash chains in the reverse cache, and thus 1032This option will cause longer hash chains in the reverse cache, and thus
1033slow down getcwd somewhat. 1033slow down getcwd somewhat.
1034However, it does make vnode -\*[Gt] path translations possible in some cases. 1034However, it does make vnode -\*[Gt] path translations possible in some cases.
1035For now, only useful if strict /proc/#/maps emulation for Linux binaries is 1035For now, only useful if strict /proc/#/maps emulation for Linux binaries is
1036required. 1036required.
1037.It Cd options EXT2FS_SYSTEM_FLAGS 1037.It Cd options EXT2FS_SYSTEM_FLAGS
1038This option changes the behavior of the APPEND and IMMUTABLE flags 1038This option changes the behavior of the APPEND and IMMUTABLE flags
1039for a file on an 1039for a file on an
1040.Em EXT2FS 1040.Em EXT2FS
1041file system. 1041file system.
1042Without this option, the superuser or owner of the file can 1042Without this option, the superuser or owner of the file can
1043set and clear them. 1043set and clear them.
1044With this option, only the superuser can set them, and 1044With this option, only the superuser can set them, and
1045they can't be cleared if the securelevel is greater than 0. 1045they can't be cleared if the securelevel is greater than 0.
1046See also 1046See also
1047.Xr chflags 1 1047.Xr chflags 1
1048and 1048and
1049.Xr secmodel_securelevel 9 . 1049.Xr secmodel_securelevel 9 .
1050.It Cd options NFS_BOOT_BOOTP 1050.It Cd options NFS_BOOT_BOOTP
1051Enable use of the BOOTP protocol (RFCs 951 and 1048) to get configuration 1051Enable use of the BOOTP protocol (RFCs 951 and 1048) to get configuration
1052information if NFS is used to mount the root file system. 1052information if NFS is used to mount the root file system.
1053See 1053See
1054.Xr diskless 8 1054.Xr diskless 8
1055for details. 1055for details.
1056.It Cd options NFS_BOOT_DHCP 1056.It Cd options NFS_BOOT_DHCP
1057Same as 1057Same as
1058.Dq NFS_BOOT_BOOTP , 1058.Dq NFS_BOOT_BOOTP ,
1059but use the DHCP extensions to the 1059but use the DHCP extensions to the
1060BOOTP protocol (RFC 1541). 1060BOOTP protocol (RFC 1541).
1061.It Cd options NFS_BOOT_BOOTP_REQFILE 1061.It Cd options NFS_BOOT_BOOTP_REQFILE
1062Specifies the string sent in the bp_file field of the BOOTP / DHCP 1062Specifies the string sent in the bp_file field of the BOOTP / DHCP
1063request packet. 1063request packet.
1064.It Cd options NFS_BOOT_BOOTPARAM 1064.It Cd options NFS_BOOT_BOOTPARAM
1065Enable use of the BOOTPARAM protocol, consisting of RARP and 1065Enable use of the BOOTPARAM protocol, consisting of RARP and
1066BOOTPARAM RPC, to get configuration information if NFS 1066BOOTPARAM RPC, to get configuration information if NFS
1067is used to mount the root file system. 1067is used to mount the root file system.
1068See 1068See
1069.Xr diskless 8 1069.Xr diskless 8
1070for details. 1070for details.
1071.It Cd options NFS_BOOT_RWSIZE=value 1071.It Cd options NFS_BOOT_RWSIZE=value
1072Set the initial NFS read and write sizes for diskless-boot requests. 1072Set the initial NFS read and write sizes for diskless-boot requests.
1073The normal default is 8Kbytes. 1073The normal default is 8Kbytes.
1074This option provides a way to lower the value (e.g., to 1024 bytes) 1074This option provides a way to lower the value (e.g., to 1024 bytes)
1075as a workaround for buggy network interface cards or boot PROMs. 1075as a workaround for buggy network interface cards or boot PROMs.
1076Once booted, the read and write request sizes can be increased by 1076Once booted, the read and write request sizes can be increased by
1077remounting the file system. 1077remounting the file system.
1078See 1078See
1079.Xr mount_nfs 8 1079.Xr mount_nfs 8
1080for details. 1080for details.
1081.It Cd options NFS_V2_ONLY 1081.It Cd options NFS_V2_ONLY
1082Reduce the size of the NFS client code by omitting code that's only required 1082Reduce the size of the NFS client code by omitting code that's only required
1083for NFSv3 and NQNFS support, leaving only that code required to use NFSv2 1083for NFSv3 and NQNFS support, leaving only that code required to use NFSv2
1084servers. 1084servers.
1085.It Cd options SOFTDEP 1085.It Cd options SOFTDEP
1086Enable kernel support for soft-dependencies in FFS file systems. 1086Enable kernel support for soft-dependencies in FFS file systems.
1087Softdep improves write performance by aggregating and properly 1087Softdep improves write performance by aggregating and properly
1088ordering disk metadata writes, achieving near-asynchronous write 1088ordering disk metadata writes, achieving near-asynchronous write
1089performance while maintaining the file system consistency of 1089performance while maintaining the file system consistency of
1090synchronous writes. 1090synchronous writes.
1091Soft-dependencies are enabled on a per-mount basis. 1091Soft-dependencies are enabled on a per-mount basis.
1092See 1092See
1093.Xr mount 8 1093.Xr mount 8
1094for details. 1094for details.
1095.It Cd options UFS_DIRHASH 1095.It Cd options UFS_DIRHASH
1096Increase lookup performance by maintaining in-core hash tables 1096Increase lookup performance by maintaining in-core hash tables
1097for large directories. 1097for large directories.
1098.El 1098.El
1099.Ss Buffer queue strategy options 1099.Ss Buffer queue strategy options
1100The following options enable alternative buffer queue strategies. 1100The following options enable alternative buffer queue strategies.
1101.Bl -ohang 1101.Bl -ohang
1102.It Cd options BUFQ_READPRIO 1102.It Cd options BUFQ_READPRIO
1103Enable experimental buffer queue strategy for disk I/O. 1103Enable experimental buffer queue strategy for disk I/O.
1104In the default strategy, outstanding disk requests are ordered by 1104In the default strategy, outstanding disk requests are ordered by
1105sector number and sent to the disk, regardless of whether the 1105sector number and sent to the disk, regardless of whether the
1106operation is a read or write; this option gives priority to issuing 1106operation is a read or write; this option gives priority to issuing
1107read requests over write requests. 1107read requests over write requests.
1108Although requests may therefore be issued out of sector-order, causing 1108Although requests may therefore be issued out of sector-order, causing
1109more seeks and thus lower overall throughput, interactive system 1109more seeks and thus lower overall throughput, interactive system
1110responsiveness under heavy disk I/O load may be improved, as processes 1110responsiveness under heavy disk I/O load may be improved, as processes
1111blocking on disk reads are serviced sooner (file writes typically 1111blocking on disk reads are serviced sooner (file writes typically
1112don't cause applications to block). 1112don't cause applications to block).
1113The performance effect varies greatly depending on the hardware, drive 1113The performance effect varies greatly depending on the hardware, drive
1114firmware, file system configuration, workload, and desired performance 1114firmware, file system configuration, workload, and desired performance
1115trade-off. 1115trade-off.
1116Systems using drive write-cache (most modern IDE disks, by default) 1116Systems using drive write-cache (most modern IDE disks, by default)
1117are unlikely to benefit and may well suffer; such disks acknowledge 1117are unlikely to benefit and may well suffer; such disks acknowledge
1118writes very quickly, and optimize them internally according to 1118writes very quickly, and optimize them internally according to
1119physical layout. 1119physical layout.
1120Giving these disks as many requests to work with as possible (the 1120Giving these disks as many requests to work with as possible (the
1121standard strategy) will typically produce the best results, especially 1121standard strategy) will typically produce the best results, especially
1122if the drive has a large cache; the drive will silently complete 1122if the drive has a large cache; the drive will silently complete
1123writes from cache as it seeks for reads. 1123writes from cache as it seeks for reads.
1124Disks that support a large number of concurrent tagged requests (SCSI 1124Disks that support a large number of concurrent tagged requests (SCSI
1125disks and many hardware RAID controllers) expose this internal 1125disks and many hardware RAID controllers) expose this internal
1126scheduling with tagged responses, and don't block for reads; such 1126scheduling with tagged responses, and don't block for reads; such
1127disks may not see a noticeable difference with either strategy. 1127disks may not see a noticeable difference with either strategy.
1128However, if IDE disks are run with write-cache disabled for safety, 1128However, if IDE disks are run with write-cache disabled for safety,
1129writes are not acknowledged until actually completed, and only one 1129writes are not acknowledged until actually completed, and only one
1130request can be outstanding; a large number of small writes in one 1130request can be outstanding; a large number of small writes in one
1131locality can keep the disk busy, starving reads elsewhere on the disk. 1131locality can keep the disk busy, starving reads elsewhere on the disk.
1132Such systems are likely to see the most benefit from this option. 1132Such systems are likely to see the most benefit from this option.
1133Finally, the performance interaction of this option with ffs soft 1133Finally, the performance interaction of this option with ffs soft
1134dependencies can be subtle, as that mechanism can drastically alter 1134dependencies can be subtle, as that mechanism can drastically alter
1135the workload for file system metadata writes. 1135the workload for file system metadata writes.
1136.It Cd options BUFQ_PRIOCSCAN 1136.It Cd options BUFQ_PRIOCSCAN
1137Enable another buffer queue strategy for disk I/O, per-priority cyclical scan. 1137Enable another buffer queue strategy for disk I/O, per-priority cyclical scan.
1138.It Cd options NEW_BUFQ_STRATEGY 1138.It Cd options NEW_BUFQ_STRATEGY
1139Synonym of 1139Synonym of
1140.Em BUFQ_READPRIO . 1140.Em BUFQ_READPRIO .
1141.El 1141.El
1142.Ss Miscellaneous Options 1142.Ss Miscellaneous Options
1143.Bl -ohang 1143.Bl -ohang
1144.It Cd options LKM 1144.It Cd options LKM
1145Enable loadable kernel modules. 1145Enable loadable kernel modules.
1146See 1146See
1147.Xr lkm 4 1147.Xr lkm 4
1148for details. 1148for details.
1149.Em NOTE : 1149.Em NOTE :
1150not available on all architectures. 1150not available on all architectures.
1151.It Cd options MEMORY_DISK_DYNAMIC 1151.It Cd options MEMORY_DISK_DYNAMIC
1152This option makes the 1152This option makes the
1153.Xr md 4 1153.Xr md 4
1154.Tn RAM 1154.Tn RAM
1155disk size dynamically sized. 1155disk size dynamically sized.
1156It is incompatible with 1156It is incompatible with
1157.Xr mdsetimage 8 . 1157.Xr mdsetimage 8 .
1158.It Cd options MEMORY_DISK_HOOKS 1158.It Cd options MEMORY_DISK_HOOKS
1159This option allows for some machine dependent functions to be called when 1159This option allows for some machine dependent functions to be called when
1160the 1160the
1161.Xr md 4 1161.Xr md 4
1162.Tn RAM 1162.Tn RAM
1163disk driver is configured. 1163disk driver is configured.
1164This can result in automatically loading a 1164This can result in automatically loading a
1165.Tn RAM 1165.Tn RAM
1166disk from floppy on open (among other things). 1166disk from floppy on open (among other things).
1167.It Cd options MEMORY_DISK_IS_ROOT 1167.It Cd options MEMORY_DISK_IS_ROOT
1168Forces the 1168Forces the
1169.Xr md 4 1169.Xr md 4
1170.Tn RAM 1170.Tn RAM
1171disk to be the root device. 1171disk to be the root device.
1172This can only be overridden when 1172This can only be overridden when
1173the kernel is booted in the 'ask-for-root' mode. 1173the kernel is booted in the 'ask-for-root' mode.
1174.It Cd options MEMORY_DISK_ROOT_SIZE=integer 1174.It Cd options MEMORY_DISK_ROOT_SIZE=integer
1175Allocates the given number of 512 byte blocks as memory for the 1175Allocates the given number of 512 byte blocks as memory for the
1176.Xr md 4 1176.Xr md 4
1177.Tn RAM 1177.Tn RAM
1178disk, to be populated with 1178disk, to be populated with
1179.Xr mdsetimage 8 . 1179.Xr mdsetimage 8 .
1180.It Cd options MEMORY_DISK_SERVER=0 1180.It Cd options MEMORY_DISK_SERVER=0
1181Do not include the interface to a userland memory disk server process. 1181Do not include the interface to a userland memory disk server process.
1182Per default, this option is set to 1, including the support code. 1182Per default, this option is set to 1, including the support code.
1183Useful for install media kernels. 1183Useful for install media kernels.
1184.It Cd options MODULAR 1184.It Cd options MODULAR
1185Enables the new framework for kernel modules, which will eventually 1185Enables the new framework for kernel modules, which will eventually
1186replace LKMs. 1186replace LKMs.
1187This adds an in-kernel linker and loader, and requires userland support 1187This adds an in-kernel linker and loader, and requires userland support
1188to be useful. 1188to be useful.
1189See the 1189See the
1190.Sy MKMODULAR 1190.Sy MKMODULAR
1191variable in 1191variable in
1192.Xr mk.conf 5 1192.Xr mk.conf 5
1193for more details. 1193for more details.
1194.It Cd options VND_COMPRESSION 1194.It Cd options VND_COMPRESSION
1195Enables the 1195Enables the
1196.Xr vnd 4 1196.Xr vnd 4
1197driver to also handle compressed images. 1197driver to also handle compressed images.
1198See 1198See
1199.Xr vndcompress 1 , 1199.Xr vndcompress 1 ,
1200.Xr vnd 4 1200.Xr vnd 4
1201and 1201and
1202.Xr vnconfig 8 1202.Xr vnconfig 8
1203for more information. 1203for more information.
1204.It Cd options TFTPROOT 1204.It Cd options TFTPROOT
1205Download the root memory disk through TFTP at root mount time. 1205Download the root memory disk through TFTP at root mount time.
1206This enables the use of a root 1206This enables the use of a root
1207.Tn RAM 1207.Tn RAM
1208disk without requiring it to be embedded in the kernel using 1208disk without requiring it to be embedded in the kernel using
1209.Xr mdsetimage 8 . 1209.Xr mdsetimage 8 .
1210The 1210The
1211.Tn RAM 1211.Tn RAM
1212disk name is obtained using DHCP's filename parameter. 1212disk name is obtained using DHCP's filename parameter.
1213This option requires 1213This option requires
1214.Em MEMORY_DISK_HOOKS , 1214.Em MEMORY_DISK_HOOKS ,
1215.Em MEMORY_DISK_DYNAMIC , 1215.Em MEMORY_DISK_DYNAMIC ,
1216and 1216and
1217.Em MEMORY_DISK_IS_ROOT . 1217.Em MEMORY_DISK_IS_ROOT .
1218It is incompatible with 1218It is incompatible with
1219.Em MEMORY_DISK_ROOT_SIZE . 1219.Em MEMORY_DISK_ROOT_SIZE .
1220.It Cd options MALLOC_NOINLINE 1220.It Cd options MALLOC_NOINLINE
1221Time critical fixed size memory allocation is performed with 1221Time critical fixed size memory allocation is performed with
1222.Fn MALLOC 1222.Fn MALLOC
1223and 1223and
1224.Fn FREE . 1224.Fn FREE .
1225Normally these expand to inline code, but with 1225Normally these expand to inline code, but with
1226.Em MALLOC_NOINLINE 1226.Em MALLOC_NOINLINE
1227these call the normal 1227these call the normal
1228.Fn malloc 1228.Fn malloc
1229and 1229and
1230.Fn free 1230.Fn free
1231functions. 1231functions.
1232Useful for install media kernels, small memory systems and embedded systems. 1232Useful for install media kernels, small memory systems and embedded systems.
1233.It Cd options HZ=integer 1233.It Cd options HZ=integer
1234On ports that support it, set the system clock frequency (see 1234On ports that support it, set the system clock frequency (see
1235.Xr hz 9 ) 1235.Xr hz 9 )
1236to the supplied value. 1236to the supplied value.
1237Handle with care. 1237Handle with care.
1238.It Cd options NTP 1238.It Cd options NTP
1239Turns on in-kernel precision timekeeping support used by software 1239Turns on in-kernel precision timekeeping support used by software
1240implementing 1240implementing
1241.Em NTP 1241.Em NTP
1242(Network Time Protocol, RFC 1305). 1242(Network Time Protocol, RFC 1305).
1243The 1243The
1244.Em NTP 1244.Em NTP
1245option adds an in-kernel Phase-Locked Loop (PLL) for normal 1245option adds an in-kernel Phase-Locked Loop (PLL) for normal
1246.Em NTP 1246.Em NTP
1247operation, and a Frequency-Locked Loop (FLL) for intermittently-connected 1247operation, and a Frequency-Locked Loop (FLL) for intermittently-connected
1248operation. 1248operation.
1249.Xr ntpd 8 1249.Xr ntpd 8
1250will employ a user-level PLL when kernel support is unavailable, 1250will employ a user-level PLL when kernel support is unavailable,
1251but the in-kernel version has lower latency and more precision, and 1251but the in-kernel version has lower latency and more precision, and
1252so typically keeps much better time. 1252so typically keeps much better time.
1253The interface to the kernel 1253The interface to the kernel
1254.Em NTP 1254.Em NTP
1255support is provided by the 1255support is provided by the
1256.Xr ntp_adjtime 2 1256.Xr ntp_adjtime 2
1257and 1257and
1258.Xr ntp_gettime 2 1258.Xr ntp_gettime 2
1259system calls, which are intended for use by 1259system calls, which are intended for use by
1260.Xr ntpd 8 1260.Xr ntpd 8
1261and are enabled by the option. 1261and are enabled by the option.
1262On systems with sub-microsecond resolution timers, or where (HZ / 100000) 1262On systems with sub-microsecond resolution timers, or where (HZ / 100000)
1263is not an integer, the 1263is not an integer, the
1264.Em NTP 1264.Em NTP
1265option also enables extended-precision arithmetic to keep track of 1265option also enables extended-precision arithmetic to keep track of
1266fractional clock ticks at NTP time-format precision. 1266fractional clock ticks at NTP time-format precision.
1267.It Cd options PPS_SYNC 1267.It Cd options PPS_SYNC
1268This option enables a kernel serial line discipline for receiving time 1268This option enables a kernel serial line discipline for receiving time
1269phase signals from an external reference clock such as a radio clock. 1269phase signals from an external reference clock such as a radio clock.
1270(The 1270(The
1271.Em NTP 1271.Em NTP
1272option (which see) must be on if the 1272option (which see) must be on if the
1273.Em PPS_SYNC 1273.Em PPS_SYNC
1274option is used.) 1274option is used.)
1275Some reference clocks generate a Pulse Per Second (PPS) signal in 1275Some reference clocks generate a Pulse Per Second (PPS) signal in
1276phase with their time source. 1276phase with their time source.
1277The 1277The
1278.Em PPS 1278.Em PPS
1279line discipline receives this signal on either the data leads 1279line discipline receives this signal on either the data leads
1280or the DCD control lead of a serial port. 1280or the DCD control lead of a serial port.
1281.Em NTP 1281.Em NTP
1282uses the PPS signal to discipline the local clock oscillator to a high 1282uses the PPS signal to discipline the local clock oscillator to a high
1283degree of precision (typically less than 50 microseconds in time and 1283degree of precision (typically less than 50 microseconds in time and
12840.1 ppm in accuracy). 12840.1 ppm in accuracy).
1285.Em PPS 1285.Em PPS
1286can also generate a serial output pulse when the system receives a PPS 1286can also generate a serial output pulse when the system receives a PPS
1287interrupt. 1287interrupt.
1288This can be used to measure the system interrupt latency and thus calibrate 1288This can be used to measure the system interrupt latency and thus calibrate
1289.Em NTP 1289.Em NTP
1290to account for it. 1290to account for it.
1291Using 1291Using
1292.Em PPS 1292.Em PPS
1293usually requires a 1293usually requires a
1294gadget box 1294gadget box
1295to convert from TTL to RS-232 signal levels. 1295to convert from TTL to RS-232 signal levels.
1296The gadget box and PPS are described in more detail in the HTML documentation 1296The gadget box and PPS are described in more detail in the HTML documentation
1297for 1297for
1298.Xr ntpd 8 1298.Xr ntpd 8
1299in 1299in
1300.Pa /usr/share/doc/html/ntp . 1300.Pa /usr/share/doc/html/ntp .
1301.It Cd options SETUIDSCRIPTS 1301.It Cd options SETUIDSCRIPTS
1302Allows scripts with the setuid bit set to execute as the effective 1302Allows scripts with the setuid bit set to execute as the effective
1303user rather than the real user, just like binary executables. 1303user rather than the real user, just like binary executables.
1304.Pp 1304.Pp
1305.Em NOTE : 1305.Em NOTE :
1306Using this option will also enable 1306Using this option will also enable
1307.Em options FDSCRIPTS 1307.Em options FDSCRIPTS
1308.It Cd options FDSCRIPTS 1308.It Cd options FDSCRIPTS
1309Allows execution of scripts with the execute bit set, but not the 1309Allows execution of scripts with the execute bit set, but not the
1310read bit, by opening the file and passing the file descriptor to 1310read bit, by opening the file and passing the file descriptor to
1311the shell, rather than the filename. 1311the shell, rather than the filename.
1312.Pp 1312.Pp
1313.Em NOTE : 1313.Em NOTE :
1314Execute only (non-readable) scripts will have 1314Execute only (non-readable) scripts will have
1315.Va argv[0] 1315.Va argv[0]
1316set to 1316set to
1317.Pa /dev/fd/* . 1317.Pa /dev/fd/* .
1318What this option allows as far as security is 1318What this option allows as far as security is
1319concerned, is the ability to safely ensure that the correct script 1319concerned, is the ability to safely ensure that the correct script
1320is run by the interpreter, as it is passed as an already open file. 1320is run by the interpreter, as it is passed as an already open file.
1321.It Cd options PUCCN 1321.It Cd options PUCCN
1322Enables treating serial ports found on PCI boards 1322Enables treating serial ports found on PCI boards
1323.Xr puc 4 1323.Xr puc 4
1324as potential console devices. 1324as potential console devices.
1325The method for choosing such a console device is port dependent. 1325The method for choosing such a console device is port dependent.
1326.It Cd options RTC_OFFSET=integer 1326.It Cd options RTC_OFFSET=integer
1327The kernel (and typically the hardware battery backed-up clock on 1327The kernel (and typically the hardware battery backed-up clock on
1328those machines that have one) keeps time in 1328those machines that have one) keeps time in
1329.Em UTC 1329.Em UTC
1330(Universal Coordinated Time, once known as 1330(Universal Coordinated Time, once known as
1331.Em GMT , 1331.Em GMT ,
1332or Greenwich Mean Time) 1332or Greenwich Mean Time)
1333and not in the time of the local time zone. 1333and not in the time of the local time zone.
1334The 1334The
1335.Em RTC_OFFSET 1335.Em RTC_OFFSET
1336option is used on some ports (such as the i386) to tell the kernel 1336option is used on some ports (such as the i386) to tell the kernel
1337that the hardware clock is offset from 1337that the hardware clock is offset from
1338.Em UTC 1338.Em UTC
1339by the specified number of minutes. 1339by the specified number of minutes.
1340This is typically used when a machine boots several operating 1340This is typically used when a machine boots several operating
1341systems and one of them wants the hardware clock to run in the 1341systems and one of them wants the hardware clock to run in the
1342local time zone and not in 1342local time zone and not in
1343.Em UTC , 1343.Em UTC ,
1344e.g. 1344e.g.
1345.Em RTC_OFFSET=300 1345.Em RTC_OFFSET=300
1346means 1346means
1347the hardware clock is set to US Eastern Time (300 minutes behind 1347the hardware clock is set to US Eastern Time (300 minutes behind
1348.Em UTC ) , 1348.Em UTC ) ,
1349and not 1349and not
1350.Em UTC . 1350.Em UTC .
1351(Note: 1351(Note:
1352.Em RTC_OFFSET 1352.Em RTC_OFFSET
1353is used to initialize a kernel variable named 1353is used to initialize a kernel variable named
1354.Va rtc_offset 1354.Va rtc_offset
1355which is the source actually used to determine the clock offset, and 1355which is the source actually used to determine the clock offset, and
1356which may be accessed via the kern.rtc_offset sysctl variable. 1356which may be accessed via the kern.rtc_offset sysctl variable.
1357See 1357See
1358.Xr sysctl 8 1358.Xr sysctl 8
1359and 1359and
1360.Xr sysctl 3 1360.Xr sysctl 3
1361for details. 1361for details.
1362Since the kernel clock is initialized from the hardware clock very 1362Since the kernel clock is initialized from the hardware clock very
1363early in the boot process, it is not possible to meaningfully change 1363early in the boot process, it is not possible to meaningfully change
1364.Va rtc_offset 1364.Va rtc_offset
1365in system initialization scripts. 1365in system initialization scripts.
1366Changing this value currently may only be done at kernel compile 1366Changing this value currently may only be done at kernel compile
1367time or by patching the kernel and rebooting). 1367time or by patching the kernel and rebooting).
1368.Pp 1368.Pp
1369.Em NOTE : 1369.Em NOTE :
1370Unfortunately, in many cases where the hardware clock 1370Unfortunately, in many cases where the hardware clock
1371is kept in local time, it is adjusted for Daylight Savings 1371is kept in local time, it is adjusted for Daylight Savings
1372Time; this means that attempting to use 1372Time; this means that attempting to use
1373.Em RTC_OFFSET 1373.Em RTC_OFFSET
1374to let 1374to let
1375.Nx 1375.Nx
1376coexist with such an operating system, like Windows, 1376coexist with such an operating system, like Windows,
1377would necessitate changing 1377would necessitate changing
1378.Em RTC_OFFSET 1378.Em RTC_OFFSET
1379twice a year. 1379twice a year.
1380As such, this solution is imperfect. 1380As such, this solution is imperfect.
1381.It Cd options KMEMSTATS 1381.It Cd options KMEMSTATS
1382The kernel memory allocator, 1382The kernel memory allocator,
1383.Xr malloc 9 , 1383.Xr malloc 9 ,
1384will keep statistics on its performance if this option is enabled. 1384will keep statistics on its performance if this option is enabled.
1385Unfortunately, this option therefore essentially disables the 1385Unfortunately, this option therefore essentially disables the
1386.Fn MALLOC 1386.Fn MALLOC
1387and 1387and
1388.Fn FREE 1388.Fn FREE
1389forms of the memory allocator, which are used to enhance the performance 1389forms of the memory allocator, which are used to enhance the performance
1390of certain critical sections of code in the kernel. 1390of certain critical sections of code in the kernel.
1391This option therefore can lead to a significant decrease in the 1391This option therefore can lead to a significant decrease in the
1392performance of certain code in the kernel if enabled. 1392performance of certain code in the kernel if enabled.
1393Examples of such code include the 1393Examples of such code include the
1394.Fn namei 1394.Fn namei
1395routine, the 1395routine, the
1396.Xr ccd 4 1396.Xr ccd 4
1397driver, 1397driver,
1398and much of the networking code. 1398and much of the networking code.
1399.It Cd options MAXUPRC=integer 1399.It Cd options MAXUPRC=integer
1400Sets the soft 1400Sets the soft
1401.Dv RLIMIT_NPROC 1401.Dv RLIMIT_NPROC
1402resource limit, which specifies the maximum number of simultaneous 1402resource limit, which specifies the maximum number of simultaneous
1403processes a user is permitted to run, for process 0; 1403processes a user is permitted to run, for process 0;
1404this value is inherited by its child processes. 1404this value is inherited by its child processes.
1405It defaults to 1405It defaults to
1406.Em CHILD_MAX , 1406.Em CHILD_MAX ,
1407which is currently defined to be 160. 1407which is currently defined to be 160.
1408Setting 1408Setting
1409.Em MAXUPRC 1409.Em MAXUPRC
1410to a value less than 1410to a value less than
1411.Em CHILD_MAX 1411.Em CHILD_MAX
1412is not permitted, as this would result in a violation of the semantics of 1412is not permitted, as this would result in a violation of the semantics of
1413.St -p1003.1-90 . 1413.St -p1003.1-90 .
1414.It Cd options NOFILE=integer 1414.It Cd options NOFILE=integer
1415Sets the soft 1415Sets the soft
1416.Dv RLIMIT_NOFILE 1416.Dv RLIMIT_NOFILE
1417resource limit, which specifies the maximum number of open 1417resource limit, which specifies the maximum number of open
1418file descriptors for each process; 1418file descriptors for each process;
1419this value is inherited by its child processes. 1419this value is inherited by its child processes.
1420It defaults to 1420It defaults to
1421.Em OPEN_MAX , 1421.Em OPEN_MAX ,
1422which is currently defined to be 64. 1422which is currently defined to be 64.
1423.It Cd options MAXFILES=integer 1423.It Cd options MAXFILES=integer
1424Sets the default value of the 1424Sets the default value of the
1425.Em kern.maxfiles 1425.Em kern.maxfiles
1426sysctl variable, which indicates the maximum number of files that may 1426sysctl variable, which indicates the maximum number of files that may
1427be open in the system. 1427be open in the system.
1428.It Cd options DEFCORENAME=string 1428.It Cd options DEFCORENAME=string
1429Sets the default value of the 1429Sets the default value of the
1430.Em kern.defcorename 1430.Em kern.defcorename
1431sysctl variable, otherwise it is set to 1431sysctl variable, otherwise it is set to
1432.Nm %n.core . 1432.Nm %n.core .
1433See 1433See
1434.Xr sysctl 8 1434.Xr sysctl 8
1435and 1435and
1436.Xr sysctl 3 1436.Xr sysctl 3
1437for details. 1437for details.
1438.It Cd options RASOPS_CLIPPING 1438.It Cd options RASOPS_CLIPPING
1439Enables clipping within the 1439Enables clipping within the
1440.Nm rasops 1440.Nm rasops
1441raster-console output system. 1441raster-console output system.
1442.Em NOTE : 1442.Em NOTE :
1443only available on architectures that use 1443only available on architectures that use
1444.Nm rasops 1444.Nm rasops
1445for console output. 1445for console output.
1446.It Cd options RASOPS_SMALL 1446.It Cd options RASOPS_SMALL
1447Removes optimized character writing code from the 1447Removes optimized character writing code from the
1448.Nm rasops 1448.Nm rasops
1449raster-console output system. 1449raster-console output system.
1450.Em NOTE : 1450.Em NOTE :
1451only available on architectures that use 1451only available on architectures that use
1452.Nm rasops 1452.Nm rasops
1453for console output. 1453for console output.
1454.It Cd options INCLUDE_CONFIG_FILE 1454.It Cd options INCLUDE_CONFIG_FILE
1455Embeds the kernel config file used to define the kernel in the kernel 1455Embeds the kernel config file used to define the kernel in the kernel
1456binary itself. 1456binary itself.
1457The embedded data also includes any files directly included by the config 1457The embedded data also includes any files directly included by the config
1458file itself, e.g. 1458file itself, e.g.
1459.Pa GENERIC.local 1459.Pa GENERIC.local
1460or 1460or
1461.Pa std.$MACHINE . 1461.Pa std.$MACHINE .
1462The embedded config file can be extracted from the resulting kernel with 1462The embedded config file can be extracted from the resulting kernel with
1463.Xr config 1 1463.Xr config 1
1464.Fl x , 1464.Fl x ,
1465or by the following command: 1465or by the following command:
1466.Bd -literal -offset indent 1466.Bd -literal -offset indent
1467strings netbsd | sed -n 's/^_CFG_//p' | unvis 1467strings netbsd | sed -n 's/^_CFG_//p' | unvis
1468.Ed 1468.Ed
1469.It Cd options INCLUDE_JUST_CONFIG 1469.It Cd options INCLUDE_JUST_CONFIG
1470Similar to the above option, but includes just the actual config file, 1470Similar to the above option, but includes just the actual config file,
1471not any included files. 1471not any included files.
1472.It Cd options PIPE_SOCKETPAIR 1472.It Cd options PIPE_SOCKETPAIR
1473Use slower, but smaller socketpair(2)-based pipe implementation instead 1473Use slower, but smaller socketpair(2)-based pipe implementation instead
1474of default faster, but bigger one. 1474of default faster, but bigger one.
1475Primarily useful for installation kernels. 1475Primarily useful for installation kernels.
1476.It Cd options USERCONF 1476.It Cd options USERCONF
1477Compiles in the in-kernel device configuration manager. 1477Compiles in the in-kernel device configuration manager.
1478See 1478See
1479.Xr userconf 4 1479.Xr userconf 4
1480for details. 1480for details.
1481.It Cd options PERFCTRS 1481.It Cd options PERFCTRS
1482Compiles in kernel support for CPU performance-monitoring counters. 1482Compiles in kernel support for CPU performance-monitoring counters.
1483See 1483See
1484.Xr pmc 1 1484.Xr pmc 1
1485for details. 1485for details.
1486.Em NOTE : 1486.Em NOTE :
1487not available on all architectures. 1487not available on all architectures.
1488.It Cd options SYSCALL_STATS 1488.It Cd options SYSCALL_STATS
1489Count the number of times each system call number is called. 1489Count the number of times each system call number is called.
1490The values can be read through the sysctl interface and displayed using 1490The values can be read through the sysctl interface and displayed using
1491.Xr systat 1 . 1491.Xr systat 1 .
1492.Em NOTE : 1492.Em NOTE :
1493not yet available on all architectures. 1493not yet available on all architectures.
1494.It Cd options SYSCALL_TIMES 1494.It Cd options SYSCALL_TIMES
1495Count the time spent (using 1495Count the time spent (using
1496.Fn cpu_counter32 ) 1496.Fn cpu_counter32 )
1497in each system call. 1497in each system call.
1498.Em NOTE : 1498.Em NOTE :
1499Using this option will also enable 1499Using this option will also enable
1500.Cd options SYSCALL_STATS . 1500.Cd options SYSCALL_STATS .
1501.It Cd options SYSCALL_TIMES_HASCOUNTER 1501.It Cd options SYSCALL_TIMES_HASCOUNTER
1502Force use of 1502Force use of
1503.Fn cpu_counter32 1503.Fn cpu_counter32
1504even if 1504even if
1505.Fn cpu_hascounter 1505.Fn cpu_hascounter
1506reports false. 1506reports false.
1507Useful for systems where the cycle counter doesn't run at a constant rate 1507Useful for systems where the cycle counter doesn't run at a constant rate
1508(e.g. Soekris boxes). 1508(e.g. Soekris boxes).
1509.It Cd options XSERVER 1509.It Cd options XSERVER
1510Compiles in kernel support for 1510Compiles in kernel support for
1511.Tn X11 1511.Tn X11
1512on architectures that still use (or can use) the legacy 1512on architectures that still use (or can use) the legacy
1513.Em pccons 1513.Em pccons
1514console drivers rather than 1514console drivers rather than
1515.Xr wscons 4 . 1515.Xr wscons 4 .
1516These include bebox, i386, shark. 1516These include bebox, i386, shark.
1517.It Cd options XSERVER_DDB 1517.It Cd options XSERVER_DDB
1518A supplement to XSERVER that adds support for entering 1518A supplement to XSERVER that adds support for entering
1519.Xr ddb 4 1519.Xr ddb 4
1520while in 1520while in
1521.Tn X11 . 1521.Tn X11 .
1522.It Cd options FILEASSOC 1522.It Cd options FILEASSOC
1523Support for 1523Support for
1524.Xr fileassoc 9 . 1524.Xr fileassoc 9 .
1525.It Cd options FILEASSOC_NHOOKS=integer 1525.It Cd options FILEASSOC_NHOOKS=integer
1526Number of storage slots per file for 1526Number of storage slots per file for
1527.Xr fileassoc 9 . 1527.Xr fileassoc 9 .
1528Default is 4. 1528Default is 4.
1529.It Cd options I2C_SCAN 1529.It Cd options I2C_SCAN
1530Scan each i2c bus to determine which addresses respond. 1530Scan each i2c bus to determine which addresses respond.
1531.Pp 1531.Pp
1532.Em WARNING ! 1532.Em WARNING !
1533Using this option can access some devices in such a 1533Using this option can access some devices in such a
1534manner as to leave them in an unstable or unuseable state, and 1534manner as to leave them in an unstable or unuseable state, and
1535can prevent those devices from being properly matched and/or 1535can prevent those devices from being properly matched and/or
1536attached. 1536attached.
1537It can also lock up the entire i2c bus and even 1537It can also lock up the entire i2c bus and even
1538prevent a machine from completing the boot process. 1538prevent a machine from completing the boot process.
1539Don't use this option unless you know what you're doing and can 1539Don't use this option unless you know what you're doing and can
1540accept all sorts of unforseen consequences. 1540accept all sorts of unforseen consequences.
1541.El 1541.El
1542.Ss Networking Options 1542.Ss Networking Options
1543.Bl -ohang 1543.Bl -ohang
1544.It Cd options GATEWAY 1544.It Cd options GATEWAY
1545Enables 1545Enables
1546.Em IPFORWARDING 1546.Em IPFORWARDING
1547(which see) 1547(which see)
1548and (on most ports) increases the size of 1548and (on most ports) increases the size of
1549.Em NMBCLUSTERS 1549.Em NMBCLUSTERS
1550(which see). 1550(which see).
1551In general, 1551In general,
1552.Em GATEWAY 1552.Em GATEWAY
1553is used to indicate that a system should act as a router, and 1553is used to indicate that a system should act as a router, and
1554.Em IPFORWARDING 1554.Em IPFORWARDING
1555is not invoked directly. 1555is not invoked directly.
1556(Note that 1556(Note that
1557.Em GATEWAY 1557.Em GATEWAY
1558has no impact on protocols other than 1558has no impact on protocols other than
1559.Tn IP , 1559.Tn IP ,
1560such as 1560such as
1561.Tn CLNP 1561.Tn CLNP
1562or 1562or
1563.Tn XNS ) . 1563.Tn XNS ) .
1564.Em GATEWAY 1564.Em GATEWAY
1565option also compiles IPv4 and IPv6 fast forwarding code into the kernel. 1565option also compiles IPv4 and IPv6 fast forwarding code into the kernel.
1566.It Cd options ICMPPRINTFS 1566.It Cd options ICMPPRINTFS
1567The 1567The
1568.Em ICMPPRINTFS 1568.Em ICMPPRINTFS
1569option will enable debugging information to be printed about 1569option will enable debugging information to be printed about
1570the 1570the
1571.Xr icmp 4 1571.Xr icmp 4
1572protocol. 1572protocol.
1573.It Cd options IPFORWARDING=value 1573.It Cd options IPFORWARDING=value
1574If 1574If
1575.Em value 1575.Em value
1576is 1 this enables IP routing behavior. 1576is 1 this enables IP routing behavior.
1577If 1577If
1578.Em value 1578.Em value
1579is 0 (the default), it disables it. 1579is 0 (the default), it disables it.
1580The 1580The
1581.Em GATEWAY 1581.Em GATEWAY
1582option sets this to 1 automatically. 1582option sets this to 1 automatically.
1583With this option enabled, the machine will forward IP datagrams destined 1583With this option enabled, the machine will forward IP datagrams destined
1584for other machines between its interfaces. 1584for other machines between its interfaces.
1585Note that even without this option, the kernel will 1585Note that even without this option, the kernel will
1586still forward some packets (such as source routed packets) -- removing 1586still forward some packets (such as source routed packets) -- removing
1587.Em GATEWAY 1587.Em GATEWAY
1588and 1588and
1589.Em IPFORWARDING 1589.Em IPFORWARDING
1590is insufficient to stop all routing through a bastion host on a 1590is insufficient to stop all routing through a bastion host on a
1591firewall -- source routing is controlled independently. 1591firewall -- source routing is controlled independently.
1592To turn off source routing, use 1592To turn off source routing, use
1593.Em options IPFORWSRCRT=0 1593.Em options IPFORWSRCRT=0
1594(which see). 1594(which see).
1595Note that IP forwarding may be turned on and off independently of the 1595Note that IP forwarding may be turned on and off independently of the
1596setting of the 1596setting of the
1597.Em IPFORWARDING 1597.Em IPFORWARDING
1598option through the use of the 1598option through the use of the
1599.Em net.inet.ip.forwarding 1599.Em net.inet.ip.forwarding
1600sysctl variable. 1600sysctl variable.
1601If 1601If
1602.Em net.inet.ip.forwarding 1602.Em net.inet.ip.forwarding
1603is 1, IP forwarding is on. 1603is 1, IP forwarding is on.
1604See 1604See
1605.Xr sysctl 8 1605.Xr sysctl 8
1606and 1606and
1607.Xr sysctl 3 1607.Xr sysctl 3
1608for details. 1608for details.
1609.It Cd options IPFORWSRCRT=value 1609.It Cd options IPFORWSRCRT=value
1610If 1610If
1611.Em value 1611.Em value
1612is set to zero, source routing of IP datagrams is turned off. 1612is set to zero, source routing of IP datagrams is turned off.
1613If 1613If
1614.Em value 1614.Em value
1615is set to one (the default) or the option is absent, source routed IP 1615is set to one (the default) or the option is absent, source routed IP
1616datagrams are forwarded by the machine. 1616datagrams are forwarded by the machine.
1617Note that source routing of IP packets may be turned on and off 1617Note that source routing of IP packets may be turned on and off
1618independently of the setting of the 1618independently of the setting of the
1619.Em IPFORWSRCRT 1619.Em IPFORWSRCRT
1620option through the use of the 1620option through the use of the
1621.Em net.inet.ip.forwsrcrt 1621.Em net.inet.ip.forwsrcrt
1622sysctl variable. 1622sysctl variable.
1623If 1623If
1624.Em net.inet.ip.forwsrcrt 1624.Em net.inet.ip.forwsrcrt
1625is 1, forwarding of source routed IP datagrams is on. 1625is 1, forwarding of source routed IP datagrams is on.
1626See 1626See
1627.Xr sysctl 8 1627.Xr sysctl 8
1628and 1628and
1629.Xr sysctl 3 1629.Xr sysctl 3
1630for details. 1630for details.
1631.It Cd options IFA_STATS 1631.It Cd options IFA_STATS
1632Tells the kernel to maintain per-address statistics on bytes sent 1632Tells the kernel to maintain per-address statistics on bytes sent
1633and received over (currently) Internet and AppleTalk addresses. 1633and received over (currently) Internet and AppleTalk addresses.
1634.\"This can be a fairly expensive operation, so you probably want to 1634.\"This can be a fairly expensive operation, so you probably want to
1635.\"keep this disabled. 1635.\"keep this disabled.
1636The option is not recommended as it degrades system stability. 1636The option is not recommended as it degrades system stability.
1637.It Cd options IFQ_MAXLEN=value 1637.It Cd options IFQ_MAXLEN=value
1638Increases the allowed size of the network interface packet queues. 1638Increases the allowed size of the network interface packet queues.
1639The default queue size is 50 packets, and you do not normally need 1639The default queue size is 50 packets, and you do not normally need
1640to increase it. 1640to increase it.
1641.It Cd options IPSELSRC 1641.It Cd options IPSELSRC
1642Includes support for source-address selection policies. 1642Includes support for source-address selection policies.
1643See 1643See
1644.Xr in_getifa 9 . 1644.Xr in_getifa 9 .
1645.It Cd options MROUTING 1645.It Cd options MROUTING
1646Includes support for IP multicast routers. 1646Includes support for IP multicast routers.
1647You certainly want 1647You certainly want
1648.Em INET 1648.Em INET
1649with this. 1649with this.
1650Multicast routing is controlled by the 1650Multicast routing is controlled by the
1651.Xr mrouted 8 1651.Xr mrouted 8
1652daemon. 1652daemon.
1653See also option 1653See also option
1654.Cd PIM . 1654.Cd PIM .
1655.It Cd options PIM 1655.It Cd options PIM
1656Includes support for Protocol Independent Multicast (PIM) routing. 1656Includes support for Protocol Independent Multicast (PIM) routing.
1657You need 1657You need
1658.Em MROUTING 1658.Em MROUTING
1659and 1659and
1660.Em INET 1660.Em INET
1661with this. 1661with this.
1662Software using this can be found e.g. in 1662Software using this can be found e.g. in
1663.Pa pkgsrc/net/xorp . 1663.Pa pkgsrc/net/xorp .
1664.It Cd options INET 1664.It Cd options INET
1665Includes support for the 1665Includes support for the
1666.Tn TCP/IP 1666.Tn TCP/IP
1667protocol stack. 1667protocol stack.
1668You almost certainly want this. 1668You almost certainly want this.
1669See 1669See
1670.Xr inet 4 1670.Xr inet 4
1671for details. 1671for details.
1672.It Cd options INET6 1672.It Cd options INET6
1673Includes support for the 1673Includes support for the
1674.Tn IPv6 1674.Tn IPv6
1675protocol stack. 1675protocol stack.
1676See 1676See
1677.Xr inet6 4 1677.Xr inet6 4
1678for details. 1678for details.
1679Unlike 1679Unlike
1680.Em INET , 1680.Em INET ,
1681.Em INET6 1681.Em INET6
1682enables multicast routing code as well. 1682enables multicast routing code as well.
1683This option requires 1683This option requires
1684.Em INET 1684.Em INET
1685at this moment, but it should not. 1685at this moment, but it should not.
1686.It Cd options ND6_DEBUG 1686.It Cd options ND6_DEBUG