xref: /netbsd-src/share/man/man4/options.4 (revision d20841bb642898112fe68f0ad3f7b26dddf56f07)
1.\"	$NetBSD: options.4,v 1.228 2004/02/13 09:58:09 wiz Exp $
2.\"
3.\" Copyright (c) 1996
4.\" 	Perry E. Metzger.  All rights reserved.
5.\"
6.\" Redistribution and use in source and binary forms, with or without
7.\" modification, are permitted provided that the following conditions
8.\" are met:
9.\" 1. Redistributions of source code must retain the above copyright
10.\"    notice, this list of conditions and the following disclaimer.
11.\" 2. Redistributions in binary form must reproduce the above copyright
12.\"    notice, this list of conditions and the following disclaimer in the
13.\"    documentation and/or other materials provided with the distribution.
14.\" 3. All advertising materials mentioning features or use of this software
15.\"    must display the following acknowledgment:
16.\"	This product includes software developed for the NetBSD Project
17.\"	by Perry E. Metzger.
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.
20.\"
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
23.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
24.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
25.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
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
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
30.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31.\"
32.\"
33.Dd January 12, 2004
34.Os
35.Dt OPTIONS 4
36.Sh NAME
37.Nm options
38.Nd Miscellaneous kernel configuration options
39.Sh SYNOPSIS
40.Cd cinclude ...
41.Cd config ...
42.Cd [no] file-system ...
43.Cd ident ...
44.Cd include ...
45.Cd [no] makeoptions ...
46.Cd maxusers ...
47.Cd [no] options ...
48.Cd [no] pseudo-device ...
49.Sh DESCRIPTION
50This manual page describes a number of miscellaneous kernel
51configuration options that may be specified in a kernel config
52file.
53See
54.Xr config 8
55for information on how to configure and build kernels.
56.Pp
57The
58.Ar no
59form removes a previously specified option.
60.Ss Keywords
61The following keywords are recognized in a kernel configuration file:
62.Bl -ohang
63.It Sy cinclude Xo
64.Qq Ar filename
65.Xc
66Conditionally includes another kernel configuration file whose name is
67.Ar filename ,
68which may be double-quoted and may be an explicit path or relative to
69the kernel source directory.
70Failure to open the named file is ignored.
71.It Sy config Xo
72.Ar exec_name
73.No root on
74.Ar rootdev
75.Op type Ar fstype
76.Op dumps on Ar dumpdev
77.Xc
78Defines a configuration whose kernel executable is named
79.Ar exec_name ,
80normally
81.Dq netbsd ,
82with its root file system of type
83.Ar fstype
84on the device
85.Ar rootdev ,
86and optionally specifying the location of kernel core dumps on the device
87.Ar dumpdev .
88.Ar dev
89or
90.Ar dumpdev
91and
92.Ar fstype
93may be specified as
94.Dq \&? ,
95which is a wild card.
96The root
97.Ar fstype
98and
99.Ar dumpdev
100are optional and assumed to be wild carded if they are not specified.
101.It Ar device_instance Xo
102at
103.Ar attachment
104.Op Ar locators value Op ...
105.Op flags Ar value
106.Xc
107Define an instance of the device driver
108.Ar device_instance
109that attaches to the bus or device named
110.Ar attachment .
111An
112.Ar attachment
113may require additional information on where the device can be found, such
114as an address, channel, function, offset, and/or slot, referred to as
115.Ar locators ,
116whose
117.Ar value
118often may be a wild card,
119.Dq \&? .
120Some device drivers have one or more
121.Ar flags
122that can be adjusted to affect the way they operate.
123.It Sy file-system Xo
124.Ar fs_name Op , Ar fs_name Op ...
125.Xc
126Include support for the file-system
127.Ar fs_name .
128.It Sy ident Xo
129.Qq Ar string
130.Xc
131Sets the kernel identification string to
132.Ar string .
133.It Sy include Xo
134.Qq Ar filename
135.Xc
136Functions the same as
137.Ar cinclude ,
138except failure to open
139.Ar filename
140produces a fatal error.
141.It Sy options Xo
142.Ar option_name Op , Ar option_name=value Op ...
143.Xc
144Specifies (or sets) the option, or comma-separated list of options,
145.Ar option_name .
146Some options expect to be assigned a value, which may be an integer,
147a double-quoted word, a bare word, or an empty string
148.Pq Qq .
149.Pp
150.Em Note :
151Options that are not defined by device definition files are passed to
152the compile process as
153.Fl D
154flags to the C compiler.
155.It Sy makeoptions Xo
156.Ar name=value
157.Xc
158Defines a
159.Xr make 1
160macro
161.Ar name
162with the value
163.Ar value
164in the kernel Makefile.
165.It Sy maxusers Xo
166.Ar integer
167.Xc
168Set the maxusers variable in the kernel.
169.It Sy no Xo
170.Ar keyword Ar name Op Ar arguments Op ...
171.Xc
172For the
173.Xr config 8
174.Ar keywords
175file-system, makeoptions, options, and pseudo-device,
176.Ar no
177removes the file-system, makeoption, options, or pseudo-device,
178.Ar name .
179This is useful when a kernel configuration file includes another which
180has undesired options.
181.Pp
182For example, a local configuration file that wanted the kitchen sink, but
183not COMPAT_09 or bridging, might be:
184.Bd -literal -offset indent
185include "arch/i386/conf/GENERIC"
186no options COMPAT_09
187no pseudo-device bridge
188.Ed
189.It Sy pseudo-device Xo
190.Ar name
191.Op Ar N
192.Xc
193Includes support for the pseudo-device
194.Ar name .
195Some pseudo-devices can have multiple or
196.Ar N
197instances.
198.El
199.Ss Compatibility Options
200.Bl -ohang
201.It Cd options COMPAT_09
202Enable binary compatibility with
203.Nx 0.9 .
204This enables support for
20516-bit user, group, and process IDs (following revisions support
20632-bit identifiers),
207It also allows the use of the deprecated
208.Xr getdomainname 3 ,
209.Xr setdomainname 3 ,
210and
211.Xr uname 3
212syscalls.
213This option also allows using numeric file system identifiers rather
214than strings.
215Post
216.Nx 0.9
217versions use string identifiers.
218.It Cd options COMPAT_10
219Enable binary compatibility with
220.Nx 1.0 .
221This option allows the use of the file system name of
222.Dq ufs
223as an alias for
224.Dq ffs .
225The name
226.Dq ffs
227should be used post 1.0 in
228.Pa /etc/fstab
229and other files.
230It also adds old syscalls for the
231.At V
232shared memory interface.
233This was changed post 1.0 to work on 64-bit architectures.
234This option also enables
235.Dq sgtty
236compatibility, without which programs using the old interface produce
237an
238.Dq inappropriate ioctl
239error, and
240.Pa /dev/io
241only works when this option is set in the kernel,
242see
243.Xr io 4
244on ports that support it.
245.It Cd options COMPAT_11
246Enable binary compatibility with
247.Nx 1.1 .
248This allows binaries running on the i386 port to gain direct access to
249the io ports by opening
250.Pa /dev/io
251read/write.
252This functionality was replaced by
253.Xr i386_iopl 2
254post 1.1.
255On the
256.Tn Atari
257port, the location of the disk label was moved after 1.1.
258When the
259.Em COMPAT_11
260option is set, the kernel will read (pre) 1.1 style disk labels as a
261last resort.
262When a disklabel is re-written, the old style label will be replaced
263with a post 1.1 style label.
264This also enables the
265.Em EXEC_ELF_NOTELESS
266option.
267.It Cd options COMPAT_12
268Enable binary compatibility with
269.Nx 1.2 .
270This allows the use of old syscalls for
271.Fn reboot
272and
273.Fn swapon .
274The syscall numbers were changed post 1.2 to add functionality to the
275.Xr reboot 2
276syscall, and the new
277.Xr swapctl 2
278interface was introduced.
279This also enables the
280.Em EXEC_ELF_NOTELESS
281option.
282.It Cd options COMPAT_13
283Enable binary compatibility with
284.Nx 1.3 .
285This allows the use of old syscalls for
286.Fn sigaltstack ,
287and also enables the old
288.Xr swapctl 2
289command
290.Dv SWAP_STATS
291(now called
292.Dv SWAP_OSTATS ) ,
293which does not include the
294.Fa se_path
295member of
296.Va struct swapent .
297.It Cd options COMPAT_14
298Enable binary compatibility with
299.Nx 1.4 .
300This allows some old
301.Xr ioctl 2
302on
303.Xr wscons 4
304to be performed, and allows the
305.Dv NFSSVC_BIOD
306mode of the
307.Xr nfssvc 2
308system call to be used for compatibility with the deprecated nfsiod program.
309.It Cd options COMPAT_16
310Enable binary compatibility with
311.Nx 1.6 .
312This allows the use of old signal trampoline code which has been deprecated
313with the addition of
314.Xr siginfo 5 .
315.It Cd options COMPAT_43
316Enables compatibility with
317.Bx 4.3 .
318This adds an old syscall for
319.Xr lseek 2 .
320It also adds the ioctls for
321.Dv TIOCGETP
322and
323.Dv TIOCSETP .
324The return values for
325.Xr getpid 2 ,
326.Xr getgid 2 ,
327and
328.Xr getuid 2
329syscalls are modified as well, to return the parent's PID and
330UID as well as the current process's.
331It also enables the deprecated
332.Dv NTTYDISC
333terminal line discipline.
334It also provides backwards compatibility with
335.Dq old
336SIOC[GS]IF{ADDR,DSTADDR,BRDADDR,NETMASK} interface ioctls, including
337binary compatibility with code written before the introduction of the
338sa_len field in sockaddrs.
339It also enables
340support for some older pre
341.Bx 4.4
342socket calls.
343.It Cd options COMPAT_SVR4
344On those architectures that support it, this enables binary
345compatibility with
346.At V.4
347applications built for the same architecture.
348This currently includes the i386, m68k, and sparc ports.
349.It Cd options COMPAT_LINUX
350On those architectures that support it, this enables binary
351compatibility with Linux ELF and
352.Xr a.out 5
353applications built for the same architecture.
354This currently includes the alpha, arm, i386, m68k, mips, and powerpc
355ports.
356.It Cd options COMPAT_SUNOS
357On those architectures that support it, this enables binary
358compatibility with
359.Tn SunOS 4.1
360applications built for the same architecture.
361This currently includes the sparc, sparc64 and most or all m68k ports.
362Note that the sparc64 requires the
363.Em COMPAT_NETBSD32
364option for 64-bit kernels, in addition to this option.
365.It Cd options COMPAT_ULTRIX
366On those architectures that support it, this enables binary
367compatibility with
368.Tn ULTRIX
369applications built for the same architecture.
370This currently is limited to the pmax.
371The functionality of this option is unknown.
372.It Cd options COMPAT_DARWIN
373On those architectures that support it, this enables binary compatibility with
374.Tn Darwin
375applications built for the same architecture.
376This feature is highly experimental, it requires COMPAT_MACH and
377EXEC_MACHO and it is currently limited to i386 and powerpc ports of
378.Nx .
379.It Cd options COMPAT_FREEBSD
380On those architectures that support it, this enables binary
381compatibility with
382.Fx
383applications built for the same architecture.
384At the moment this is limited to the i386 port.
385.It Cd options COMPAT_HPUX
386On those architectures that support it, this enables binary
387compatibility with
388.Tn HP/UX
389applications built for the same architecture.
390This is limited to the hp300 port, and has some known bugs.
391A limited set of programs do work.
392.It Cd options COMPAT_IBCS2
393On those architectures that support it, this enables binary
394compatibility with iBCS2 or SVR3 applications built for the same architecture.
395This is currently limited to the i386 and vax ports.
396.It Cd options COMPAT_IRIX
397On those architectures that support it, this enables binary
398compatibility with IRIX o32 binaries built for the same architecture.
399This feature is experimental, and it is currently limited to
400the sgimips port of
401.Nx .
402.It Cd options COMPAT_MACH
403On those architectures that support it, this enables the emulation of
404Mach kernel traps for binaries built for the same architecture.
405This features is highly experimental and it is currently
406limited to i386 and powerpc ports of
407.Nx .
408.It Cd options COMPAT_OSF1
409On those architectures that support it, this enables binary
410compatibility with
411.Tn Digital
412.Ux
413.Po
414formerly
415.Tn OSF/1
416.Pc
417applications built for the same architecture.
418This is currently limited to the alpha port.
419.It Cd options COMPAT_NOMID
420Enable compatibility with
421.Xr a.out 5
422executables that lack a machine ID.
423This includes
424.Nx 0.8 Ns 's
425ZMAGIC format, and 386BSD and BSDI's
426QMAGIC, NMAGIC, and OMAGIC
427.Xr a.out 5
428formats.
429.It Cd options COMPAT_NETBSD32
430On those architectures that support it, this enables binary
431compatibility with 32-bit applications built for the same architecture.
432This is currently limited to the sparc64 port, and only applicable for
43364-bit kernels.
434.It Cd options COMPAT_SVR4_32
435On those architectures that support it, this enables binary
436compatibility with 32-bit SVR4 applications built for the same architecture.
437This is currently limited to the sparc64 port, and only applicable for
43864-bit kernels.
439.It Cd options COMPAT_AOUT_M68K
440On m68k architectures which have switched to ELF,
441this enable binary compatibility with
442.Nx Ns Tn /m68k
443.Xr a.out 5
444executables on
445.Nx Ns Tn /m68k
446ELF kernel.
447This handles alignment incompatibility of m68k ABI between
448a.out and ELF which causes the structure padding differences.
449Currently only some system calls which use
450.Va struct stat
451are adjusted and some binaries which use
452.Xr sysctl 3
453to retrieve network details would not work properly.
454.It Cd options EXEC_MACHO
455On those architectures that support it, this adds support for running
456Mach-O executables.
457This is currently limited to the i386 and powerpc ports of
458.Nx .
459.It Cd options EXEC_ELF_NOTELESS
460Run unidentified ELF binaries as
461.Nx
462binaries.
463This might be needed for very old
464.Nx
465ELF binaries on some archs.
466These old binaries didn't contain an appropriate
467.Li .note.netbsd.ident
468section, and thus can't be identified by the kernel as
469.Nx
470binaries otherwise.
471Beware - if this option is on, the kernel would run
472.Em any
473unknown ELF binaries as if they were
474.Nx
475binaries.
476.El
477.Ss Debugging Options
478.Bl -ohang
479.It Cd options DDB
480Compiles in a kernel debugger for diagnosing kernel problems.
481See
482.Xr ddb 4
483for details.
484.Em NOTE :
485not available on all architectures.
486.It Cd options DDB_FROMCONSOLE=integer
487If set to non-zero, DDB may be entered by sending a break on a serial
488console or by a special key sequence on a graphics console.
489A value of "0" ignores console breaks or key sequences.
490If not explicitly specified, the default value is "1".
491Note that this sets the value of the
492.Em ddb.fromconsole
493.Xr sysctl 3
494variable which may be changed at run time -- see
495.Xr sysctl 8
496for details.
497.It Cd options DDB_HISTORY_SIZE=integer
498If this is non-zero, enable history editing in the kernel debugger
499and set the size of the history to this value.
500.It Cd options DDB_ONPANIC
501If set to non-zero, DDB will be entered upon kernel panic.
502The default if not specified is "1".
503Note that this sets the value of the
504.Em ddb.onpanic
505.Xr sysctl 3
506variable which may be changed at run time -- see
507.Xr sysctl 8
508for details.
509.It Cd options DDB_BREAK_CHAR=integer
510This option overrides the using break to enter the kernel debugger
511on the serial console.
512The value given will is the ascii value to be used instead.
513This is currently only supported by the com driver.
514.It Cd options KGDB
515Compiles in a remote kernel debugger stub for diagnosing kernel problems
516using the
517.Dq remote target
518feature of gdb.
519See
520.Xr gdb 1
521for details.
522.Em NOTE :
523not available on all architectures.
524.It Cd options KGDB_DEV
525Device number
526.Po
527as a
528.Dv dev_t
529.Pc
530of kgdb device.
531.It Cd options KGDB_DEVADDR
532Memory address of kgdb device.
533.It Cd options KGDB_DEVMODE
534Permissions of kgdb device.
535.It Cd options KGDB_DEVNAME
536Device name of kgdb device.
537.It Cd options KGDB_DEVRATE
538Baud rate of kgdb device.
539.It Cd makeoptions DEBUG="-g"
540The -g flag causes
541.Pa netbsd.gdb
542to be built in addition to
543.Pa netbsd .
544.Pa netbsd.gdb
545is useful for debugging kernel crash dumps with gdb.
546See
547.Xr gdb 1
548for details.
549This also turns on
550.Em options DEBUG
551(which see).
552.It Cd options DEBUG
553Turns on miscellaneous kernel debugging.
554Since options are turned into preprocessor defines (see above),
555.Em options DEBUG
556is equivalent to doing a
557.Em #define DEBUG
558throughout the kernel.
559Much of the kernel has
560.Em #ifdef DEBUG
561conditionalized debugging code.
562Note that many parts of the kernel (typically device drivers) include their own
563.Em #ifdef XXX_DEBUG
564conditionals instead.
565This option also turns on certain other options,
566which may decrease system performance.
567.It Cd options DIAGNOSTIC
568Adds code to the kernel that does internal consistency checks.
569This code will cause the kernel to panic if corruption of internal data
570structures is detected.
571These checks can decrease performance up to 15%.
572.It Cd options KSTACK_CHECK_MAGIC
573Check kernel stack usage and panic if stack overflow is detected.
574This check is performance sensitive because it scans stack on each context
575switch.
576.It Cd options KTRACE
577Add hooks for the system call tracing facility, which allows users to
578watch the system call invocation behavior of processes.
579See
580.Xr ktrace 1
581for details.
582.It Cd options MSGBUFSIZE=integer
583This option sets the size of the kernel message buffer.
584This buffer holds the kernel output of
585.Fn printf
586when not (yet) read by
587.Xr syslogd 8 .
588This is particularly useful when the system has crashed and you wish to lookup
589the kernel output from just before the crash.
590Also, since the autoconfig output becomes more and more verbose,
591it sometimes happens that the message buffer overflows before
592.Xr syslogd 8
593was able to read it.
594Note that not all systems are capable of obtaining a variable sized message
595buffer.
596There are also some systems on which memory contents are not preserved
597across reboots.
598.It Cd options MALLOCLOG
599Enables an event log for
600.Xr malloc 9 .
601Useful for tracking down
602.Dq Data modified on freelist
603and
604.Dq multiple free
605problems.
606.It Cd options MALLOCLOGSIZE=integer
607Defines the number of entries in the malloc log.
608Default is 100000 entries.
609.It Cd options SYSTRACE
610Add hooks for the system call policy facility.
611See
612.Xr systrace 1
613for details.
614.It Cd options UVMHIST
615Enables the UVM history logs, which create in-memory traces of
616various UVM activities.
617These logs can be displayed be calling
618.Fn uvmhist_dump
619or
620.Fn uvm_hist
621with appropriate arguments from DDB.
622See the kernel source file sys/uvm/uvm_stat.c for details.
623.It Cd options UVMHIST_PRINT
624Prints the UVM history logs on the system console as entries are added.
625Note that the output is
626.Em extremely
627voluminous, so this option is really only useful for debugging
628the very earliest parts of kernel initialization.
629.El
630.Ss File Systems
631.Bl -ohang
632.It Cd file-system FFS
633Includes code implementing the Berkeley Fast File System
634.Em ( FFS ) .
635Most machines need this if they are not running diskless.
636.It Cd file-system EXT2FS
637Includes code implementing the Second Extended File System
638.Em ( EXT2FS ) ,
639revision 0 and revision 1 with the
640.Em filetype
641and
642.Em sparse_super
643options.
644This is the most commonly used file system on the Linux operating system,
645and is provided here for compatibility.
646Some of the specific features of
647.Em EXT2FS
648like the "behavior on errors" are not implemented.
649This file system can't be used with UID or GID greater than 65535.
650See
651.Xr mount_ext2fs 8
652for details.
653.It Cd file-system LFS
654.Em [EXPERIMENTAL]
655Include the Log-structured File System
656.Em ( LFS ) .
657See
658.Xr mount_lfs 8
659and
660.Xr newfs_lfs 8
661for details.
662.It Cd file-system MFS
663Include the Memory File System
664.Em ( MFS ) .
665This file system stores files in swappable memory, and produces
666notable performance improvements when it is used as the file store
667for
668.Pa /tmp
669and similar file systems.
670See
671.Xr mount_mfs 8
672for details.
673.It Cd file-system NFS
674Include the client side of the Network File System
675.Pq Tn NFS
676remote file sharing protocol.
677Although the bulk of the code implementing
678.Tn NFS
679is kernel based, several user level daemons are needed for it to work.
680See
681.Xr mount_nfs 8
682for details.
683.It Cd file-system CD9660
684Includes code for the
685.Tn ISO
6869660 + Rock Ridge file system, which is the standard file system on many
687.Tn CD-ROM
688discs.
689Useful primarily if you have a
690.Tn CD-ROM
691drive.
692See
693.Xr mount_cd9660 8
694for details.
695.It Cd file-system MSDOSFS
696Includes the
697.Tn MS-DOS
698FAT file system, which is reportedly still used
699by unfortunate people who have not heard about
700.Nx .
701Also implements the
702.Tn Windows 95
703extensions to the same, which permit the use of longer, mixed case
704file names.
705See
706.Xr mount_msdos 8
707and
708.Xr fsck_msdos 8
709for details.
710.It Cd file-system NTFS
711.Em [EXPERIMENTAL]
712Includes code for the
713.Tn Microsoft Windows NT
714file system.
715See
716.Xr mount_ntfs 8
717for details.
718.It Cd file-system FDESC
719Includes code for a file system, conventionally mounted on
720.Pa /dev/fd ,
721which permits access to the per-process file descriptor space via
722special files in the file system.
723See
724.Xr mount_fdesc 8
725for details.
726Note that this facility is redundant, and thus unneeded on most
727.Nx
728systems, since the
729.Xr fd 4
730pseudo-device driver already provides identical functionality.
731On most
732.Nx
733systems, instances of
734.Xr fd 4
735are mknoded under
736.Pa /dev/fd/
737and on
738.Pa /dev/stdin ,
739.Pa /dev/stdout ,
740and
741.Pa /dev/stderr .
742.It Cd file-system KERNFS
743Includes code which permits the mounting of a special file system
744(normally mounted on
745.Pa /kern )
746in which files representing various kernel variables and parameters
747may be found.
748See
749.Xr mount_kernfs 8
750for details.
751.It Cd file-system NULLFS
752Includes code for a loopback file system.
753This permits portions of the file hierarchy to be re-mounted in other places.
754The code really exists to provide an example of a stackable file system layer.
755See
756.Xr mount_null 8
757for details.
758.It Cd file-system OVERLAY
759Includes code for a file system filter.
760This permits the overlay file system to intercept all access to an underlying
761file system.
762This file system is intended to serve as an example of a stacking file
763system which has a need to interpose itself between an underlying file
764system and all other access.
765See
766.Xr mount_overlay 8
767for details.
768.It Cd file-system PORTAL
769.Em [EXPERIMENTAL]
770Includes the portal file system.
771This permits interesting tricks like opening
772.Tn TCP
773sockets by opening files in the file system.
774The portal file system is conventionally mounted on
775.Pa /p
776and is partially implemented by a special daemon.
777See
778.Xr mount_portal 8
779for details.
780.It Cd file-system PROCFS
781Includes code for a special file system (conventionally mounted on
782.Pa /proc )
783in which the process space becomes visible in the file system.
784Among
785other things, the memory spaces of processes running on the system are
786visible as files, and signals may be sent to processes by writing to
787.Pa ctl
788files in the procfs namespace.
789See
790.Xr mount_procfs 8
791for details.
792.It Cd file-system UMAPFS
793Includes a loopback file system in which user and group IDs may be
794remapped -- this can be useful when mounting alien file systems with
795different UIDs and GIDs than the local system.
796See
797.Xr mount_umap 8
798for details.
799.It Cd file-system UNION
800.Em [EXPERIMENTAL]
801Includes code for the union file system, which permits directories to
802be mounted on top of each other in such a way that both file systems
803remain visible -- this permits tricks like allowing writing (and the
804deleting of files) on a read-only file system like a
805.Tn CD-ROM
806by mounting a local writable file system on top of the read-only file system.
807See
808.Xr mount_union 8
809for details.
810.It Cd file-system CODA
811.Em [EXPERIMENTAL]
812Includes code for the Coda file system.
813Coda is a distributed file system like NFS and AFS.
814It is freely available, like NFS, but it functions much like AFS in being a
815.Dq stateful
816file system.
817Both Coda and AFS cache files on your local machine to improve performance.
818Then Coda goes a step further than AFS by letting you access the cached
819files when there is no available network, viz. disconnected laptops and
820network outages.
821In Coda, both the client and server are outside the kernel which makes
822them easier to experiment with.
823Coda is available for several UNIX and non-UNIX platforms.
824See http://www.coda.cs.cmu.edu for more details.
825NOTE: You also need to enable the pseudo-device, vcoda, for the Coda
826file system to work.
827.El
828.Ss File System Options
829.Bl -ohang
830.It Cd options NFSSERVER
831Include the server side of the
832.Em NFS
833(Network File System) remote file sharing protocol.
834Although the bulk of the code implementing
835.Em NFS
836is kernel based, several user level daemons are needed for it to
837work.
838See
839.Xr mountd 8
840and
841.Xr nfsd 8
842for details.
843.It Cd options QUOTA
844Enables kernel support for file system quotas.
845See
846.Xr quotaon 8 ,
847.Xr edquota 8 ,
848and
849.Xr quota 1
850for details.
851Note that quotas only work on
852.Dq ffs
853file systems, although
854.Xr rpc.rquotad 8
855permits them to be accessed over
856.Em NFS .
857.It Cd options FFS_EI
858Enable ``Endian-Independent'' FFS support.
859This allows a system to mount an FFS file system created for another
860architecture, at a small performance cost for all FFS file systems.
861See also
862.Xr newfs 8 ,
863.Xr fsck_ffs 8 ,
864.Xr dumpfs 8
865for file system byte order status and manipulation.
866.It Cd options NVNODE=integer
867This option sets the size of the cache used by the name-to-inode translation
868routines, (a.k.a. the
869.Fn namei
870cache, though called by many other names in the kernel source).
871By default, this cache has
872.Dv NPROC
873(set as 20 + 16 * MAXUSERS) * (80 + NPROC / 8) entries.
874A reasonable way to derive a value of
875.Dv NVNODE ,
876should you notice a large number of namei cache misses with a tool such as
877.Xr systat 1 ,
878is to examine your system's current computed value with
879.Xr sysctl 8 ,
880(which calls this parameter "kern.maxvnodes") and to increase this value
881until either the namei cache hit rate improves or it is determined that
882your system does not benefit substantially from an increase in the size of
883the namei cache.
884.It Cd options NAMECACHE_ENTER_REVERSE
885Causes the namei cache to always enter a reverse mapping (vnode -\*[Gt] name)
886as well as a normal one.
887Normally, this is already done for directory vnodes, to speed up the getcwd
888operation.
889This option will cause longer hash chains in the reverse cache, and thus
890slow down getcwd somewhat.
891However, it does make vnode -\*[Gt] path translations possible in some cases.
892For now, only useful if strict /proc/#/maps emulation for Linux binaries is
893required.
894.It Cd options EXT2FS_SYSTEM_FLAGS
895This option changes the behavior of the APPEND and IMMUTABLE flags
896for a file on an
897.Em EXT2FS
898file system.
899Without this option, the superuser or owner of the file can
900set and clear them.
901With this option, only the superuser can set them, and
902they can't be cleared if the securelevel is greater than 0.
903See also
904.Xr chflags 1 .
905.It Cd options NFS_BOOT_BOOTP
906Enable use of the BOOTP protocol (RFCs 951 and 1048) to get configuration
907information if NFS is used to mount the root file system.
908See
909.Xr diskless 8
910for details.
911.It Cd options NFS_BOOT_DHCP
912Same as
913.Dq NFS_BOOT_BOOTP ,
914but use the DHCP extensions to the
915BOOTP protocol (RFC 1541).
916.It Cd options NFS_BOOT_BOOTP_REQFILE
917Specifies the string sent in the bp_file field of the BOOTP / DHCP
918request packet.
919.It Cd options NFS_BOOT_BOOTPARAM
920Enable use of the BOOTPARAM protocol, consisting of RARP and
921BOOTPARAM RPC, to get configuration information if NFS
922is used to mount the root file system.
923See
924.Xr diskless 8
925for details.
926.It Cd options NFS_BOOT_RWSIZE=value
927Set the initial NFS read and write sizes for diskless-boot requests.
928The normal default is 8Kbytes.
929This option provides a way to lower the value (e.g., to 1024 bytes)
930as a workaround for buggy network interface cards or boot PROMs.
931Once booted, the read and write request sizes can be increased by
932remounting the file system.
933See
934.Xr mount_nfs 8
935for details.
936.It Cd options NFS_V2_ONLY
937Reduce the size of the NFS client code by omitting code that's only required
938for NFSv3 and NQNFS support, leaving only that code required to use NFSv2
939servers.
940.El
941.Ss Miscellaneous Options
942.Bl -ohang
943.It Cd options NEW_BUFQ_STRATEGY
944Enable experimental buffer queue strategy for disk I/O.
945It gives higher priority to read requests over write requests, and thereby
946improves the overall system responsiveness considerably under heavy disk
947I/O load.
948.Em NOTE :
949It's not yet proven to be stable, so use it at your own risk.
950.It Cd options LKM
951Enable loadable kernel modules.
952See
953.Xr lkm 4
954for details.
955.Em NOTE :
956not available on all architectures.
957.It Cd options INSECURE
958Hardwires the kernel security level at -1.
959This means that the system
960always runs in secure level 0 mode, even when running multiuser.
961See the manual page for
962.Xr init 8
963for details on the implications of this.
964The kernel secure level may manipulated by the superuser by altering the
965.Em kern.securelevel
966.Xr sysctl 3
967variable (the secure level may only be lowered by a call from process ID 1,
968i.e.
969.Xr init 8 ) .
970See also
971.Xr sysctl 8
972and
973.Xr sysctl 3 .
974.It Cd options MEMORY_DISK_DYNAMIC
975This options makes the
976.Xr md 4
977.Tn RAM
978disk size dynamically sized.
979.It Cd options MEMORY_DISK_HOOKS
980This option allows for some machine dependent functions to be called when
981the
982.Xr md 4
983.Tn RAM
984disk driver is configured.
985This can result in automatically loading a
986.Tn RAM
987disk from floppy on open (among other things).
988.It Cd options MEMORY_DISK_IS_ROOT
989Forces the
990.Xr md 4
991.Tn RAM
992disk to be the root device.
993This can only be overridden when
994the kernel is booted in the 'ask-for-root' mode.
995.It Cd options MEMORY_DISK_ROOT_SIZE=integer
996Allocates the given number of 512 byte blocks as memory for the
997.Xr md 4
998.Tn RAM
999disk, to be populated with
1000.Xr mdsetimage 8 .
1001.It Cd options MEMORY_DISK_SERVER=0
1002Do not include the interface to a userland memory disk server process.
1003Per default, this options is set to 1, including the support code.
1004Useful for install media kernels.
1005.It Cd options VNODE_OP_NOINLINE
1006Do not inline the
1007.Fn VOP_*
1008calls in the kernel.
1009On i386 GENERIC, this saves 36k of kernel text.
1010Useful for install media kernels, small memory systems and embedded systems.
1011.It Cd options MALLOC_NOINLINE
1012Time critical fixed size memory allocation is performed with
1013.Fn MALLOC
1014and
1015.Fn FREE .
1016Normally these expand to inline code, but with
1017.Em MALLOC_NOINLINE
1018these call the normal
1019.Fn malloc
1020and
1021.Fn free
1022functions.
1023Useful for install media kernels, small memory systems and embedded systems.
1024.It Cd options HZ=integer
1025On ports that support it, set the system clock frequency (see
1026.Xr hz 9 )
1027to the supplied value.
1028Handle with care.
1029.It Cd options NTP
1030Turns on in-kernel precision timekeeping support used by software
1031implementing
1032.Em NTP
1033(Network Time Protocol, RFC 1305).
1034The
1035.Em NTP
1036option adds an in-kernel Phase-Locked Loop (PLL) for normal
1037.Em NTP
1038operation, and a Frequency-Locked Loop (FLL) for intermittently-connected
1039operation.
1040.Xr ntpd 8
1041will employ a user-level PLL when kernel support is unavailable,
1042but the in-kernel version has lower latency and more precision, and
1043so typically keeps much better time.
1044The interface to the kernel
1045.Em NTP
1046support is provided by the
1047.Xr ntp_adjtime 2
1048and
1049.Xr ntp_gettime 2
1050system calls, which are intended for use by
1051.Xr ntpd 8
1052and are enabled by the option.
1053On systems with sub-microsecond resolution timers, or where (HZ / 100000)
1054is not an integer, the
1055.Em NTP
1056option also enables extended-precision arithmetic to keep track of
1057fractional clock ticks at NTP time-format precision.
1058.It Cd options PPS_SYNC
1059This option enables a kernel serial line discipline for receiving time
1060phase signals from an external reference clock such as a radio clock.
1061(The
1062.Em NTP
1063option (which see) must be on if the
1064.Em PPS_SYNC
1065option is used.)
1066Some reference clocks generate a Pulse Per Second (PPS) signal in
1067phase with their time source.
1068The
1069.Em PPS
1070line discipline receives this signal on either the data leads
1071or the DCD control lead of a serial port.
1072.Em NTP
1073uses the PPS signal to discipline the local clock oscillator to a high
1074degree of precision (typically less than 50 microseconds in time and
10750.1 ppm in accuracy).
1076.Em PPS
1077can also generate a serial output pulse when the system receives a PPS
1078interrupt.
1079This can be used to measure the system interrupt latency and thus calibrate
1080.Em NTP
1081to account for it.
1082Using
1083.Em PPS
1084usually requires a
1085gadget box
1086to convert from TTL to RS-232 signal levels.
1087The gadget box and PPS are described in more detail in the HTML documentation
1088for
1089.Xr ntpd 8
1090in
1091.Pa /usr/share/doc/html/ntp .
1092.It Cd options NO_TSC_TIME
1093Don't use TSC microtime, even if available (i386 only).
1094Improves time behavior under VMware.
1095.It Cd options SETUIDSCRIPTS
1096Allows scripts with the setuid bit set to execute as the effective
1097user rather than the real user, just like binary executables.
1098.Pp
1099.Em NOTE :
1100Using this option will also enable
1101.Em options FDSCRIPTS
1102.It Cd options FDSCRIPTS
1103Allows execution of scripts with the execute bit set, but not the
1104read bit, by opening the file and passing the file descriptor to
1105the shell, rather than the filename.
1106.Pp
1107.Em NOTE :
1108Execute only (non-readable) scripts will have
1109.Va argv[0]
1110set to
1111.Pa /dev/fd/* .
1112What this option allows as far as security is
1113concerned, is the ability to safely ensure that the correct script
1114is run by the interpreter, as it is passed as an already open file.
1115.It Cd options PUCCN
1116Enables treating serial ports found on PCI boards
1117.Xr puc 4
1118as potential console devices.
1119The method for choosing such a console device is port dependent.
1120.It Cd options RTC_OFFSET=integer
1121The kernel (and typically the hardware battery backed-up clock on
1122those machines that have one) keeps time in
1123.Em UTC
1124(Universal Coordinated Time, once known as
1125.Em GMT ,
1126or Greenwich Mean Time)
1127and not in the time of the local time zone.
1128The
1129.Em RTC_OFFSET
1130option is used on some ports (such as the i386) to tell the kernel
1131that the hardware clock is offset from
1132.Em UTC
1133by the specified number of minutes.
1134This is typically used when a machine boots several operating
1135systems and one of them wants the hardware clock to run in the
1136local time zone and not in
1137.Em UTC ,
1138e.g.
1139.Em RTC_OFFSET=300
1140means
1141the hardware clock is set to US Eastern Time (300 minutes behind
1142.Em UTC ) ,
1143and not
1144.Em UTC .
1145(Note:
1146.Em RTC_OFFSET
1147is used to initialize a kernel variable named
1148.Va rtc_offset
1149which is the source actually used to determine the clock offset, and
1150which may be accessed via the kern.rtc_offset sysctl variable.
1151See
1152.Xr sysctl 8
1153and
1154.Xr sysctl 3
1155for details.
1156Since the kernel clock is initialized from the hardware clock very
1157early in the boot process, it is not possible to meaningfully change
1158.Va rtc_offset
1159in system initialization scripts.
1160Changing this value currently may only be done at kernel compile
1161time or by patching the kernel and rebooting).
1162.Pp
1163.Em NOTE :
1164Unfortunately, in many cases where the hardware clock
1165is kept in local time, it is adjusted for Daylight Savings
1166Time; this means that attempting to use
1167.Em RTC_OFFSET
1168to let
1169.Nx
1170coexist with such an operating system, like Windows,
1171would necessitate changing
1172.Em RTC_OFFSET
1173twice a year.
1174As such, this solution is imperfect.
1175.It Cd options KMEMSTATS
1176The kernel memory allocator,
1177.Xr malloc 9 ,
1178will keep statistics on its performance if this option is enabled.
1179Unfortunately, this option therefore essentially disables the
1180.Fn MALLOC
1181and
1182.Fn FREE
1183forms of the memory allocator, which are used to enhance the performance
1184of certain critical sections of code in the kernel.
1185This option therefore can lead to a significant decrease in the
1186performance of certain code in the kernel if enabled.
1187Examples of such code include the
1188.Fn namei
1189routine, the
1190.Xr ccd 4
1191driver,
1192the
1193.Xr ncr 4
1194driver,
1195and much of the networking code.
1196.It Cd options MAXUPRC=integer
1197Sets the soft
1198.Dv RLIMIT_NPROC
1199resource limit, which specifies the maximum number of simultaneous
1200processes a user is permitted to run, for process 0;
1201this value is inherited by its child processes.
1202It defaults to
1203.Em CHILD_MAX ,
1204which is currently defined to be 160.
1205Setting
1206.Em MAXUPRC
1207to a value less than
1208.Em CHILD_MAX
1209is not permitted, as this would result in a violation of the semantics of
1210.St -p1003.1-90 .
1211.It Cd options NOFILE=integer
1212Sets the soft
1213.Dv RLIMIT_NOFILE
1214resource limit, which specifies the maximum number of open
1215file descriptors for each process;
1216this value is inherited by its child processes.
1217It defaults to
1218.Em OPEN_MAX ,
1219which is currently defined to be 64.
1220.It Cd options DEFCORENAME=string
1221Sets the default value of the
1222.Em kern.defcorename
1223sysctl variable, otherwise it is set to
1224.Nm %n.core .
1225See
1226.Xr sysctl 8
1227and
1228.Xr sysctl 3
1229for details.
1230.It Cd options RASOPS_CLIPPING
1231Enables clipping within the
1232.Nm rasops
1233raster-console output system.
1234.Em NOTE :
1235only available on architectures that use
1236.Nm rasops
1237for console output.
1238.It Cd options RASOPS_SMALL
1239Removes optimized character writing code from the
1240.Nm rasops
1241raster-console output system.
1242.Em NOTE :
1243only available on architectures that use
1244.Nm rasops
1245for console output.
1246.It Cd options INCLUDE_CONFIG_FILE
1247Embeds the kernel config file used to define the kernel in the kernel
1248binary itself.
1249The embedded data also includes any files directly included by the config
1250file itself, e.g.
1251.Pa GENERIC.local
1252or
1253.Pa std.$MACHINE .
1254The embedded config file can be extracted from the resulting kernel by
1255the following command:
1256.Bd -literal -offset indent
1257strings netbsd | sed -n 's/^_CFG_//p' | unvis
1258.Ed
1259.It Cd options INCLUDE_JUST_CONFIG
1260Similar to the above option, but includes just the actual config file,
1261not any included files.
1262.It Cd options PIPE_SOCKETPAIR
1263Use slower, but smaller socketpair(2)-based pipe implementation instead
1264of default faster, but bigger one.
1265Primarily useful for installation kernels.
1266.It Cd options USERCONF
1267Compiles in the in-kernel device configuration manager.
1268See
1269.Xr userconf 4
1270for details.
1271.It Cd options PERFCTRS
1272Compiles in kernel support for CPU performance-monitoring counters.
1273See
1274.Xr pmc 1
1275for details.
1276.Em NOTE :
1277not available on all architectures.
1278.El
1279.Ss Networking Options
1280.Bl -ohang
1281.It Cd options GATEWAY
1282Enables
1283.Em IPFORWARDING
1284(which see)
1285and (on most ports) increases the size of
1286.Em NMBCLUSTERS
1287(which see).
1288In general,
1289.Em GATEWAY
1290is used to indicate that a system should act as a router, and
1291.Em IPFORWARDING
1292is not invoked directly.
1293(Note that
1294.Em GATEWAY
1295has no impact on protocols other than
1296.Tn IP ,
1297such as
1298.Tn CLNP
1299or
1300.Tn XNS ) .
1301.Em GATEWAY
1302option also compiles IPv4 fast forwarding code into the kernel.
1303.It Cd options IPFORWARDING=value
1304If
1305.Em value
1306is 1 this enables IP routing behavior.
1307If
1308.Em value
1309is 0 (the default), it disables it.
1310The
1311.Em GATEWAY
1312option sets this to 1 automatically.
1313With this option enabled, the machine will forward IP datagrams destined
1314for other machines between its interfaces.
1315Note that even without this option, the kernel will
1316still forward some packets (such as source routed packets) -- removing
1317.Em GATEWAY
1318and
1319.Em IPFORWARDING
1320is insufficient to stop all routing through a bastion host on a
1321firewall -- source routing is controlled independently.
1322To turn off source routing, use
1323.Em options IPFORWSRCRT=0
1324(which see).
1325Note that IP forwarding may be turned on and off independently of the
1326setting of the
1327.Em IPFORWARDING
1328option through the use of the
1329.Em net.inet.ip.forwarding
1330sysctl variable.
1331If
1332.Em net.inet.ip.forwarding
1333is 1, IP forwarding is on.
1334See
1335.Xr sysctl 8
1336and
1337.Xr sysctl 3
1338for details.
1339.It Cd options IPFORWSRCRT=value
1340If
1341.Em value
1342is set to zero, source routing of IP datagrams is turned off.
1343If
1344.Em value
1345is set to one (the default) or the option is absent, source routed IP
1346datagrams are forwarded by the machine.
1347Note that source routing of IP packets may be turned on and off
1348independently of the setting of the
1349.Em IPFORWSRCRT
1350option through the use of the
1351.Em net.inet.ip.forwsrcrt
1352sysctl variable.
1353If
1354.Em net.inet.ip.forwsrcrt
1355is 1, forwarding of source routed IP datagrams is on.
1356See
1357.Xr sysctl 8
1358and
1359.Xr sysctl 3
1360for details.
1361.It Cd options IFA_STATS
1362Tells the kernel to maintain per-address statistics on bytes sent
1363and received over (currently) internet and appletalk addresses.
1364.\"This can be a fairly expensive operation, so you probably want to
1365.\"keep this disabled.
1366The option is not recommended as it degrades system stability.
1367.It Cd options IFQ_MAXLEN=value
1368Increases the allowed size of the network interface packet queues.
1369The default queue size is 50 packets, and you do not normally need
1370to increase it.
1371.It Cd options MROUTING
1372Includes support for IP multicast routers.
1373You certainly want
1374.Em INET
1375with this.
1376Multicast routing is controlled by the
1377.Xr mrouted 8
1378daemon.
1379.It Cd options INET
1380Includes support for the
1381.Tn TCP/IP
1382protocol stack.
1383You almost certainly want this.
1384See
1385.Xr inet 4
1386for details.
1387This option is currently required.
1388.It Cd options INET6
1389Includes support for the
1390.Tn IPv6
1391protocol stack.
1392See
1393.Xr inet6 4
1394for details.
1395Unlike
1396.Em INET ,
1397.Em INET6
1398enables multicast routing code as well.
1399This option requires
1400.Em INET
1401at this moment, but it should not.
1402.It Cd options ND6_DEBUG
1403The option sets the default value of net.inet6.icmp6.nd6_debug to 1,
1404for debugging IPv6 neighbor discovery protocol handling.
1405See
1406.Xr sysctl 3
1407for details.
1408.It Cd options IPSEC
1409Includes support for the
1410.Tn IPsec
1411protocol.
1412See
1413.Xr ipsec 4
1414for details.
1415.It Cd options IPSEC_DEBUG
1416Enables debugging code in
1417.Tn IPsec
1418stack.
1419See
1420.Xr ipsec 4
1421for details.
1422.It Cd options IPSEC_ESP
1423Includes support for
1424.Tn IPsec
1425.Tn ESP
1426protocol.
1427See
1428.Xr ipsec 4
1429for details.
1430.It Cd options ALTQ
1431Enabled ALTQ (Alternate Queueing).
1432For simple rate-limiting, use
1433.Xr tbrconfig 8
1434to set up the interface transmission rate.
1435To use queueing disciplines, their appropriate kernel options should also
1436be defined (documented below).
1437Queueing disciplines are managed by
1438.Xr altqd 8 .
1439See
1440.Xr altq 9
1441for details.
1442.It Cd options ALTQ_HFSC
1443Include support for ALTQ-implemented HFSC (Hierarchical Fair Service Curve)
1444module.
1445HFSC supports both link-sharing and guaranteed real-time services.
1446H-FSC employs a service curve based QoS model, and its unique feature
1447is an ability to decouple delay and bandwidth allocation.
1448Requires
1449.Em ALTQ_RED
1450to use the RED queueing discipline on HFSC classes, or
1451.Em ALTQ_RIO
1452to use the RIO queueing discipline on HFSC classes.
1453This option assumes
1454.Em ALTQ .
1455.It Cd options ALTQ_PRIQ
1456Include support for ALTQ-implemented PRIQ (Priority Queueing).
1457PRIQ implements a simple priority-based queueing discipline.
1458A higher priority class is always served first.
1459Requires
1460.Em ALTQ_RED
1461to use the RED queueing discipline on HFSC classes, or
1462.Em ALTQ_RIO
1463to use the RIO queueing discipline on HFSC classes.
1464This option assumes
1465.Em ALTQ .
1466.It Cd options ALTQ_WFQ
1467Include support for ALTQ-implemented WFQ (Weighted Fair Queueing).
1468WFQ implements a weighted-round robin scheduler for a set of queues.
1469A weight can be assigned to each queue to give a different proportion
1470of the link capacity.
1471A hash function is used to map a flow to one of a set of queues.
1472This option assumes
1473.Em ALTQ .
1474.It Cd options ALTQ_FIFOQ
1475Include support for ALTQ-implemented FIFO queueing.
1476FIFOQ is a simple drop-tail FIFO (First In, First Out) queueing discipline.
1477This option assumes
1478.Em ALTQ .
1479.It Cd options ALTQ_RIO
1480Include support for ALTQ-implemented RIO (RED with In/Out).
1481The original RIO has 2 sets of RED parameters; one for in-profile
1482packets and the other for out-of-profile packets.
1483At the ingress of the network, profile meters tag packets as IN or
1484OUT based on contracted profiles for customers.
1485Inside the network, IN packets receive preferential treatment by
1486the RIO dropper.
1487ALTQ/RIO has 3 drop precedence levels defined for the Assured Forwarding
1488PHB of DiffServ (RFC 2597).
1489This option assumes
1490.Em ALTQ .
1491.It Cd options ALTQ_BLUE
1492Include support for ALTQ-implemented Blue buffer management.
1493Blue is another active buffer management mechanism.
1494This option assumes
1495.Em ALTQ .
1496.It Cd options ALTQ_FLOWVALVE
1497Include support for ALTQ-implemented Flowvalve.
1498Flowvalve is a simple implementation of a RED penalty box that identifies
1499and punishes misbehaving flows.
1500This option requires
1501.Em ALTQ_RED
1502and assumes
1503.Em ALTQ .
1504.It Cd options ALTQ_CDNR
1505Include support for ALTQ-implemented CDNR (diffserv traffic conditioner)
1506packet marking/manipulation.
1507Traffic conditioners are components to meter, mark, or drop incoming
1508packets according to some rules.
1509As opposed to queueing disciplines, traffic conditioners handle incoming
1510packets at an input interface.
1511This option assumes
1512.Em ALTQ .
1513.It Cd options ALTQ_NOPCC
1514Disables use of processor cycle counter to measure time in ALTQ.
1515This option should be defined for a non-Pentium i386 CPU which does not
1516have TSC, SMP (per-CPU counters are not in sync), or power management
1517which affects processor cycle counter.
1518This option assumes
1519.Em ALTQ .
1520.It Cd options ALTQ_IPSEC
1521Include support for IPsec in IPv4 ALTQ.
1522This option assumes
1523.Em ALTQ .
1524.It Cd options ALTQ_JOBS
1525Undocumented at this time.
1526.It Cd options ALTQ_AFMAP
1527Include support for an undocumented ALTQ feature that is used to map an IP
1528flow to an ATM VC (Virtual Circuit).
1529This option assumes
1530.Em ALTQ .
1531.It Cd options ALTQ_LOCALQ
1532Include support for ALTQ-implemented local queues.
1533Its practical use is undefined.
1534Assumes
1535.Em ALTQ .
1536.It Cd options SUBNETSARELOCAL
1537Sets default value for net.inet.ip.subnetsarelocal variable, which
1538controls whether non-directly-connected subnets of connected networks
1539are considered "local" for purposes of choosing the MSS for a TCP
1540connection.
1541This is mostly present for historic reasons and completely irrelevant if
1542you enable Path MTU discovery.
1543.It Cd options HOSTZEROBROADCAST
1544Sets default value for net.inet.ip.hostzerobroadcast variable, which
1545controls whether the zeroth host address of each connected subnet is
1546also considered a broadcast address.
1547Default value is "1", for compatibility with old systems; if this is
1548set to zero on all hosts on a subnet, you should be able to fit an extra
1549host per subnet on the
1550".0" address.
1551.It Cd options MCLSHIFT=value
1552This option is the base-2 logarithm of the size of mbuf clusters.
1553The
1554.Bx
1555networking stack keeps network packets in a linked
1556list, or chain, of kernel buffer objects called mbufs.
1557The system provides larger mbuf clusters as an optimization for
1558large packets, instead of using long chains for large packets.
1559The mbuf cluster size,
1560or
1561.Em MCLBYTES ,
1562must be a power of two, and is computed as two raised to the power
1563.Em MCLSHIFT .
1564On systems with Ethernet network adaptors,
1565.Em MCLSHIFT
1566is often set to 11, giving 2048-byte mbuf clusters, large enough to
1567hold a 1500-byte
1568.Tn Ethernet
1569frame in a single cluster.
1570Systems with network interfaces supporting larger frame sizes like
1571.Tn ATM ,
1572.Tn FDDI ,
1573or
1574.Tn HIPPI
1575may perform better with
1576.Em MCLSHIFT
1577set to 12 or 13, giving mbuf cluster sizes of 4096 and 8192 bytes,
1578respectively.
1579.It Cd options NS
1580Include support for the
1581.Tn Xerox
1582.Tn XNS
1583protocol stack.
1584See
1585.Xr ns 4
1586for details.
1587.It Cd options ISO,TPIP
1588Include support for the ubiquitous
1589.Tn OSI
1590protocol stack.
1591See
1592.Xr iso 4
1593for details.
1594This option assumes
1595.Em INET .
1596.It Cd options EON
1597Include support for tunneling
1598.Tn OSI
1599protocols over
1600.Tn IP .
1601Known to be broken, or at least very fragile, and undocumented.
1602.It Cd options CCITT,LLC,HDLC
1603Include support for the
1604.Tn CCITT
1605(nee
1606.Tn ITU-TSS )
1607.Tn X.25
1608protocol stack.
1609The state of this code is currently unknown, and probably contains bugs.
1610This option assumes
1611.Em INET .
1612.It Cd options NETATALK
1613Include support for the
1614.Tn AppleTalk
1615protocol stack.
1616The kernel provides provision for the
1617.Em Datagram Delivery Protocol
1618(DDP), providing SOCK_DGRAM support and
1619.Tn AppleTalk
1620routing.
1621This stack is used by the
1622.Em NETATALK
1623package, which adds support for
1624.Tn AppleTalk
1625server services via user libraries and applications.
1626.It Cd options IPNOPRIVPORTS
1627Normally, only root can bind a socket descriptor to a so-called
1628.Dq privileged
1629.Tn TCP
1630port, that is, a port number in the range 0-1023.
1631This option eliminates those checks from the kernel.
1632This can be useful if there is a desire to allow daemons without
1633privileges to bind those ports, e.g., on firewalls.
1634The security tradeoffs in doing this are subtle.
1635This option should only be used by experts.
1636.It Cd options TCP_COMPAT_42
1637.Tn TCP
1638bug compatibility with
1639.Bx 4.2 .
1640In
1641.Bx 4.2 ,
1642.Tn TCP
1643sequence numbers were 32-bit signed values.
1644Modern implementations of TCP use unsigned values.
1645This option clamps the initial sequence number to start in
1646the range 2^31 rather than the full unsigned range of 2^32.
1647Also, under
1648.Bx 4.2 ,
1649keepalive packets must contain at least one byte or else
1650the remote end would not respond.
1651.It Cd options TCP_DEBUG
1652Record the last
1653.Em TCP_NDEBUG
1654TCP packets with SO_DEBUG set, and decode to the console if
1655.Em tcpconsdebug
1656is set.
1657.It Cd options TCP_NDEBUG
1658Number of packets to record for
1659.Em TCP_DEBUG .
1660Defaults to 100.
1661.It Cd options TCP_SENDSPACE=value
1662.It Cd options TCP_RECVSPACE=value
1663These options set the max TCP window size to other sizes than the default.
1664The TCP window sizes can be altered via
1665.Xr sysctl 8
1666as well.
1667.It Cd options TCP_INIT_WIN=value
1668This option sets the initial TCP window size for non-local connections,
1669which is used when the transmission starts.
1670The default size is 1, but if the machine should act more aggressively,
1671the initial size can be set to some other value.
1672The initial TCP window size can be set via
1673.Xr sysctl 8
1674as well.
1675.It Cd options PFIL_HOOKS
1676This option turns on the packet filter interface hooks.
1677See
1678.Xr pfil 9
1679for details.
1680This option assumes
1681.Em INET .
1682.It Cd options IPFILTER_LOG
1683This option, in conjunction with
1684.Em pseudo-device ipfilter ,
1685enables logging of IP packets using ip-filter.
1686.It Cd options IPFILTER_DEFAULT_BLOCK
1687This option sets the default policy of ip-filter.
1688If it is set, ip-filter will block packets by default.
1689.It Cd options BRIDGE_IPF
1690This option causes
1691.Em bridge
1692devices to use the IP and/or IPv6 filtering hooks, forming
1693a link-layer filter that uses protocol-layer rules.
1694This option assumes the presence of
1695.Em pseudo-device ipfilter .
1696.It Cd options MBUFTRACE
1697This option can help track down mbuf leaks.
1698When enabled, mbufs are tagged with the devices and protocols using them,
1699which slightly decreases network performance.
1700This additional information can be viewed with
1701.Xr netstat 1 :
1702.Dl Ic netstat Fl mssv
1703Not all devices or protocols support this option.
1704.El
1705.Ss System V IPC Options
1706.Bl -ohang
1707.It Cd options SYSVMSG
1708Includes support for
1709.At V
1710style message queues.
1711See
1712.Xr msgctl 2 ,
1713.Xr msgget 2 ,
1714.Xr msgrcv 2 ,
1715.Xr msgsnd 2 .
1716.It Cd options SYSVSEM
1717Includes support for
1718.At V
1719style semaphores.
1720See
1721.Xr semctl 2 ,
1722.Xr semget 2 ,
1723.Xr semop 2 .
1724.It Cd options SEMMNI=value
1725Sets the number of
1726.At V
1727style semaphore identifiers.
1728The GENERIC config file for your port will have the default.
1729.It Cd options SEMMNS=value
1730Sets the number of
1731.At V
1732style semaphores in the system.
1733The GENERIC config file for your port will have the default.
1734.It Cd options SEMUME=value
1735Sets the maximum number of undo entries per process for
1736.At V
1737style semaphores.
1738The GENERIC config file for your port will have the default.
1739.It Cd options SEMMNU=value
1740Sets the number of undo structures in the system for
1741.At V
1742style semaphores.
1743The GENERIC config file for your port will have the default.
1744.It Cd options SYSVSHM
1745Includes support for
1746.At V
1747style shared memory.
1748See
1749.Xr shmat 2 ,
1750.Xr shmctl 2 ,
1751.Xr shmdt 2 ,
1752.Xr shmget 2 .
1753.It Cd options SHMMAXPGS=value
1754Sets the maximum number of
1755.At V
1756style shared memory pages that are available through the
1757.Xr shmget 2
1758system call.
1759Default value is 1024 on most ports.
1760See
1761.Pa /usr/include/machine/vmparam.h
1762for the default.
1763.El
1764.Ss VM Related Options
1765.Bl -ohang
1766.It Cd options NMBCLUSTERS=value
1767The number of mbuf clusters the kernel supports.
1768Mbuf clusters are MCLBYTES in size (usually 2k).
1769This is used to compute the size of the kernel VM map
1770.Em mb_map ,
1771which maps mbuf clusters.
1772Default on most ports is 1024 (2048 with
1773.Dq options GATEWAY
1774).
1775See
1776.Pa /usr/include/machine/param.h
1777for exact default information.
1778Increase this value if you get
1779.Dq mclpool limit reached
1780messages.
1781.It Cd options NKMEMPAGES=value
1782.It Cd options NKMEMPAGES_MIN=value
1783.It Cd options NKMEMPAGES_MAX=value
1784Size of kernel VM map
1785.Em kmem_map ,
1786in PAGE_SIZE-sized chunks (the VM page size; this value may be read
1787from the
1788.Xr sysctl 8
1789variable
1790.Em hw.pagesize
1791).
1792This VM map is used to map the kernel malloc arena.
1793The kernel attempts to auto-size this map based on the amount of
1794physical memory in the system.
1795Platform-specific code may place bounds on this computed size,
1796which may be viewed with the
1797.Xr sysctl 8
1798variable
1799.Em vm.nkmempages .
1800See
1801.Pa /usr/include/machine/param.h
1802for the default upper and lower bounds.
1803The related options
1804.Sq NKMEMPAGES_MIN
1805and
1806.Sq NKMEMPAGES_MAX
1807allow the bounds to be overridden in the kernel configuration file.
1808These options are provided in the event the computed value is
1809insufficient resulting in an
1810.Dq out of space in kmem_map
1811panic.
1812.It Cd options SB_MAX=value
1813Sets the max size in bytes that a socket buffer is allowed to occupy.
1814The default is 256k, but sometimes it needs to be increased, for example
1815when using large TCP windows.
1816This option can be changed via
1817.Xr sysctl 8
1818as well.
1819.It Cd options SOMAXKVA=value
1820Sets the maximum size of kernel virtual memory that the socket buffers
1821are allowed to use.
1822The default is 16MB, but in situations where for example large TCP
1823windows are used this value must also be increased.
1824This option can be changed via
1825.Xr sysctl 8
1826as well.
1827.It Cd options BUFCACHE=value
1828Size of the buffer cache as a percentage of total available
1829.Tn RAM .
1830Ignored if BUFPAGES is also specified.
1831.It Cd options NBUF=value
1832Sets the number of buffer headers available, i.e., the number of
1833open files that may have a buffer cache entry.
1834Each buffer header
1835requires MAXBSIZE (machine dependent, but usually 65536) bytes.
1836The default value is machine dependent, but is usually equal to the
1837value of BUFPAGES.
1838If an architecture dependent VM_MAX_KERNEL_BUF constant is defined
1839then NBUF may be reduced at run time so that the storage allocated
1840for buffer headers doesn't exceed that limit.
1841.It Cd options BUFPAGES=value
1842These options set the number of pages available for the buffer cache.
1843Their default value is a machine dependent value, often calculated as
1844between 5% and 10% of total available
1845.Tn RAM .
1846.It Cd options MAXTSIZ=bytes
1847Sets the maximum size limit of a process' text segment.
1848See
1849.Pa /usr/include/machine/vmparam.h
1850for the port-specific default.
1851.It Cd options DFLDSIZ=bytes
1852Sets the default size limit of a process' data segment, the value that
1853will be returned as the soft limit for
1854.Dv RLIMIT_DATA
1855(as returned by
1856.Xr getrlimit 2 ) .
1857See
1858.Pa /usr/include/machine/vmparam.h
1859for the port-specific default.
1860.It Cd options MAXDSIZ=bytes
1861Sets the maximum size limit of a process' data segment, the value that
1862will be returned as the hard limit for
1863.Dv RLIMIT_DATA
1864(as returned by
1865.Xr getrlimit 2 ) .
1866See
1867.Pa /usr/include/machine/vmparam.h
1868for the port-specific default.
1869.It Cd options DFLSSIZ=bytes
1870Sets the default size limit of a process' stack segment, the value that
1871will be returned as the soft limit for
1872.Dv RLIMIT_STACK
1873(as returned by
1874.Xr getrlimit 2 ) .
1875See
1876.Pa /usr/include/machine/vmparam.h
1877for the port-specific default.
1878.It Cd options MAXSSIZ=bytes
1879Sets the maximum size limit of a process' stack segment, the value that
1880will be returned as the hard limit for
1881.Dv RLIMIT_STACK
1882(as returned by
1883.Xr getrlimit 2 ) .
1884See
1885.Pa /usr/include/machine/vmparam.h
1886for the port-specific default.
1887.It Cd options DUMP_ON_PANIC=integer
1888Defaults to one.
1889If set to zero, the kernel will not dump to the dump device when
1890it panics, though dumps can still be forced via
1891.Xr ddb 4
1892with the
1893.Dq sync
1894command.
1895Note that this sets the value of the
1896.Em kern.dump_on_panic
1897.Xr sysctl 3
1898variable which may be changed at run time -- see
1899.Xr sysctl 8
1900for details.
1901.It Cd options USE_TOPDOWN_VM
1902User space memory allocations (as made by
1903.Xr mmap 2 )
1904will be arranged in a
1905.Dq top down
1906fashion instead of the traditional
1907.Dq upwards from MAXDSIZ \+ vm_daddr
1908method.
1909This includes the placement of
1910.Xr ld.so 1 .
1911Arranging memory in this manner allows either (or both of) the heap or
1912.Xr mmap 2
1913allocated space to grow larger than traditionally possible.
1914This option is not available on all ports, but is instead expected to be
1915offered on a port-by-port basis, after which some ports will commit to
1916using it by default.
1917See the files
1918.Pa /usr/include/uvm/uvm_param.h
1919for some implementation details, and
1920.Pa /usr/include/machine/vmparam.h
1921for port specific details including availability.
1922.El
1923.Ss amiga-specific Options
1924.Bl -ohang
1925.It Cd options BB060STUPIDROM
1926When the bootloader (which passes
1927.Tn AmigaOS
1928.Tn ROM
1929information) claims we have a 68060
1930.Tn CPU
1931without
1932.Tn FPU ,
1933go look into the Processor Configuration Register (PCR) to find out.
1934You need this with
1935.Tn Amiga
1936.Tn ROM Ns s
1937up to (at least) V40.xxx (OS3.1),
1938when you boot via the bootblocks and don't have a DraCo.
1939.It Cd options IOBZCLOCK=frequency
1940The IOBlix boards come with two different serial master clocks: older ones
1941use 24 MHz, newer ones use 22.1184 MHz.
1942The driver normally assumes the latter.
1943If your board uses 24 MHz, you can recompile your kernel with
1944options IOBZCLOCK=24000000
1945or patch the kernel variable
1946.Tn iobzclock
1947to the same value.
1948.It Cd options LIMITMEM=value
1949If there, limit the part of the first memory bank used by
1950.Nx
1951to value megabytes.
1952Default is unlimited.
1953.It Cd options NKPTADD=addvalue
1954.It Cd options NKPTADDSHIFT=shiftvalue
1955The
1956.Tn CPU
1957specific
1958.Tn MMU
1959table for the kernel is pre-allocated at kernel startup time.
1960Part of it is scaled with
1961.Va maxproc ,
1962to have enough room to hold the user program
1963.Tn MMU
1964tables; the second part is a fixed amount for the kernel itself.
1965.Pp
1966The third part accounts for the size of the file buffer cache.
1967Its size is either
1968.Dv NKPTADD
1969pages (if defined) or memory size in bytes divided by two to
1970the power of
1971.Dv NKPTADDSHIFT .
1972The default is undefined
1973.Dv NKPTADD
1974and
1975.Dv NKPTADDSHIFT=24 ,
1976allowing for 16 buffers per megabyte of main memory (while
1977a GENERIC kernel allocates about half of that).
1978When you get "can't get KPT page" panics, you should increase
1979.Dv NKPTADD
1980(if defined), or decrease
1981.Dv NKPTADDSHIFT
1982by one.
1983.It Cd options P5PPC68KBOARD
1984Add special support for Phase5 mixed 68k+PPC boards.
1985Currently, this only affects rebooting from
1986.Nx
1987and is only needed on 68040+PPC, not on
198868060+PPC; without this, affected machines will hang after
1989.Nx
1990has shut
1991down and will only restart after a keyboard reset or a power cycle.
1992.El
1993.Ss arm32-specific Options
1994.Bl -ohang
1995.It Cd options FRENCH_KBD
1996Include translation for French keyboards when using
1997.Em pccons
1998on a Shark.
1999.It Cd options FINNISH_KBD
2000Include translation for Finnish keyboards when using
2001.Em pccons
2002on a Shark.
2003.It Cd options GERMAN_KBD
2004Include translation for German keyboards when using
2005.Em pccons
2006on a Shark.
2007.It Cd options NORWEGIAN_KBD
2008Include translation for French keyboards when using
2009.Em pccons
2010on a Shark.
2011.El
2012.Ss atari-specific Options
2013.Bl -ohang
2014.It Cd options DISKLABEL_AHDI
2015Include support for AHDI (native Atari) disklabels.
2016.It Cd options DISKLABEL_NBDA
2017Include support for
2018.Nx Ns Tn /atari
2019labels.
2020If you don't set this option, it will be set automatically.
2021.Nx Ns Tn /atari
2022will not work without it.
2023.It Cd options FALCON_SCSI
2024Include support for the 5380-SCSI configuration as found on the Falcon.
2025.It Cd options RELOC_KERNEL
2026If set, the kernel will relocate itself to TT-RAM, if possible.
2027This will give you a slightly faster system.
2028.Em Beware
2029that on some TT030 systems,
2030the system will frequently dump with MMU-faults with this option enabled.
2031.It Cd options SERCONSOLE
2032Allow the modem1-port to act as the system-console.
2033A carrier should be active on modem1 during system boot to active
2034the console functionality.
2035.It Cd options TT_SCSI
2036Include support for the 5380-SCSI configuration as found on the TT030
2037and Hades.
2038.El
2039.Ss i386-specific Options
2040.Bl -ohang
2041.It Cd options I386_CPU,I486_CPU,I586_CPU,I686_CPU
2042Include support for a particular class of
2043.Tn CPU
2044.Po
2045.Tn i386 ,
2046.Tn i486 ,
2047.Tn Pentium ,
2048or
2049.Tn Pentium Pro
2050.Pc .
2051If the appropriate class for your
2052.Tn CPU
2053is not configured, the kernel will use the highest class available
2054that will work.
2055In general, using the correct
2056.Tn CPU
2057class will result in the best performance.
2058At least one of these options must be present.
2059.It Cd options CPURESET_DELAY=value
2060specifies the time (in millisecond) to wait before doing a hardware reset
2061in the last phase of a reboot.
2062This gives the user a chance to see error messages from the shutdown
2063operations (like NFS unmounts, buffer cache flush, etc ...).
2064Setting this to 0 will disable the delay.
2065Default is 2 seconds.
2066.It Cd options MATH_EMULATE
2067Include the floating point emulator.
2068This is useful only for
2069.Tn CPU Ns s
2070that lack an
2071internal Floating Point Unit
2072.Pq Tn FPU
2073or co-processor.
2074.It Cd options VM86
2075Include support for virtual 8086 mode, used by
2076.Tn DOS
2077emulators and X servers to run BIOS code, e.g., for some VESA routines.
2078.It Cd options USER_LDT
2079Include i386-specific system calls for modifying the local descriptor table,
2080used by Windows emulators.
2081.It Cd options REALBASEMEM=integer
2082Overrides the base memory size passed in from the boot block.
2083(Value given in kilobytes.)
2084Use this option only if the boot block reports the size incorrectly.
2085(Note that some
2086.Tn BIOS Ns es
2087put the extended
2088.Tn BIOS
2089data area at the top of base memory, and therefore report a smaller
2090base memory size to prevent programs overwriting it.
2091This is correct behavior, and you should not use the
2092.Em REALBASEMEM
2093option to access this memory).
2094.It Cd options REALEXTMEM=integer
2095Overrides the extended memory size passed in from the boot block.
2096(Value given in kilobytes.
2097Extended memory does not include the first megabyte.)
2098Use this option only if the boot block reports the size incorrectly.
2099.It Cd options FRENCH_KBD,FINNISH_KBD,GERMAN_KBD,NORWEGIAN_KBD
2100Select a non-US keyboard layout for the
2101.Em pccons
2102console driver.
2103.It Cd options CYRIX_CACHE_WORKS
2104Relevant only to the Cyrix 486DLC CPU.
2105This option is used to turn on the cache in hold-flush mode.
2106It is not turned on by default because it is known to have problems in
2107certain motherboard implementations.
2108.It Cd options CYRIX_CACHE_REALLY_WORKS
2109Relevant only to the Cyrix 486DLC CPU.
2110This option is used to turn on the cache in write-back mode.
2111It is not turned on by default because it is known to have problems in
2112certain motherboard implementations.
2113In order for this option to take effect, option
2114.Em CYRIX_CACHE_WORKS
2115must also be specified.
2116.It Cd options PCIBIOS
2117Enable support for initializing the
2118.Tn PCI
2119bus using information from the
2120.Tn BIOS .
2121See
2122.Xr pcibios 4
2123for details.
2124.It Cd options KSTACK_CHECK_DR0
2125Detect kernel stack overflow using DR0 register.
2126This option uses DR0 register exclusively so you can't use DR0 register for
2127other purpose (e.g., hardware breakpoint) if you turn this on.
2128.It Cd options MTRR
2129Include support for accessing MTRR registers from user-space.
2130See
2131.Xr i386_get_mtrr 2 .
2132.El
2133.Ss isa-specific Options
2134Options specific to
2135.Xr isa 4
2136busses.
2137.Bl -ohang
2138.It Cd options PCIC_ISA_ALLOC_IOBASE=address, PCIC_ISA_ALLOC_IOSIZE=size
2139Control the section of IO bus space used for PCMCIA bus space mapping.
2140Ideally the probed defaults are satisfactory, however in practice
2141that is not always the case.
2142See
2143.Xr pcmcia 4
2144for details.
2145.It Cd options PCIC_ISA_INTR_ALLOC_MASK=mask
2146Controls the allowable interrupts that may be used for
2147.Tn PCMCIA
2148devices.
2149This mask is a logical-or of power-of-2s of allowable interrupts:
2150.Bd -literal -offset 04n
2151.Em "IRQ Val      IRQ Val      IRQ Val       IRQ Val"
2152 0  0x0001    4  0x0010    8  0x0100    12  0x1000
2153 1  0x0002    5  0x0020    9  0x0200    13  0x2000
2154 2  0x0004    6  0x0040   10  0x0400    14  0x4000
2155 3  0x0008    7  0x0080   11  0x0800    15  0x8000
2156.Ed
2157.El
2158.Ss m68k-specific Options
2159.Bl -ohang
2160.It Cd options FPU_EMULATE
2161Include support for MC68881/MC68882 emulator.
2162.It Cd options FPSP
2163Include support for 68040 floating point.
2164.It Cd options M68020,M68030,M68040,M68060
2165Include support for a specific
2166.Tn CPU ,
2167at least one (the one you are using) should be specified.
2168.It Cd options M060SP
2169Include software support for 68060.
2170This provides emulation of unimplemented
2171integer instructions as well as emulation of unimplemented floating point
2172instructions and data types and software support for floating point traps.
2173.El
2174.Ss sparc-specific Options
2175.Bl -ohang
2176.It Cd options AUDIO_DEBUG
2177Enable simple event debugging of the logging of the
2178.Xr audio 4
2179device.
2180.It Cd options BLINK
2181Enable blinking of LED.
2182Blink rate is full cycle every N seconds for
2183N \*[Lt] then current load average.
2184See
2185.Xr getloadavg 3 .
2186.\" .It Cd options COLORFONT_CACHE
2187.\" What does this do?
2188.It Cd options COUNT_SW_LEFTOVERS
2189Count how many times the sw SCSI device has left 3, 2, 1 and 0 in the
2190sw_3_leftover, sw_2_leftover, sw_1_leftover, and sw_0_leftover
2191variables accessible from
2192.Xr ddb 4 .
2193See
2194.Xr sw 4 .
2195.It Cd options DEBUG_ALIGN
2196Adds debugging messages calls when user-requested alignment fault
2197handling happens.
2198.It Cd options DEBUG_EMUL
2199Adds debugging messages calls for emulated floating point and
2200alignment fixing operations.
2201.It Cd options DEBUG_SVR4
2202Prints registers messages calls for emulated SVR4 getcontext and
2203setcontext operations.
2204See
2205.Em options COMPAT_SVR4 .
2206.It Cd options EXTREME_DEBUG
2207Adds debugging functions callable from
2208.Xr ddb 4 .
2209The debug_pagetables, test_region and print_fe_map
2210functions print information about page tables for the SUN4M
2211platforms only.
2212.It Cd options EXTREME_EXTREME_DEBUG
2213Adds extra info to
2214.Em options EXTREME_DEBUG .
2215.It Cd options FPU_CONTEXT
2216Make
2217.Em options COMPAT_SVR4
2218getcontext and setcontext include floating point registers.
2219.It Cd options MAGMA_DEBUG
2220Adds debugging messages to the
2221.Xr magma 4
2222device.
2223.It Cd options RASTERCONS_FULLSCREEN
2224Use the entire screen for the console.
2225.It Cd options RASTERCONS_SMALLFONT
2226Use the Fixed font on the console, instead of the normal font.
2227.It Cd options SUN4
2228Support sun4 class machines.
2229.It Cd options SUN4C
2230Support sun4c class machines.
2231.It Cd options SUN4M
2232Support sun4m class machines.
2233.It Cd options SUN4_MMU3L
2234.\" XXX ???
2235Enable support for sun4 3-level MMU machines.
2236.It Cd options V9
2237Enable SPARC V9 assembler in
2238.Xr ddb 4 .
2239.El
2240.Ss sparc64-specific Options
2241.Bl -ohang
2242.It Cd options AUDIO_DEBUG
2243Enable simple event debugging of the logging of the
2244.Xr audio 4
2245device.
2246.It Cd options BLINK
2247Enable blinking of LED.
2248Blink rate is full cycle every N seconds for
2249N \*[Lt] then current load average.
2250See
2251.Xr getloadavg 3 .
2252.El
2253.Ss x68k-specific Options
2254.Bl -ohang
2255.It Cd options EXTENDED_MEMORY
2256Include support for extended memory, e.g., TS-6BE16 and 060turbo on-board.
2257.It Cd options JUPITER
2258Include support for Jupiter-X MPU accelerator
2259.It Cd options ZSCONSOLE,ZSCN_SPEED=value
2260Use the built-in serial port as the system-console.
2261Speed is specified in bps, defaults to 9600.
2262.It Cd options ITE_KERNEL_ATTR=value
2263Set the kernel message attribute for ITE.
2264Value, an integer, is a logical or of the following values:
2265.Bl -tag -width 4n -compact -offset indent
2266.It 1
2267color inversed
2268.It 2
2269underlined
2270.It 4
2271bolded
2272.El
2273.El
2274.\" The following requests should be uncommented and used where appropriate.
2275.\" .Sh FILES
2276.\" .Sh EXAMPLES
2277.Sh SEE ALSO
2278.Xr gdb 1 ,
2279.Xr ktrace 1 ,
2280.Xr pmc 1 ,
2281.Xr quota 1 ,
2282.Xr gettimeofday 2 ,
2283.Xr i386_get_mtrr 2 ,
2284.Xr i386_iopl 2 ,
2285.Xr msgctl 2 ,
2286.Xr msgget 2 ,
2287.Xr msgrcv 2 ,
2288.Xr msgsnd 2 ,
2289.Xr ntp_adjtime 2 ,
2290.Xr ntp_gettime 2 ,
2291.Xr semctl 2 ,
2292.Xr semget 2 ,
2293.Xr semop 2 ,
2294.Xr shmat 2 ,
2295.Xr shmctl 2 ,
2296.Xr shmdt 2 ,
2297.Xr shmget 2 ,
2298.Xr sysctl 3 ,
2299.Xr apm 4 ,
2300.Xr ddb 4 ,
2301.Xr inet 4 ,
2302.Xr iso 4 ,
2303.Xr lkm 4 ,
2304.Xr md 4 ,
2305.Xr ns 4 ,
2306.Xr pcibios 4 ,
2307.Xr pcmcia 4 ,
2308.Xr ppp 4 ,
2309.Xr userconf 4 ,
2310.Xr wscons 4 ,
2311.Xr config 8 ,
2312.Xr edquota 8 ,
2313.Xr init 8 ,
2314.Xr mdsetimage 8 ,
2315.Xr mount_cd9660 8 ,
2316.Xr mount_fdesc 8 ,
2317.Xr mount_kernfs 8 ,
2318.Xr mount_lfs 8 ,
2319.Xr mount_mfs 8 ,
2320.Xr mount_msdos 8 ,
2321.Xr mount_nfs 8 ,
2322.Xr mount_ntfs 8 ,
2323.Xr mount_null 8 ,
2324.Xr mount_portal 8 ,
2325.Xr mount_procfs 8 ,
2326.Xr mount_umap 8 ,
2327.Xr mount_union 8 ,
2328.Xr mrouted 8 ,
2329.Xr newfs_lfs 8 ,
2330.Xr ntpd 8 ,
2331.Xr quotaon 8 ,
2332.Xr rpc.rquotad 8 ,
2333.Xr sysctl 8
2334.Sh HISTORY
2335The
2336.Nm
2337man page first appeared in
2338.Nx 1.3 .
2339.Sh BUGS
2340The
2341.Em INET
2342option should not be required.
2343The
2344.Em EON
2345option should be a pseudo-device, and is also very fragile.
2346