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