xref: /openbsd-src/share/man/man4/options.4 (revision a28daedfc357b214be5c701aa8ba8adb29a7f1c2)
1.\"	$OpenBSD: options.4,v 1.191 2008/09/06 14:04:48 jmc Exp $
2.\"	$NetBSD: options.4,v 1.21 1997/06/25 03:13:00 thorpej Exp $
3.\"
4.\" Copyright (c) 1998 Theo de Raadt
5.\" Copyright (c) 1998 Todd Miller
6.\" Copyright (c) 1998 Gene Skonicki
7.\" Copyright (c) 1996
8.\" 	Perry E. Metzger.  All rights reserved.
9.\"
10.\" Redistribution and use in source and binary forms, with or without
11.\" modification, are permitted provided that the following conditions
12.\" are met:
13.\" 1. Redistributions of source code must retain the above copyright
14.\"    notice, this list of conditions and the following disclaimer.
15.\" 2. Redistributions in binary form must reproduce the above copyright
16.\"    notice, this list of conditions and the following disclaimer in the
17.\"    documentation and/or other materials provided with the distribution.
18.\" 3. All advertising materials mentioning features or use of this software
19.\"    must display the following acknowledgment:
20.\"	This product includes software developed for the NetBSD Project
21.\"	by Perry E. Metzger.
22.\" 4. The name of the author may not be used to endorse or promote products
23.\"    derived from this software without specific prior written permission.
24.\"
25.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
26.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
27.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
28.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
29.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
30.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
31.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
32.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
33.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
34.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
35.\"
36.\"
37.Dd $Mdocdate: September 6 2008 $
38.Dt OPTIONS 4
39.Os
40.Sh NAME
41.Nm options
42.Nd kernel configuration options
43.Sh SYNOPSIS
44.Cd option ...
45.Sh DESCRIPTION
46This manual page describes a number of miscellaneous kernel
47configuration options that may be specified in a kernel config file.
48See
49.Xr config 8
50for information on how to configure and build kernels.
51.Em Note:
52options are passed to the compile process as
53.Fl D
54flags to the C compiler.
55.Sh COMPATIBILITY OPTIONS
56.Bl -ohang
57.It Cd option COMPAT_43
58Use of this option is discouraged.
59It enables compatibility with
60.Bx 4.3 .
61It adds an old syscall for
62.Fn lseek
63as well as ioctls for
64.Dv TIOCGETP
65and
66.Dv TIOCSETP .
67The return values for the
68.Xr getpid 2 ,
69.Xr getgid 2 ,
70and
71.Xr getuid 2
72system calls are modified as well, to return the parent's PID and UID as well
73as the current process's.
74It also enables the deprecated
75.Dv NTTYDISC
76terminal line discipline.
77It provides backwards compatibility with the
78.Dq old
79SIOC[GS]IF{ADDR,DSTADDR,BRDADDR,NETMASK} interface ioctls, including
80binary compatibility for code written before the introduction of the
81.Li sa_len
82field in sockaddrs.
83It also enables support for some older pre
84.Bx 4.4
85socket calls.
86.It Cd option COMPAT_AOUT
87On those ELF architectures that require it, this enables
88full compatibility with old a.out binaries, by allowing the
89a.out dynamic linking system to reside under
90.Pa /emul/a.out .
91This option is available on the i386 architecture.
92See
93.Xr compat_aout 8 .
94.It Cd option COMPAT_BSDOS
95On those architectures that support it, this enables binary
96compatibility with
97.Em BSD/OS
98applications.
99This option is supported on the i386 architecture.
100See
101.Xr compat_bsdos 8 .
102It also requires the use of
103.Cm option COMPAT_43
104for proper operation.
105.It Cd option COMPAT_FREEBSD
106On those architectures that support it, this enables binary
107compatibility with
108.Em FreeBSD
109applications built for the same architecture.
110This option is available on the i386 architecture.
111See
112.Xr compat_freebsd 8 .
113.It Cd option COMPAT_HPUX
114On those architectures that support it, this enables binary
115compatibility with
116.Em HP-UX
117applications built for the same architecture.
118This option is available on some m68k and hppa architectures.
119See
120.Xr compat_hpux 8 .
121.It Cd option COMPAT_IBCS2
122On those architectures that support it, this enables binary
123compatibility with
124.Em iBCS2
125applications built for the same architecture.
126This option is available on the i386 architecture.
127See
128.Xr compat_ibcs2 8 .
129.It Cd option COMPAT_LINUX
130On those architectures that support it, this enables binary
131compatibility with
132.Em Linux
133ELF and a.out
134applications built for the same architecture.
135This option is supported on the i386 architecture.
136See
137.Xr compat_linux 8 .
138.It Cd option COMPAT_O43
139Enables compatibility with
140.Ox 4.3 .
141This makes it possible to run binaries that use old versions of the
142.Xr statfs 2 ,
143.Xr fstatfs 2 ,
144and
145.Xr getfsstat 2
146system calls which were replaced in
147.Ox 4.4
148when struct stat was expanded.
149.It Cd option COMPAT_OSF1
150On those architectures that support it, this enables binary
151compatibility with
152.Em Digital UNIX
153(formerly
154.Em OSF/1 )
155applications built for the same architecture.
156This option is available on the alpha architecture.
157See
158.Xr compat_osf1 8 .
159.It Cd option COMPAT_SUNOS
160On those architectures that support it, this enables binary
161compatibility with
162.Em SunOS 4.x
163applications built for the same architecture.
164This option is supported on sparc and all m68k architectures.
165See
166.Xr compat_sunos 8 .
167.It Cd option COMPAT_SVR4
168On those architectures that support it, this enables binary
169compatibility with
170.At V.4
171binaries built for the same architecture.
172This currently includes the sparc and i386.
173Possibly the most widely known operating system
174based on this binary architecture is Sun's Solaris 2.x.
175See
176.Xr compat_svr4 8 .
177.It Cd option COMPAT_ULTRIX
178On those architectures that support it, this enables binary
179compatibility with Ultrix applications built for the same architecture.
180This option is available on the vax architecture.
181See
182.Xr compat_ultrix 8 .
183.El
184.Sh DEBUGGING OPTIONS
185.Bl -ohang
186.It Cd makeoptions DEBUG="-g"
187The
188.Fl g
189flag causes
190.Pa bsd.gdb
191to be built in addition to
192.Pa bsd .
193.Pa bsd.gdb
194is useful for debugging kernels and their crash dumps with gdb.
195A crash dump can be debugged by starting
196.Xr gdb 1
197with the kernel name
198.Pf ( Pa bsd.gdb )
199as an argument (no core file) and then use the
200.Xr gdb 1
201command
202.Dq target kvm COREFILE .
203.It Cd makeoptions PROF="-pg"
204The
205.Fl pg
206flag causes the kernel to be compiled with support for profiling.
207The
208.Cm option GPROF
209is required for the kernel compile to succeed.
210.It Cd option ACCOUNTING
211Adds support for the
212.Xr acct 2
213system call.
214.It Cd option DDB
215Compiles in a kernel debugger for diagnosing kernel problems.
216See
217.Xr ddb 4
218for details.
219.Em Note:
220not available on all architectures.
221.It Cd option DDB_SAFE_CONSOLE
222Allows a break into the kernel debugger during boot.
223Useful when debugging problems that can cause init(8) to fail.
224.It Cd option DEBUG
225Turns on miscellaneous kernel debugging.
226Since options are turned into preprocessor defines (see above),
227.Cm option DEBUG
228is equivalent to doing a
229.Em #define DEBUG
230throughout the kernel.
231Much of the kernel has
232.Em #ifdef DEBUG
233conditional debugging code.
234Note that many parts of the kernel (typically device drivers) include their own
235.Em #ifdef XXX_DEBUG
236conditionals instead.
237This option also turns on certain other options, notably
238.Cm option KMEMSTATS .
239.It Cd option DIAGNOSTIC
240Adds code to the kernel that does internal consistency checks.
241This code will cause the kernel to panic if corruption of internal data
242structures is detected.
243.It Cd option GPROF
244Adds code to the kernel for kernel profiling with
245.Xr kgmon 8 .
246.It Cd option KGDB
247Compiles in a remote kernel debugger stub for diagnosing kernel problems
248using the
249.Dq remote target
250feature of gdb.
251See
252.Xr kgdb 7
253for details.
254.Em Note:
255not available on all architectures.
256.It Cd option KTRACE
257Adds hooks for the system call tracing facility, which allows users to
258watch the system call invocation behavior of processes.
259See
260.Xr ktrace 1
261for details.
262.It Cd option NO_PROPOLICE
263Do not compile the kernel with the ProPolice stack protection.
264See
265.Xr gcc-local 1
266for more information about ProPolice.
267.It Cd option PTRACE
268Adds hooks for the process tracing facility, allowing a process to
269control and observe another process.
270See
271.Xr ptrace 2
272for details.
273.It Cd option RAIDDEBUG
274Be verbose on what RAIDframe does.
275See
276.Xr raid 4
277for details.
278.It Cd option SMALL_KERNEL
279Removes some features and some optimizations from the kernel to reduce the
280size of the resulting kernel binary.
281This option is used on some installation media and should not be used
282for general purpose kernels.
283.It Cd option VFSDEBUG
284Turns on debugging for the Virtual File System interface.
285See
286.Xr vfs 9
287for details.
288.El
289.Sh FILE SYSTEMS
290.Bl -ohang
291.It Cd option CD9660
292Includes code for the ISO 9660 + Rock Ridge file system, which is the
293standard file system used on many CD-ROMs.
294It also supports Joliet extensions.
295See
296.Xr mount_cd9660 8
297for details.
298.It Cd option EXT2FS
299Includes code implementing the Second Extended File System
300.Em ( EXT2FS ) .
301This is the most commonly used file system on the Linux operating system,
302and is provided here for compatibility.
303Some specific features of
304.Em EXT2FS
305like the "behavior on errors" are not implemented.
306This file system
307can't be used with
308.Li uid_t
309or
310.Li gid_t
311values greater than 65535.
312Also, the filesystem will not function correctly on architectures with
313differing byte-orders.
314That is, a big-endian machine will not be able to read an
315ext2fs filesystem created on an i386 or other little-endian machine.
316See
317.Xr mount_ext2fs 8
318for details.
319.It Cd option FFS
320Includes code implementing the Berkeley Fast File System
321.Em ( FFS ) .
322Most machines need this if they are not running diskless.
323.It Cd option FFS2
324Includes code implementing the enhanced Fast File System
325.Em ( FFS2 ) .
326.It Cd option MFS
327Include the memory file system
328.Em ( MFS ) .
329This file system stores files in swappable memory, and produces
330notable performance improvements when it is used as the file store
331for
332.Pa /tmp
333or similar mount points.
334See
335.Xr mount_mfs 8
336for details.
337.It Cd option MSDOSFS
338Includes support for the MS-DOS FAT file system.
339The kernel also implements the Windows 95
340extensions which permit the use of longer, mixed-case file names.
341See
342.Xr mount_msdos 8
343and
344.Xr fsck_msdos 8
345for details.
346.It Cd option NFSCLIENT
347Include the client side of the
348.Em NFS
349(Network File System) remote file sharing protocol.
350Although the bulk of the code implementing
351.Em NFS
352is kernel based, several user level daemons are needed for it to work.
353See
354.Xr mount_nfs 8
355for details on NFS.
356.It Cd option NTFS
357Includes support for reading NTFS file systems.
358Experimental and read only.
359See
360.Xr mount_ntfs 8
361for details.
362.It Cd option PORTAL
363Includes the (experimental) portal filesystem.
364This permits interesting tricks like opening TCP sockets by opening files in
365the file system.
366The portal file system is conventionally mounted on
367.Pa /p
368and is partially implemented by a special daemon.
369See
370.Xr mount_portal 8
371for details.
372.It Cd option PROCFS
373Includes code for a special file system (conventionally mounted on
374.Pa /proc )
375in which the process space becomes visible in the file system.
376Among other things, the memory spaces of processes running on the system are
377visible as files, and signals may be sent to processes by writing to
378.Pa ctl
379files in the procfs namespace.
380See
381.Xr mount_procfs 8
382for details.
383.It Cd option UDF
384Includes code for the UDF file systems typically found on DVD discs.
385See
386.Xr mount_udf 8
387for details.
388.It Cd option XFS
389Includes the kernel support for the AFS-compatible Arla filesystem.
390Since the xfs interface is simple and generic it can be used for other
391filesystems as well.
392See
393.Xr mount_xfs 8
394for details.
395.El
396.Sh FILE SYSTEM OPTIONS
397.Bl -ohang
398.It Cd option BUFCACHEPERCENT= Ns Ar integer
399Percentage of RAM to use as a file system buffer.
400It defaults to 5.
401.It Cd option EXT2FS_SYSTEM_FLAGS
402This option changes the behavior of the APPEND and IMMUTABLE flags
403for a file on an
404.Em EXT2FS
405filesystem.
406Without this option, the superuser or owner of the file can set and clear them.
407With this option, only the superuser can set them, and they can't be cleared
408if the securelevel is greater than 0.
409See also
410.Xr chflags 1 .
411.It Cd option FFS_SOFTUPDATES
412Enables a scheme that uses partial ordering of buffer cache operations
413to allow metadata updates in FFS to happen asynchronously, increasing write
414performance significantly.
415Normally, the FFS filesystem writes metadata updates synchronously which exacts
416a performance penalty in favor of filesystem integrity.
417With soft updates, the performance of asynchronous writes is gained while
418retaining the safety of synchronous metadata updates.
419.Pp
420Soft updates must be enabled on a per-filesystem basis.
421See
422.Xr mount 8
423for details.
424.Pp
425Processors with a small kernel address space, such as the sun4 and sun4c, do
426not have enough kernel memory to support soft updates.
427Attempts to use this option with these CPUs will cause a kernel hang or panic
428after a short period of use as the kernel will quickly run out of memory.
429This is not related to the amount of physical memory present in the machine --
430it is a limitation of the CPU architecture itself.
431.It Cd option FIFO
432Adds support for
433.At V
434style FIFOs (i.e.,
435.Dq named pipes ) .
436This option is recommended in almost all cases as many programs use these.
437.It Cd option NFSSERVER
438Include the server side of the
439.Em NFS
440(Network File System) remote file sharing protocol.
441Although the bulk of the code implementing
442.Em NFS
443is kernel based, several user level daemons are needed for it to
444work.
445See
446.Xr mountd 8
447and
448.Xr nfsd 8
449for details.
450.It Cd option QUOTA
451Enables kernel support for file system quotas.
452See
453.Xr quotaon 8 ,
454.Xr edquota 8 ,
455.Xr repquota 8 ,
456and
457.Xr quota 1
458for details.
459Note that quotas only work on
460.Dq ffs
461file systems, although
462.Xr rpc.rquotad 8
463permits them to be accessed over
464.Em NFS .
465.It Cd option UFS_DIRHASH
466This option enables using an in memory hash table to speed lookups
467in large directories.
468.El
469.Sh MISCELLANEOUS OPTIONS
470.Bl -ohang
471.It Cd option APERTURE
472Provide in-kernel support for controlling VGA framebuffer mapping
473and PCI configuration registers by user-processes
474(such as an X Window System server).
475This option is supported on the
476.Va alpha ,
477.Va amd64 ,
478.Va i386 ,
479.Va macppc ,
480and
481.Va sparc64
482architectures.
483.It Cd option BOOT_CONFIG
484Adds support for the
485.Fl c
486boot option (User Kernel Config).
487Allows modification of kernel settings (e.g., device parameters) before
488booting the system.
489.It Cd option CCDNBUF= Ns Ar integer
490The
491.Xr ccd 4
492device driver uses
493.Dq component buffers
494to distribute I/O requests to the components of a concatenated disk.
495It keeps a freelist of buffer
496headers in order to reduce use of the kernel memory allocator.
497.Em CCDNBUF
498is the number of buffer headers allocated on the freelist for
499each component buffer.
500It defaults to 8.
501.It Cd option CRYPTO
502Enables support for the kernel cryptographic framework.
503See
504.Xr crypto 9
505for details.
506While not IP specific, this option is usually used in conjunction with option
507.Em IPSEC .
508.It Cd option EISAVERBOSE
509Makes the boot process more verbose for EISA peripherals.
510.It Cd option INSECURE
511Hardwires the kernel security level at \-1.
512This means that the system always runs in securelevel 0 mode, even when
513running multiuser.
514See
515.Xr init 8
516for details on the implications of this.
517The kernel secure level may be manipulated by the superuser by altering the
518.Em kern.securelevel
519sysctl variable.
520(It should be noted that the securelevel may only be lowered by a call from
521process ID 1, i.e.,
522.Xr init 8 . )
523See also
524.Xr sysctl 8
525and
526.Xr sysctl 3 .
527.It Cd option KMEMSTATS
528The kernel memory allocator,
529.Xr malloc 9 ,
530will keep statistics on its performance if this option is enabled.
531Note that this option is silently turned on by the
532.Cm DEBUG
533option.
534.It Cd option LKM
535Enables support for loadable kernel modules.
536See
537.Xr lkm 4
538for details.
539.Em Note:
540This option is not yet available on all architectures.
541.It Cd option MACOBIOVERBOSE
542Makes the boot process more verbose for OBIO peripherals on the
543.Va macppc
544architecture.
545.It Cd option MULTIPROCESSOR
546On those architectures that have it, this enables multiprocessor support.
547.It Cd option PCIVERBOSE
548Makes the boot process more verbose for PCI peripherals
549(vendor names and other information is printed, etc.).
550.It Cd option PCMCIAVERBOSE
551Makes the boot process more verbose for PCMCIA peripherals.
552.It Cd option RAID_AUTOCONFIG
553Adds support for auto-configuring the RAIDframe devices during the kernel
554initialization.
555See
556.Xr raid 4
557and
558.Xr raidctl 8
559for details.
560.It Cd option USER_LDT
561Enable userland manipulation of per-process
562Local Descriptor Table (LDT) entries;
563see
564.Xr i386_set_ldt 2
565and the
566.Va machdep.userldt
567.Xr sysctl 8 .
568This option is supported on the
569.Va i386
570architecture.
571.It Cd option USER_PCICONF
572Enables the user level access to the PCI bus configuration space
573through ioctls on the
574.Pa /dev/pci
575device.
576It's used by the
577.Xr Xorg 1
578server on some architectures.
579See
580.Xr pci 4
581for details.
582.It Cd option UVM_SWAP_ENCRYPT
583Enables kernel support for encrypting pages that are written out to
584swap storage.
585Swap encryption prevents sensitive data from remaining
586on the disk even after the operating system has been shut down.
587This option should be turned on if cryptographic filesystems are used.
588The sysctl variable
589.Em vm.swapencrypt.enable
590controls its behaviour.
591See
592.Xr sysctl 8
593and
594.Xr sysctl 3
595for details.
596.El
597.Sh NETWORKING OPTIONS
598.Bl -ohang
599.It Cd option ALTQ
600Enables ALTQ (Alternate Queuing).
601See
602.Xr pfctl 8
603and
604.Xr pf.conf 5
605to set up the interface transmission rate and queueing disciplines.
606.Em ALTQ_CBQ ,
607.Em ALTQ_RED ,
608.Em ALTQ_PRIQ
609and
610.Em ALTQ_HFSC
611are enabled by default with option
612.Em ALTQ
613in
614.Ox .
615See
616.Xr altq 9
617for details on ALTQ.
618.It Cd option ALTQ_NOPCC
619Disables use of processor cycle counter (e.g., Pentium TSC on i386 and
620PCC on alpha) to measure time in ALTQ.
621This option should be defined for a non-Pentium i386 CPU which does not
622have TSC, SMP (per-CPU counters are not in sync), or power management
623which affects processor cycle counter.
624.It Cd option ALTQ_RIO
625Enables ALTQ's RIO (RED with In/Out) module.
626The original RIO has 2 sets of RED parameters; one for in-profile
627packets and the other for out-of-profile packets.
628At the ingress of the network, profile meters tag packets as IN or
629OUT based on contracted profiles for customers.
630Inside the network, IN packets receive preferential treatment by
631the RIO dropper.
632ALTQ/RIO has 3 drop precedence levels defined for the Assured Forwarding
633PHB of DiffServ (RFC 2597).
634.It Cd option ENCDEBUG
635This option enables debugging information to be conditionally logged
636in case IPSEC encounters errors.
637The option
638.Em IPSEC
639is required along with this option.
640Debug logging can be turned on/off through the use of the
641.Em net.inet.ip.encdebug
642sysctl variable.
643If
644.Em net.ipsec.encap.encdebug
645is 1, debug logging is on.
646See
647.Xr sysctl 8
648and
649.Xr sysctl 3
650for details.
651.It Cd option INET
652Includes support for the TCP/IP protocol stack.
653This option is currently required.
654See
655.Xr inet 4
656for details.
657.It Cd option INET6
658Includes support for the IPv6 protocol stack.
659See
660.Xr inet6 4
661for details.
662Unlike
663.Em INET ,
664.Em INET6
665enables multicast routing code as well.
666This option requires
667.Em INET
668at this moment, but it should not.
669.It Cd option IPSEC
670This option enables IP security protocol support.
671See
672.Xr ipsec 4
673for more details.
674.It Cd option KEY
675Enables PFKEYv2 (RFC 2367) support.
676While not IP specific, this option is usually used in conjunction with option
677.Em IPSEC .
678.It Cd option MROUTING
679Includes support for IP multicast routers.
680.Em INET
681should be set along with this.
682Multicast routing is controlled by the
683.Xr mrouted 8
684daemon.
685.It Cd option ND6_DEBUG
686The option sets the default value of
687.Em net.inet6.icmp6.nd6_debug
688to 1,
689for debugging IPv6 neighbor discovery protocol handling.
690See
691.Xr sysctl 3
692for details.
693.It Cd option NETATALK
694Include kernel support for the AppleTalk family of protocols.
695This suite of supporting code is sometimes called
696.Em netatalk
697support.
698.It Cd option PPP_BSDCOMP
699Enables BSD compressor for PPP connections.
700.It Cd option PPP_DEFLATE
701For use in conjunction with PPP_BSDCOMP; provides an interface to zlib for PPP
702for deflate compression/decompression.
703.It Cd option TCP_ECN
704Turns on Explicit Congestion Notification (RFC 3168).
705.Em ECN
706allows intermediate routers to use the Congestion Experienced
707codepoint in the IP header as an indication of congestion, and allows
708TCP to adjust the transmission rate using this signal.
709Both communication endpoints negotiate enabling
710.Em ECN
711functionality at the TCP connection establishment.
712.It Cd option TCP_FACK
713Turns on forward acknowledgements allowing a more precise estimate of
714outstanding data during the fast recovery phase by using
715.Em SACK
716information.
717This option can only be used together with
718.Em TCP_SACK .
719.It Cd option TCP_SACK
720Turns on selective acknowledgements.
721Additional information about
722segments already received can be transmitted back to the sender,
723thus indicating segments that have been lost and allowing for
724a swifter recovery.
725Both communication endpoints need to support
726.Em SACK .
727The fallback behaviour is NewReno fast recovery phase, which allows
728one lost segment to be recovered per round trip time.
729When more than one segment has been dropped per window, the transmission can
730continue without waiting for a retransmission timeout.
731.It Cd option TCP_SIGNATURE
732Turns on support for the TCP MD5 Signature option (RFC 2385).
733This is used by
734Internet backbone routers to provide per-packet authentication for the TCP
735packets used to communicate BGP routing information.
736You will also need a
737routing daemon that supports this option in order to actually use it.
738.El
739.Sh OPERATION RELATED OPTIONS
740.Bl -ohang -compact
741.It Cd option APM_NOPRINT
742This option is supported on the i386 architecture.
743When enabled, kernel messages regarding the status of the automatic power
744management system (APM) are suppressed.
745APM status can still be obtained using
746.Xr apm 8
747and/or
748.Xr apmd 8 .
749.Pp
750.It Cd option BUFPAGES= Ns Ar value
751.It Cd option NBUF= Ns Ar value
752These options set the number of pages available for the buffer cache.
753Their default value is a machine dependent value, often calculated as
754between 5% and 10% of total available RAM.
755.Pp
756.It Cd option DST= Ns Ar value
757If
758.Ar value
759is non-zero, indicates that the hardware realtime clock device
760is one hour ahead of the offset given in
761.Sq TIMEZONE ,
762due to Daylight Saving Time (DST).
763If
764.Ar value
765is zero, the hardware realtime clock device is not in Daylight Saving Time.
766.Pp
767.It Cd option NKMEMPAGES= Ns Ar value
768.It Cd option NKMEMPAGES_MAX= Ns Ar value
769.It Cd option NKMEMPAGES_MIN= Ns Ar value
770Size of kernel malloc area in PAGE_SIZE-sized logical pages.
771This area is covered by the kernel submap
772.Em kmem_map .
773The kernel attempts to auto-size this map based on the amount of
774physical memory in the system.
775Platform-specific code may place bounds on this computed size,
776which may be viewed with the
777.Xr sysctl 8
778variable
779.Em vm.nkmempages .
780See
781.Pa /usr/include/machine/param.h
782for the default upper and lower bounds.
783The related options
784.Sq NKMEMPAGES_MIN
785and
786.Sq NKMEMPAGES_MAX
787allow the bounds to be overridden in the kernel configuration file.
788These options are provided in the event the computed value is
789insufficient resulting in an
790.Dq out of space in kmem_map
791panic.
792.Pp
793.It Cd option \&"TIMEZONE= Ns Ar value Ns Cm \&"
794.Ar value
795indicates the time zone offset of the hardware realtime clock device,
796in minutes,
797from UTC.
798It is useful when the hardware realtime clock device is configured
799with local time,
800when dual-booting
801.Ox
802with other operating systems on a single machine.
803For instance, if the hardware realtime clock is set to Tokyo time,
804.Ar value
805should be
806.Li \&-540
807as Tokyo local time is 9 hours ahead of UTC.
808Double quotes are needed when specifying a negative
809.Ar value .
810.El
811.Sh SCSI SUBSYSTEM OPTIONS
812.Bl -ohang
813.It Cd option SCSI_DELAY= Ns Ar value
814Delay for
815.Ar value
816seconds before starting to probe the first SCSI bus.
817This can be used if a SCSI device needs extra time to get ready.
818.It Cd option SCSIDEBUG
819Enable printing of SCSI subsystem debugging info to the console.
820Each of
821.Em SCSIDEBUG_LEVEL ,
822.Em SCSIDEBUG_BUSES ,
823.Em SCSIDEBUG_TARGETS
824and
825.Em SCSIDEBUG_LUNS
826must have non-zero values for any debugging info to be printed.
827Only
828.Em SCSIDEBUG_LEVEL
829.It Cd option SCSIDEBUG_BUSES= Ns Ar value
830Define which SCSI buses will print debug info.
831Each bit enables debugging info for the corresponding bus.
832e.g. a value of 0x1 enables debug info for bus 0.
833has a default value that is non-zero.
834.It Cd option SCSIDEBUG_LEVEL= Ns Ar value
835Define which of the four levels of debugging info are printed.
836Each bit enables a level, and multiple levels are specified by setting multiple
837bits.
838.Bd -literal -offset indent
8390x0010	(SDEV_DB1) SCSI commands, errors, and data
8400x0020	(SDEV_DB2) routine flow
8410x0040	(SDEV_DB3) routine internals
8420x0080	(SDEV_DB4) miscellaneous addition debugging
843.Ed
844.Pp
845If
846.Em SCSIDEBUG_LEVEL
847is undefined, a value of 0x0030 (SDEV_DB1|SDEV_DB2) is used.
848.It Cd option SCSIDEBUG_LUNS= Ns Ar value
849Define which SCSI luns will print debug info.
850Each bit enables debugging info for the corresponding lun.
851.It Cd option SCSIDEBUG_TARGETS= Ns Ar value
852Define which SCSI targets will print debug info.
853Each bit enables debugging info for the corresponding target.
854.It Cd option SCSITERSE
855Terser SCSI error messages.
856This omits the table for decoding ASC/ASCQ info, saving about 30KB.
857.El
858.Sh SYSTEM V IPC OPTIONS
859.Bl -ohang
860.It Cd option SEMMNI= Ns Ar value
861Number of semaphore identifiers (also called semaphore handles
862and semaphore sets) available in the system.
863Default value is 10.
864The kernel allocates memory for the control structures at startup,
865so arbitrarily large values should be avoided.
866.It Cd option SEMMNS= Ns Ar value
867Maximum number of semaphores in all sets in the system.
868Default value is 60.
869.It Cd option SEMMNU= Ns Ar value
870Maximum number of semaphore undo structures in the system.
871Default value is 30.
872.It Cd option SEMUME= Ns Ar value
873Maximum number of per-process undo operation entries in the
874system.
875Semaphore undo operations are invoked by the kernel when
876.Xr semop 2
877is called with the SEM_UNDO flag and the process holding
878the semaphores terminates unexpectedly.
879Default value is 10.
880.It Cd option SHMMAXPGS= Ns Ar value
881Sets the maximum number of
882.At V
883style shared memory pages that are available through the
884.Xr shmget 2
885system call.
886Default value is 1024 on most architectures.
887See
888.Pa /usr/include/machine/vmparam.h
889for the default.
890.It Cd option SYSVMSG
891Includes support for
892.At V
893style message queues.
894See
895.Xr msgctl 2 ,
896.Xr msgget 2 ,
897.Xr msgrcv 2 ,
898.Xr msgsnd 2 .
899.It Cd option SYSVSEM
900Includes support for
901.At V
902style semaphores.
903See
904.Xr semctl 2 ,
905.Xr semget 2 ,
906.Xr semop 2 .
907.It Cd option SYSVSHM
908Includes support for
909.At V
910style shared memory.
911See
912.Xr shmat 2 ,
913.Xr shmctl 2 ,
914.Xr shmdt 2 ,
915.Xr shmget 2 .
916.El
917.Sh SEE ALSO
918.Xr intro 4 ,
919.Xr files.conf 5 ,
920.Xr config 8 ,
921.Xr sysctl 8
922.Sh HISTORY
923The
924.Nm
925man page first appeared in
926.Ox 2.3 .
927.Sh BUGS
928The
929.Em INET
930option should not be required.
931