xref: /openbsd-src/share/man/man4/options.4 (revision 43003dfe3ad45d1698bed8a37f2b0f5b14f20d4f)
1.\"	$OpenBSD: options.4,v 1.193 2009/08/09 23:04:47 miod 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: August 9 2009 $
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.It Cd option DDB_SAFE_CONSOLE
220Allows a break into the kernel debugger during boot.
221Useful when debugging problems that can cause init(8) to fail.
222.It Cd option DDB_STRUCT
223Compiles in symbolic information about the various data structures used by the
224kernel, for use within the kernel debugger.
225This option is currently not supported on alpha, m68k, m88k and vax based
226platforms.
227.It Cd option DEBUG
228Turns on miscellaneous kernel debugging.
229Since options are turned into preprocessor defines (see above),
230.Cm option DEBUG
231is equivalent to doing a
232.Em #define DEBUG
233throughout the kernel.
234Much of the kernel has
235.Em #ifdef DEBUG
236conditional debugging code.
237Note that many parts of the kernel (typically device drivers) include their own
238.Em #ifdef XXX_DEBUG
239conditionals instead.
240This option also turns on certain other options, notably
241.Cm option KMEMSTATS .
242.It Cd option DIAGNOSTIC
243Adds code to the kernel that does internal consistency checks.
244This code will cause the kernel to panic if corruption of internal data
245structures is detected.
246.It Cd option GPROF
247Adds code to the kernel for kernel profiling with
248.Xr kgmon 8 .
249.It Cd option KGDB
250Compiles in a remote kernel debugger stub for diagnosing kernel problems
251using the
252.Dq remote target
253feature of gdb.
254See
255.Xr kgdb 7
256for details.
257.Em Note:
258not available on all architectures.
259.It Cd option KTRACE
260Adds hooks for the system call tracing facility, which allows users to
261watch the system call invocation behavior of processes.
262See
263.Xr ktrace 1
264for details.
265.It Cd option NO_PROPOLICE
266Do not compile the kernel with the ProPolice stack protection.
267See
268.Xr gcc-local 1
269for more information about ProPolice.
270.It Cd option PTRACE
271Adds hooks for the process tracing facility, allowing a process to
272control and observe another process.
273See
274.Xr ptrace 2
275for details.
276.It Cd option RAIDDEBUG
277Be verbose on what RAIDframe does.
278See
279.Xr raid 4
280for details.
281.It Cd option SMALL_KERNEL
282Removes some features and some optimizations from the kernel to reduce the
283size of the resulting kernel binary.
284This option is used on some installation media and should not be used
285for general purpose kernels.
286.It Cd option VFSDEBUG
287Turns on debugging for the Virtual File System interface.
288See
289.Xr vfs 9
290for details.
291.El
292.Sh FILE SYSTEMS
293.Bl -ohang
294.It Cd option CD9660
295Includes code for the ISO 9660 + Rock Ridge file system, which is the
296standard file system used on many CD-ROMs.
297It also supports Joliet extensions.
298See
299.Xr mount_cd9660 8
300for details.
301.It Cd option EXT2FS
302Includes code implementing the Second Extended File System
303.Em ( EXT2FS ) .
304This is the most commonly used file system on the Linux operating system,
305and is provided here for compatibility.
306Some specific features of
307.Em EXT2FS
308like the "behavior on errors" are not implemented.
309This file system
310can't be used with
311.Li uid_t
312or
313.Li gid_t
314values greater than 65535.
315Also, the filesystem will not function correctly on architectures with
316differing byte-orders.
317That is, a big-endian machine will not be able to read an
318ext2fs filesystem created on an i386 or other little-endian machine.
319See
320.Xr mount_ext2fs 8
321for details.
322.It Cd option FFS
323Includes code implementing the Berkeley Fast File System
324.Em ( FFS ) .
325Most machines need this if they are not running diskless.
326.It Cd option FFS2
327Includes code implementing the enhanced Fast File System
328.Em ( FFS2 ) .
329.It Cd option MFS
330Include the memory file system
331.Em ( MFS ) .
332This file system stores files in swappable memory, and produces
333notable performance improvements when it is used as the file store
334for
335.Pa /tmp
336or similar mount points.
337See
338.Xr mount_mfs 8
339for details.
340.It Cd option MSDOSFS
341Includes support for the MS-DOS FAT file system.
342The kernel also implements the Windows 95
343extensions which permit the use of longer, mixed-case file names.
344See
345.Xr mount_msdos 8
346and
347.Xr fsck_msdos 8
348for details.
349.It Cd option NFSCLIENT
350Include the client side of the
351.Em NFS
352(Network File System) remote file sharing protocol.
353Although the bulk of the code implementing
354.Em NFS
355is kernel based, several user level daemons are needed for it to work.
356See
357.Xr mount_nfs 8
358for details on NFS.
359.It Cd option NTFS
360Includes support for reading NTFS file systems.
361Experimental and read only.
362See
363.Xr mount_ntfs 8
364for details.
365.It Cd option PORTAL
366Includes the (experimental) portal filesystem.
367This permits interesting tricks like opening TCP sockets by opening files in
368the file system.
369The portal file system is conventionally mounted on
370.Pa /p
371and is partially implemented by a special daemon.
372See
373.Xr mount_portal 8
374for details.
375.It Cd option PROCFS
376Includes code for a special file system (conventionally mounted on
377.Pa /proc )
378in which the process space becomes visible in the file system.
379Among other things, the memory spaces of processes running on the system are
380visible as files, and signals may be sent to processes by writing to
381.Pa ctl
382files in the procfs namespace.
383See
384.Xr mount_procfs 8
385for details.
386.It Cd option UDF
387Includes code for the UDF file systems typically found on DVD discs.
388See
389.Xr mount_udf 8
390for details.
391.It Cd option NNPFS
392Includes the kernel support for the AFS-compatible Arla filesystem.
393Since the xfs interface is simple and generic it can be used for other
394filesystems as well.
395See
396.Xr mount_nnpfs 8
397for details.
398.El
399.Sh FILE SYSTEM OPTIONS
400.Bl -ohang
401.It Cd option BUFCACHEPERCENT= Ns Ar integer
402Percentage of RAM to use as a file system buffer.
403It defaults to 5.
404.It Cd option EXT2FS_SYSTEM_FLAGS
405This option changes the behavior of the APPEND and IMMUTABLE flags
406for a file on an
407.Em EXT2FS
408filesystem.
409Without this option, the superuser or owner of the file can set and clear them.
410With this option, only the superuser can set them, and they can't be cleared
411if the securelevel is greater than 0.
412See also
413.Xr chflags 1 .
414.It Cd option FFS_SOFTUPDATES
415Enables a scheme that uses partial ordering of buffer cache operations
416to allow metadata updates in FFS to happen asynchronously, increasing write
417performance significantly.
418Normally, the FFS filesystem writes metadata updates synchronously which exacts
419a performance penalty in favor of filesystem integrity.
420With soft updates, the performance of asynchronous writes is gained while
421retaining the safety of synchronous metadata updates.
422.Pp
423Soft updates must be enabled on a per-filesystem basis.
424See
425.Xr mount 8
426for details.
427.Pp
428Processors with a small kernel address space, such as the sun4 and sun4c, do
429not have enough kernel memory to support soft updates.
430Attempts to use this option with these CPUs will cause a kernel hang or panic
431after a short period of use as the kernel will quickly run out of memory.
432This is not related to the amount of physical memory present in the machine --
433it is a limitation of the CPU architecture itself.
434.It Cd option FIFO
435Adds support for
436.At V
437style FIFOs (i.e.,
438.Dq named pipes ) .
439This option is recommended in almost all cases as many programs use these.
440.It Cd option NFSSERVER
441Include the server side of the
442.Em NFS
443(Network File System) remote file sharing protocol.
444Although the bulk of the code implementing
445.Em NFS
446is kernel based, several user level daemons are needed for it to
447work.
448See
449.Xr mountd 8
450and
451.Xr nfsd 8
452for details.
453.It Cd option QUOTA
454Enables kernel support for file system quotas.
455See
456.Xr quotaon 8 ,
457.Xr edquota 8 ,
458.Xr repquota 8 ,
459and
460.Xr quota 1
461for details.
462Note that quotas only work on
463.Dq ffs
464file systems, although
465.Xr rpc.rquotad 8
466permits them to be accessed over
467.Em NFS .
468.It Cd option UFS_DIRHASH
469This option enables using an in memory hash table to speed lookups
470in large directories.
471.El
472.Sh MISCELLANEOUS OPTIONS
473.Bl -ohang
474.It Cd option APERTURE
475Provide in-kernel support for controlling VGA framebuffer mapping
476and PCI configuration registers by user-processes
477(such as an X Window System server).
478This option is supported on the
479.Va alpha ,
480.Va amd64 ,
481.Va i386 ,
482.Va macppc ,
483and
484.Va sparc64
485architectures.
486.It Cd option BOOT_CONFIG
487Adds support for the
488.Fl c
489boot option (User Kernel Config).
490Allows modification of kernel settings (e.g., device parameters) before
491booting the system.
492.It Cd option CCDNBUF= Ns Ar integer
493The
494.Xr ccd 4
495device driver uses
496.Dq component buffers
497to distribute I/O requests to the components of a concatenated disk.
498It keeps a freelist of buffer
499headers in order to reduce use of the kernel memory allocator.
500.Em CCDNBUF
501is the number of buffer headers allocated on the freelist for
502each component buffer.
503It defaults to 8.
504.It Cd option CRYPTO
505Enables support for the kernel cryptographic framework.
506See
507.Xr crypto 9
508for details.
509While not IP specific, this option is usually used in conjunction with option
510.Em IPSEC .
511.It Cd option EISAVERBOSE
512Makes the boot process more verbose for EISA peripherals.
513.It Cd option INSECURE
514Hardwires the kernel security level at \-1.
515This means that the system always runs in securelevel 0 mode, even when
516running multiuser.
517See
518.Xr init 8
519for details on the implications of this.
520The kernel secure level may be manipulated by the superuser by altering the
521.Em kern.securelevel
522sysctl variable.
523(It should be noted that the securelevel may only be lowered by a call from
524process ID 1, i.e.,
525.Xr init 8 . )
526See also
527.Xr sysctl 8
528and
529.Xr sysctl 3 .
530.It Cd option KMEMSTATS
531The kernel memory allocator,
532.Xr malloc 9 ,
533will keep statistics on its performance if this option is enabled.
534Note that this option is silently turned on by the
535.Cm DEBUG
536option.
537.It Cd option LKM
538Enables support for loadable kernel modules.
539See
540.Xr lkm 4
541for details.
542.Em Note:
543This option is not yet available on all architectures.
544.It Cd option MACOBIOVERBOSE
545Makes the boot process more verbose for OBIO peripherals on the
546.Va macppc
547architecture.
548.It Cd option MULTIPROCESSOR
549On those architectures that have it, this enables multiprocessor support.
550.It Cd option PCIVERBOSE
551Makes the boot process more verbose for PCI peripherals
552(vendor names and other information is printed, etc.).
553.It Cd option PCMCIAVERBOSE
554Makes the boot process more verbose for PCMCIA peripherals.
555.It Cd option RAID_AUTOCONFIG
556Adds support for auto-configuring the RAIDframe devices during the kernel
557initialization.
558See
559.Xr raid 4
560and
561.Xr raidctl 8
562for details.
563.It Cd option USER_LDT
564Enable userland manipulation of per-process
565Local Descriptor Table (LDT) entries;
566see
567.Xr i386_set_ldt 2
568and the
569.Va machdep.userldt
570.Xr sysctl 8 .
571This option is supported on the
572.Va i386
573architecture.
574.It Cd option USER_PCICONF
575Enables the user level access to the PCI bus configuration space
576through ioctls on the
577.Pa /dev/pci
578device.
579It's used by the
580.Xr Xorg 1
581server on some architectures.
582See
583.Xr pci 4
584for details.
585.It Cd option UVM_SWAP_ENCRYPT
586Enables kernel support for encrypting pages that are written out to
587swap storage.
588Swap encryption prevents sensitive data from remaining
589on the disk even after the operating system has been shut down.
590This option should be turned on if cryptographic filesystems are used.
591The sysctl variable
592.Em vm.swapencrypt.enable
593controls its behaviour.
594See
595.Xr sysctl 8
596and
597.Xr sysctl 3
598for details.
599.El
600.Sh NETWORKING OPTIONS
601.Bl -ohang
602.It Cd option ALTQ
603Enables ALTQ (Alternate Queuing).
604See
605.Xr pfctl 8
606and
607.Xr pf.conf 5
608to set up the interface transmission rate and queueing disciplines.
609.Em ALTQ_CBQ ,
610.Em ALTQ_RED ,
611.Em ALTQ_PRIQ
612and
613.Em ALTQ_HFSC
614are enabled by default with option
615.Em ALTQ
616in
617.Ox .
618See
619.Xr altq 9
620for details on ALTQ.
621.It Cd option ALTQ_NOPCC
622Disables use of processor cycle counter (e.g., Pentium TSC on i386 and
623PCC on alpha) to measure time in ALTQ.
624This option should be defined for a non-Pentium i386 CPU which does not
625have TSC, SMP (per-CPU counters are not in sync), or power management
626which affects processor cycle counter.
627.It Cd option ALTQ_RIO
628Enables ALTQ's RIO (RED with In/Out) module.
629The original RIO has 2 sets of RED parameters; one for in-profile
630packets and the other for out-of-profile packets.
631At the ingress of the network, profile meters tag packets as IN or
632OUT based on contracted profiles for customers.
633Inside the network, IN packets receive preferential treatment by
634the RIO dropper.
635ALTQ/RIO has 3 drop precedence levels defined for the Assured Forwarding
636PHB of DiffServ (RFC 2597).
637.It Cd option ENCDEBUG
638This option enables debugging information to be conditionally logged
639in case IPSEC encounters errors.
640The option
641.Em IPSEC
642is required along with this option.
643Debug logging can be turned on/off through the use of the
644.Em net.inet.ip.encdebug
645sysctl variable.
646If
647.Em net.ipsec.encap.encdebug
648is 1, debug logging is on.
649See
650.Xr sysctl 8
651and
652.Xr sysctl 3
653for details.
654.It Cd option INET
655Includes support for the TCP/IP protocol stack.
656This option is currently required.
657See
658.Xr inet 4
659for details.
660.It Cd option INET6
661Includes support for the IPv6 protocol stack.
662See
663.Xr inet6 4
664for details.
665Unlike
666.Em INET ,
667.Em INET6
668enables multicast routing code as well.
669This option requires
670.Em INET
671at this moment, but it should not.
672.It Cd option IPSEC
673This option enables IP security protocol support.
674See
675.Xr ipsec 4
676for more details.
677.It Cd option KEY
678Enables PFKEYv2 (RFC 2367) support.
679While not IP specific, this option is usually used in conjunction with option
680.Em IPSEC .
681.It Cd option MROUTING
682Includes support for IP multicast routers.
683.Em INET
684should be set along with this.
685Multicast routing is controlled by the
686.Xr mrouted 8
687daemon.
688.It Cd option ND6_DEBUG
689The option sets the default value of
690.Em net.inet6.icmp6.nd6_debug
691to 1,
692for debugging IPv6 neighbor discovery protocol handling.
693See
694.Xr sysctl 3
695for details.
696.It Cd option NETATALK
697Include kernel support for the AppleTalk family of protocols.
698This suite of supporting code is sometimes called
699.Em netatalk
700support.
701.It Cd option PPP_BSDCOMP
702Enables BSD compressor for PPP connections.
703.It Cd option PPP_DEFLATE
704For use in conjunction with PPP_BSDCOMP; provides an interface to zlib for PPP
705for deflate compression/decompression.
706.It Cd option TCP_ECN
707Turns on Explicit Congestion Notification (RFC 3168).
708.Em ECN
709allows intermediate routers to use the Congestion Experienced
710codepoint in the IP header as an indication of congestion, and allows
711TCP to adjust the transmission rate using this signal.
712Both communication endpoints negotiate enabling
713.Em ECN
714functionality at the TCP connection establishment.
715.It Cd option TCP_FACK
716Turns on forward acknowledgements allowing a more precise estimate of
717outstanding data during the fast recovery phase by using
718.Em SACK
719information.
720This option can only be used together with
721.Em TCP_SACK .
722.It Cd option TCP_SACK
723Turns on selective acknowledgements.
724Additional information about
725segments already received can be transmitted back to the sender,
726thus indicating segments that have been lost and allowing for
727a swifter recovery.
728Both communication endpoints need to support
729.Em SACK .
730The fallback behaviour is NewReno fast recovery phase, which allows
731one lost segment to be recovered per round trip time.
732When more than one segment has been dropped per window, the transmission can
733continue without waiting for a retransmission timeout.
734.It Cd option TCP_SIGNATURE
735Turns on support for the TCP MD5 Signature option (RFC 2385).
736This is used by
737Internet backbone routers to provide per-packet authentication for the TCP
738packets used to communicate BGP routing information.
739You will also need a
740routing daemon that supports this option in order to actually use it.
741.El
742.Sh OPERATION RELATED OPTIONS
743.Bl -ohang -compact
744.It Cd option APM_NOPRINT
745This option is supported on the i386 architecture.
746When enabled, kernel messages regarding the status of the automatic power
747management system (APM) are suppressed.
748APM status can still be obtained using
749.Xr apm 8
750and/or
751.Xr apmd 8 .
752.Pp
753.It Cd option BUFPAGES= Ns Ar value
754.It Cd option NBUF= Ns Ar value
755These options set the number of pages available for the buffer cache.
756Their default value is a machine dependent value, often calculated as
757between 5% and 10% of total available RAM.
758.Pp
759.It Cd option DST= Ns Ar value
760If
761.Ar value
762is non-zero, indicates that the hardware realtime clock device
763is one hour ahead of the offset given in
764.Sq TIMEZONE ,
765due to Daylight Saving Time (DST).
766If
767.Ar value
768is zero, the hardware realtime clock device is not in Daylight Saving Time.
769.Pp
770.It Cd option NKMEMPAGES= Ns Ar value
771.It Cd option NKMEMPAGES_MAX= Ns Ar value
772.It Cd option NKMEMPAGES_MIN= Ns Ar value
773Size of kernel malloc area in PAGE_SIZE-sized logical pages.
774This area is covered by the kernel submap
775.Em kmem_map .
776The kernel attempts to auto-size this map based on the amount of
777physical memory in the system.
778Platform-specific code may place bounds on this computed size,
779which may be viewed with the
780.Xr sysctl 8
781variable
782.Em vm.nkmempages .
783See
784.Pa /usr/include/machine/param.h
785for the default upper and lower bounds.
786The related options
787.Sq NKMEMPAGES_MIN
788and
789.Sq NKMEMPAGES_MAX
790allow the bounds to be overridden in the kernel configuration file.
791These options are provided in the event the computed value is
792insufficient resulting in an
793.Dq out of space in kmem_map
794panic.
795.Pp
796.It Cd option \&"TIMEZONE= Ns Ar value Ns Cm \&"
797.Ar value
798indicates the time zone offset of the hardware realtime clock device,
799in minutes,
800from UTC.
801It is useful when the hardware realtime clock device is configured
802with local time,
803when dual-booting
804.Ox
805with other operating systems on a single machine.
806For instance, if the hardware realtime clock is set to Tokyo time,
807.Ar value
808should be
809.Li \&-540
810as Tokyo local time is 9 hours ahead of UTC.
811Double quotes are needed when specifying a negative
812.Ar value .
813.El
814.Sh SCSI SUBSYSTEM OPTIONS
815.Bl -ohang
816.It Cd option SCSI_DELAY= Ns Ar value
817Delay for
818.Ar value
819seconds before starting to probe the first SCSI bus.
820This can be used if a SCSI device needs extra time to get ready.
821.It Cd option SCSIDEBUG
822Enable printing of SCSI subsystem debugging info to the console.
823Each of
824.Em SCSIDEBUG_LEVEL ,
825.Em SCSIDEBUG_BUSES ,
826.Em SCSIDEBUG_TARGETS
827and
828.Em SCSIDEBUG_LUNS
829must have non-zero values for any debugging info to be printed.
830Only
831.Em SCSIDEBUG_LEVEL
832.It Cd option SCSIDEBUG_BUSES= Ns Ar value
833Define which SCSI buses will print debug info.
834Each bit enables debugging info for the corresponding bus.
835e.g. a value of 0x1 enables debug info for bus 0.
836has a default value that is non-zero.
837.It Cd option SCSIDEBUG_LEVEL= Ns Ar value
838Define which of the four levels of debugging info are printed.
839Each bit enables a level, and multiple levels are specified by setting multiple
840bits.
841.Bd -literal -offset indent
8420x0010	(SDEV_DB1) SCSI commands, errors, and data
8430x0020	(SDEV_DB2) routine flow
8440x0040	(SDEV_DB3) routine internals
8450x0080	(SDEV_DB4) miscellaneous addition debugging
846.Ed
847.Pp
848If
849.Em SCSIDEBUG_LEVEL
850is undefined, a value of 0x0030 (SDEV_DB1|SDEV_DB2) is used.
851.It Cd option SCSIDEBUG_LUNS= Ns Ar value
852Define which SCSI luns will print debug info.
853Each bit enables debugging info for the corresponding lun.
854.It Cd option SCSIDEBUG_TARGETS= Ns Ar value
855Define which SCSI targets will print debug info.
856Each bit enables debugging info for the corresponding target.
857.It Cd option SCSITERSE
858Terser SCSI error messages.
859This omits the table for decoding ASC/ASCQ info, saving about 30KB.
860.El
861.Sh SYSTEM V IPC OPTIONS
862.Bl -ohang
863.It Cd option SEMMNI= Ns Ar value
864Number of semaphore identifiers (also called semaphore handles
865and semaphore sets) available in the system.
866Default value is 10.
867The kernel allocates memory for the control structures at startup,
868so arbitrarily large values should be avoided.
869.It Cd option SEMMNS= Ns Ar value
870Maximum number of semaphores in all sets in the system.
871Default value is 60.
872.It Cd option SEMMNU= Ns Ar value
873Maximum number of semaphore undo structures in the system.
874Default value is 30.
875.It Cd option SEMUME= Ns Ar value
876Maximum number of per-process undo operation entries in the
877system.
878Semaphore undo operations are invoked by the kernel when
879.Xr semop 2
880is called with the SEM_UNDO flag and the process holding
881the semaphores terminates unexpectedly.
882Default value is 10.
883.It Cd option SHMMAXPGS= Ns Ar value
884Sets the maximum number of
885.At V
886style shared memory pages that are available through the
887.Xr shmget 2
888system call.
889Default value is 1024 on most architectures.
890See
891.Pa /usr/include/machine/vmparam.h
892for the default.
893.It Cd option SYSVMSG
894Includes support for
895.At V
896style message queues.
897See
898.Xr msgctl 2 ,
899.Xr msgget 2 ,
900.Xr msgrcv 2 ,
901.Xr msgsnd 2 .
902.It Cd option SYSVSEM
903Includes support for
904.At V
905style semaphores.
906See
907.Xr semctl 2 ,
908.Xr semget 2 ,
909.Xr semop 2 .
910.It Cd option SYSVSHM
911Includes support for
912.At V
913style shared memory.
914See
915.Xr shmat 2 ,
916.Xr shmctl 2 ,
917.Xr shmdt 2 ,
918.Xr shmget 2 .
919.El
920.Sh SEE ALSO
921.Xr intro 4 ,
922.Xr files.conf 5 ,
923.Xr config 8 ,
924.Xr sysctl 8
925.Sh HISTORY
926The
927.Nm
928man page first appeared in
929.Ox 2.3 .
930.Sh BUGS
931The
932.Em INET
933option should not be required.
934