xref: /openbsd-src/share/man/man4/options.4 (revision d13be5d47e4149db2549a9828e244d59dbc43f15)
1.\"	$OpenBSD: options.4,v 1.224 2011/07/09 04:01:30 deraadt 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: July 9 2011 $
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
58This option enables compatibility with
59.Bx 4.3 .
60It adds ioctls for
61.Dv TIOCGETP
62and
63.Dv TIOCSETP .
64It also enables the deprecated
65.Dv NTTYDISC
66terminal line discipline.
67It provides backwards compatibility with the
68.Dq old
69SIOC[GS]IF{ADDR,DSTADDR,BRDADDR,NETMASK} interface ioctls, including
70binary compatibility for code written before the introduction of the
71.Li sa_len
72field in sockaddrs.
73.It Cd option COMPAT_LINUX
74On those architectures that support it, this enables binary
75compatibility with
76.Em Linux
77ELF and a.out
78applications built for the same architecture.
79This option is supported on the i386 architecture.
80See
81.Xr compat_linux 8 .
82.El
83.Sh DEBUGGING OPTIONS
84.Bl -ohang
85.It Cd makeoptions DEBUG="-g"
86The
87.Fl g
88flag causes
89.Pa bsd.gdb
90to be built in addition to
91.Pa bsd .
92.Pa bsd.gdb
93is useful for debugging kernels and their crash dumps with gdb.
94A crash dump can be debugged by starting
95.Xr gdb 1
96with the kernel name
97.Pf ( Pa bsd.gdb )
98as an argument (no core file) and then use the
99.Xr gdb 1
100command
101.Dq target kvm COREFILE .
102.It Cd makeoptions PROF="-pg"
103The
104.Fl pg
105flag causes the kernel to be compiled with support for profiling.
106The
107.Cm option GPROF
108is required for the kernel compile to succeed.
109.It Cd option ACCOUNTING
110Adds support for the
111.Xr acct 2
112system call.
113.It Cd option DDB
114Compiles in a kernel debugger for diagnosing kernel problems.
115See
116.Xr ddb 4
117for details.
118.It Cd option DDB_SAFE_CONSOLE
119Allows a break into the kernel debugger during boot.
120Useful when debugging problems that can cause
121.Xr init 8
122to fail.
123.It Cd option DDB_STRUCT
124Compiles in symbolic information about the various data structures used by the
125kernel, for use within the kernel debugger.
126This option is currently not supported on alpha, m68k, m88k and vax based
127platforms.
128.It Cd option DEBUG
129Turns on miscellaneous kernel debugging.
130Since options are turned into preprocessor defines (see above),
131.Cm option DEBUG
132is equivalent to doing a
133.Em #define DEBUG
134throughout the kernel.
135Much of the kernel has
136.Em #ifdef DEBUG
137conditional debugging code.
138Note that many parts of the kernel (typically device drivers) include their own
139.Em #ifdef XXX_DEBUG
140conditionals instead.
141This option also turns on certain other options, notably
142.Cm option KMEMSTATS .
143.It Cd option DIAGNOSTIC
144Adds code to the kernel that does internal consistency checks.
145This code will cause the kernel to panic if corruption of internal data
146structures is detected.
147.It Cd option GPROF
148Adds code to the kernel for kernel profiling with
149.Xr kgmon 8 .
150.It Cd option KGDB
151Compiles in a remote kernel debugger stub for diagnosing kernel problems
152using the
153.Dq remote target
154feature of gdb.
155See
156.Xr kgdb 7
157for details.
158.Em Note:
159not available on all architectures.
160.It Cd option KTRACE
161Adds hooks for the system call tracing facility, which allows users to
162watch the system call invocation behavior of processes.
163See
164.Xr ktrace 1
165for details.
166.It Cd option NO_PROPOLICE
167Do not compile the kernel with the ProPolice stack protection.
168See
169.Xr gcc-local 1
170for more information about ProPolice.
171.It Cd option PTRACE
172Adds hooks for the process tracing facility, allowing a process to
173control and observe another process.
174See
175.Xr ptrace 2
176for details.
177.It Cd option RAIDDEBUG
178Be verbose on what RAIDframe does.
179See
180.Xr raid 4
181for details.
182.It Cd option SMALL_KERNEL
183Removes some features and some optimizations from the kernel to reduce the
184size of the resulting kernel binary.
185This option is used on some installation media and should not be used
186for general purpose kernels.
187.It Cd option VFSLCKDEBUG
188Turns on debugging for the Virtual File System interface.
189See
190.Xr vfs 9
191for details.
192.El
193.Sh FILE SYSTEMS
194.Bl -ohang
195.It Cd option CD9660
196Includes code for the ISO 9660 + Rock Ridge file system, which is the
197standard file system used on many CD-ROMs.
198It also supports Joliet extensions.
199See
200.Xr mount_cd9660 8
201for details.
202.It Cd option EXT2FS
203Includes code implementing the Second Extended File System
204.Em ( EXT2FS ) ,
205commonly used on the Linux operating system.
206This option is provided here for compatibility.
207Some specific features of
208.Em EXT2FS
209like the "behavior on errors" are not implemented.
210This file system
211can't be used with
212.Li uid_t
213or
214.Li gid_t
215values greater than 65535.
216Also, the filesystem will not function correctly on architectures with
217differing byte-orders.
218That is, a big-endian machine will not be able to read an
219ext2fs filesystem created on an i386 or other little-endian machine.
220See
221.Xr mount_ext2fs 8
222for details.
223.It Cd option FFS
224Includes code implementing the Berkeley Fast File System
225.Em ( FFS ) .
226Most machines need this if they are not running diskless.
227.It Cd option FFS2
228Includes code implementing the enhanced Fast File System
229.Em ( FFS2 ) .
230.It Cd option MFS
231Include the memory file system
232.Em ( MFS ) .
233This file system stores files in swappable memory, and produces
234notable performance improvements when it is used as the file store
235for
236.Pa /tmp
237or similar mount points.
238See
239.Xr mount_mfs 8
240for details.
241.It Cd option MSDOSFS
242Includes support for the MS-DOS FAT file system.
243The kernel also implements the Windows 95
244extensions which permit the use of longer, mixed-case file names.
245See
246.Xr mount_msdos 8
247and
248.Xr fsck_msdos 8
249for details.
250.It Cd option NFSCLIENT
251Include the client side of the
252.Em NFS
253(Network File System) remote file sharing protocol.
254Although the bulk of the code implementing
255.Em NFS
256is kernel based, several user level daemons are needed for it to work.
257See
258.Xr mount_nfs 8
259for details on NFS.
260.It Cd option NTFS
261Includes support for reading NTFS file systems.
262See
263.Xr mount_ntfs 8
264for details.
265.It Cd option PROCFS
266Includes code for a special file system (conventionally mounted on
267.Pa /proc )
268in which the process space becomes visible in the file system.
269Among other things, the memory spaces of processes running on the system are
270visible as files, and signals may be sent to processes by writing to
271.Pa ctl
272files in the procfs namespace.
273See
274.Xr mount_procfs 8
275for details.
276.It Cd option UDF
277Includes code for the UDF file systems typically found on DVD discs.
278See
279.Xr mount_udf 8
280for details.
281.It Cd option NNPFS
282Includes the kernel support for the AFS-compatible Arla filesystem.
283Since the xfs interface is simple and generic it can be used for other
284filesystems as well.
285See
286.Xr mount_nnpfs 8
287for details.
288.El
289.Sh FILE SYSTEM OPTIONS
290.Bl -ohang
291.It Cd option BUFCACHEPERCENT= Ns Ar integer
292Percentage of RAM to use as a file system buffer.
293It defaults to 5.
294.It Cd option EXT2FS_SYSTEM_FLAGS
295This option changes the behavior of the APPEND and IMMUTABLE flags
296for a file on an
297.Em EXT2FS
298filesystem.
299Without this option, the superuser or owner of the file can set and clear them.
300With this option, only the superuser can set them, and they can't be cleared
301if the securelevel is greater than 0.
302See also
303.Xr chflags 1 .
304.It Cd option FFS_SOFTUPDATES
305Enables a scheme that uses partial ordering of buffer cache operations
306to allow metadata updates in FFS to happen asynchronously, increasing write
307performance significantly.
308Normally, the FFS filesystem writes metadata updates synchronously which exacts
309a performance penalty in favor of filesystem integrity.
310With soft updates, the performance of asynchronous writes is gained while
311retaining the safety of synchronous metadata updates.
312.Pp
313Soft updates must be enabled on a per-filesystem basis.
314See
315.Xr mount 8
316for details.
317.Pp
318Processors with a small kernel address space, such as the sun4 and sun4c, do
319not have enough kernel memory to support soft updates.
320Attempts to use this option with these CPUs will cause a kernel hang or panic
321after a short period of use as the kernel will quickly run out of memory.
322This is not related to the amount of physical memory present in the machine --
323it is a limitation of the CPU architecture itself.
324.It Cd option FIFO
325Adds support for
326.At V
327style FIFOs (i.e.,
328.Dq named pipes ) .
329This option is recommended in almost all cases as many programs use these.
330.It Cd option NFSSERVER
331Include the server side of the
332.Em NFS
333(Network File System) remote file sharing protocol.
334Although the bulk of the code implementing
335.Em NFS
336is kernel based, several user level daemons are needed for it to
337work.
338See
339.Xr mountd 8
340and
341.Xr nfsd 8
342for details.
343.It Cd option QUOTA
344Enables kernel support for file system quotas.
345See
346.Xr quotaon 8 ,
347.Xr edquota 8 ,
348.Xr repquota 8 ,
349and
350.Xr quota 1
351for details.
352Note that quotas only work on
353.Dq ffs
354file systems, although
355.Xr rpc.rquotad 8
356permits them to be accessed over
357.Em NFS .
358.It Cd option UFS_DIRHASH
359This option enables using an in memory hash table to speed lookups
360in large directories.
361.El
362.Sh MISCELLANEOUS OPTIONS
363.Bl -ohang
364.It Cd option APERTURE
365Provide in-kernel support for controlling VGA framebuffer mapping
366and PCI configuration registers by user-processes
367(such as an X Window System server).
368This option is supported on the
369.Va alpha ,
370.Va amd64 ,
371.Va i386 ,
372.Va macppc ,
373and
374.Va sparc64
375architectures.
376.It Cd option BOOT_CONFIG
377Adds support for the
378.Fl c
379boot option (User Kernel Config).
380Allows modification of kernel settings (e.g., device parameters) before
381booting the system.
382.It Cd option CRYPTO
383Enables support for the kernel cryptographic framework.
384See
385.Xr crypto 9
386for details.
387While not IP specific, this option is usually used in conjunction with option
388.Em IPSEC .
389.It Cd option EISAVERBOSE
390Makes the boot process more verbose for EISA peripherals.
391.It Cd option INSECURE
392Hardwires the kernel security level at \-1.
393This means that the system always runs in securelevel 0 mode, even when
394running multiuser.
395See
396.Xr init 8
397for details on the implications of this.
398The kernel secure level may be manipulated by the superuser by altering the
399.Em kern.securelevel
400sysctl variable.
401(It should be noted that the securelevel may only be lowered by a call from
402process ID 1, i.e.,
403.Xr init 8 . )
404See also
405.Xr sysctl 8
406and
407.Xr sysctl 3 .
408.It Cd option KMEMSTATS
409The kernel memory allocator,
410.Xr malloc 9 ,
411will keep statistics on its performance if this option is enabled.
412Note that this option is silently turned on by the
413.Cm DEBUG
414option.
415.It Cd option LKM
416Enables support for loadable kernel modules.
417See
418.Xr lkm 4
419for details.
420.Em Note:
421This option is not yet available on all architectures.
422.It Cd option MACOBIOVERBOSE
423Makes the boot process more verbose for OBIO peripherals on the
424.Va macppc
425architecture.
426.It Cd option MULTIPROCESSOR
427On those architectures that have it, this enables multiprocessor support.
428.It Cd option PCIVERBOSE
429Makes the boot process more verbose for PCI peripherals
430(vendor names and other information is printed, etc.).
431.It Cd option PCMCIAVERBOSE
432Makes the boot process more verbose for PCMCIA peripherals.
433.It Cd option RAID_AUTOCONFIG
434Adds support for auto-configuring the RAIDframe devices during the kernel
435initialization.
436See
437.Xr raid 4
438and
439.Xr raidctl 8
440for details.
441.It Cd option USER_LDT
442Enable userland manipulation of per-process
443Local Descriptor Table (LDT) entries;
444see
445.Xr i386_set_ldt 2
446and the
447.Va machdep.userldt
448.Xr sysctl 8 .
449This option is supported on the
450.Va i386
451architecture.
452.It Cd option USER_PCICONF
453Enables the user level access to the PCI bus configuration space
454through ioctls on the
455.Pa /dev/pci
456device.
457It's used by the
458.Xr Xorg 1
459server on some architectures.
460See
461.Xr pci 4
462for details.
463.It Cd option UVM_SWAP_ENCRYPT
464Enables kernel support for encrypting pages that are written out to
465swap storage.
466Swap encryption prevents sensitive data from remaining
467on the disk even after the operating system has been shut down.
468This option should be turned on if cryptographic filesystems are used.
469The sysctl variable
470.Em vm.swapencrypt.enable
471controls its behaviour.
472See
473.Xr sysctl 8
474and
475.Xr sysctl 3
476for details.
477.El
478.Sh NETWORKING OPTIONS
479.Bl -ohang
480.It Cd option ALTQ
481Enables ALTQ (Alternate Queuing).
482See
483.Xr pfctl 8
484and
485.Xr pf.conf 5
486to set up the interface transmission rate and queueing disciplines.
487.Em ALTQ_CBQ ,
488.Em ALTQ_RED ,
489.Em ALTQ_PRIQ
490and
491.Em ALTQ_HFSC
492are enabled by default with option
493.Em ALTQ
494in
495.Ox .
496See
497.Xr altq 9
498for details on ALTQ.
499.It Cd option ENCDEBUG
500This option enables debugging information to be conditionally logged
501in case IPSEC encounters errors.
502The option
503.Em IPSEC
504is required along with this option.
505Debug logging can be turned on/off through the use of the
506.Em net.inet.ip.encdebug
507sysctl variable.
508If
509.Em net.ipsec.encap.encdebug
510is 1, debug logging is on.
511See
512.Xr sysctl 8
513and
514.Xr sysctl 3
515for details.
516.It Cd option INET
517Includes support for the TCP/IP protocol stack.
518This option is currently required.
519See
520.Xr inet 4
521for details.
522.It Cd option INET6
523Includes support for the IPv6 protocol stack.
524See
525.Xr inet6 4
526for details.
527Unlike
528.Em INET ,
529.Em INET6
530enables multicast routing code as well.
531This option requires
532.Em INET
533at this moment, but it should not.
534.It Cd option IPSEC
535This option enables IP security protocol support.
536See
537.Xr ipsec 4
538for more details.
539.It Cd option KEY
540Enables PFKEYv2 (RFC 2367) support.
541While not IP specific, this option is usually used in conjunction with option
542.Em IPSEC .
543.It Cd option MROUTING
544Includes support for IP multicast routers.
545.Em INET
546should be set along with this.
547Multicast routing is controlled by the
548.Xr mrouted 8
549daemon.
550.It Cd option ND6_DEBUG
551The option sets the default value of
552.Em net.inet6.icmp6.nd6_debug
553to 1,
554for debugging IPv6 neighbor discovery protocol handling.
555See
556.Xr sysctl 3
557for details.
558.It Cd option PIPEX
559Includes PIPEX in-kernel acceleration for PPPoE, L2TP or PPTP.
560.It Cd option PPP_BSDCOMP
561Enables BSD compressor for PPP connections.
562.It Cd option PPP_DEFLATE
563For use in conjunction with PPP_BSDCOMP; provides an interface to zlib for PPP
564for deflate compression/decompression.
565.It Cd option SOCKET_SPLICE
566Enables zero-copy socket splicing in the kernel.
567See
568.Dv SO_SPLICE
569in
570.Xr setsockopt 2
571and
572.Xr sosplice 9
573for details.
574.It Cd option TCP_ECN
575Turns on Explicit Congestion Notification (RFC 3168).
576.Em ECN
577allows intermediate routers to use the Congestion Experienced
578codepoint in the IP header as an indication of congestion, and allows
579TCP to adjust the transmission rate using this signal.
580Both communication endpoints negotiate enabling
581.Em ECN
582functionality at the TCP connection establishment.
583.It Cd option TCP_FACK
584Turns on forward acknowledgements allowing a more precise estimate of
585outstanding data during the fast recovery phase by using
586.Em SACK
587information.
588This option can only be used together with
589.Em TCP_SACK .
590.It Cd option TCP_SACK
591Turns on selective acknowledgements.
592Additional information about
593segments already received can be transmitted back to the sender,
594thus indicating segments that have been lost and allowing for
595a swifter recovery.
596Both communication endpoints need to support
597.Em SACK .
598The fallback behaviour is NewReno fast recovery phase, which allows
599one lost segment to be recovered per round trip time.
600When more than one segment has been dropped per window, the transmission can
601continue without waiting for a retransmission timeout.
602.It Cd option TCP_SIGNATURE
603Turns on support for the TCP MD5 Signature option (RFC 2385).
604This is used by
605Internet backbone routers to provide per-packet authentication for the TCP
606packets used to communicate BGP routing information.
607You will also need a
608routing daemon that supports this option in order to actually use it.
609.El
610.Sh OPERATION RELATED OPTIONS
611.Bl -ohang -compact
612.It Cd option BUFPAGES= Ns Ar value
613.It Cd option NBUF= Ns Ar value
614These options set the number of pages available for the buffer cache.
615Their default value is a machine dependent value, often calculated as
616between 5% and 10% of total available RAM.
617.Pp
618.It Cd option DST= Ns Ar value
619If
620.Ar value
621is non-zero, indicates that the hardware realtime clock device
622is one hour ahead of the offset given in
623.Sq TIMEZONE ,
624due to Daylight Saving Time (DST).
625If
626.Ar value
627is zero, the hardware realtime clock device is not in Daylight Saving Time.
628.Pp
629.It Cd option NKMEMPAGES= Ns Ar value
630.It Cd option NKMEMPAGES_MAX= Ns Ar value
631.It Cd option NKMEMPAGES_MIN= Ns Ar value
632Size of kernel malloc area in PAGE_SIZE-sized logical pages.
633This area is covered by the kernel submap
634.Em kmem_map .
635The kernel attempts to auto-size this map based on the amount of
636physical memory in the system.
637Platform-specific code may place bounds on this computed size,
638which may be viewed with the
639.Xr sysctl 8
640variable
641.Em vm.nkmempages .
642See
643.Pa /usr/include/machine/param.h
644for the default upper and lower bounds.
645The related options
646.Sq NKMEMPAGES_MIN
647and
648.Sq NKMEMPAGES_MAX
649allow the bounds to be overridden in the kernel configuration file.
650These options are provided in the event the computed value is
651insufficient resulting in an
652.Dq out of space in kmem_map
653panic.
654.Pp
655.It Cd option \&"TIMEZONE= Ns Ar value Ns Cm \&"
656.Ar value
657indicates the time zone offset of the hardware realtime clock device,
658in minutes,
659from UTC.
660It is useful when the hardware realtime clock device is configured
661with local time,
662when dual-booting
663.Ox
664with other operating systems on a single machine.
665For instance, if the hardware realtime clock is set to Tokyo time,
666.Ar value
667should be
668.Li \&-540
669as Tokyo local time is 9 hours ahead of UTC.
670Double quotes are needed when specifying a negative
671.Ar value .
672.El
673.Sh SCSI SUBSYSTEM OPTIONS
674.Bl -ohang
675.It Cd option SCSI_DELAY= Ns Ar value
676Delay for
677.Ar value
678seconds before starting to probe the first SCSI bus.
679This can be used if a SCSI device needs extra time to get ready.
680.It Cd option SCSIDEBUG
681Enable printing of SCSI subsystem debugging info to the console.
682Each of
683.Em SCSIDEBUG_LEVEL ,
684.Em SCSIDEBUG_BUSES ,
685.Em SCSIDEBUG_TARGETS
686and
687.Em SCSIDEBUG_LUNS
688must have non-zero values for any debugging info to be printed.
689Only
690.Em SCSIDEBUG_LEVEL
691has a default value (SDEV_DB1 | SDEV_DB2) that is non-zero.
692.It Cd option SCSIDEBUG_BUSES= Ns Ar value
693Define which SCSI buses will print debug info.
694Each bit enables debugging info for the corresponding bus.
695e.g. a value of 0x1 enables debug info for bus 0.
696.It Cd option SCSIDEBUG_LEVEL= Ns Ar value
697Define which of the four levels of debugging info are printed.
698Each bit enables a level, and multiple levels are specified by setting multiple
699bits.
700.Bd -literal -offset indent
7010x0010	(SDEV_DB1) SCSI commands, errors, and data
7020x0020	(SDEV_DB2) routine flow
7030x0040	(SDEV_DB3) routine internals
7040x0080	(SDEV_DB4) miscellaneous addition debugging
705.Ed
706.Pp
707If
708.Em SCSIDEBUG_LEVEL
709is undefined, a value of 0x0030 (SDEV_DB1|SDEV_DB2) is used.
710.It Cd option SCSIDEBUG_LUNS= Ns Ar value
711Define which SCSI luns will print debug info.
712Each bit enables debugging info for the corresponding lun.
713.It Cd option SCSIDEBUG_TARGETS= Ns Ar value
714Define which SCSI targets will print debug info.
715Each bit enables debugging info for the corresponding target.
716.It Cd option SCSITERSE
717Terser SCSI error messages.
718This omits the table for decoding ASC/ASCQ info, saving about 30KB.
719.El
720.Sh SYSTEM V IPC OPTIONS
721.Bl -ohang
722.It Cd option SEMMNI= Ns Ar value
723Number of semaphore identifiers (also called semaphore handles
724and semaphore sets) available in the system.
725Default value is 10.
726The kernel allocates memory for the control structures at startup,
727so arbitrarily large values should be avoided.
728.It Cd option SEMMNS= Ns Ar value
729Maximum number of semaphores in all sets in the system.
730Default value is 60.
731.It Cd option SEMMNU= Ns Ar value
732Maximum number of semaphore undo structures in the system.
733Default value is 30.
734.It Cd option SEMUME= Ns Ar value
735Maximum number of per-process undo operation entries in the
736system.
737Semaphore undo operations are invoked by the kernel when
738.Xr semop 2
739is called with the SEM_UNDO flag and the process holding
740the semaphores terminates unexpectedly.
741Default value is 10.
742.It Cd option SHMMAXPGS= Ns Ar value
743Sets the maximum number of
744.At V
745style shared memory pages that are available through the
746.Xr shmget 2
747system call.
748Default value is 1024 on most architectures.
749See
750.Pa /usr/include/machine/vmparam.h
751for the default.
752.It Cd option SYSVMSG
753Includes support for
754.At V
755style message queues.
756See
757.Xr msgctl 2 ,
758.Xr msgget 2 ,
759.Xr msgrcv 2 ,
760.Xr msgsnd 2 .
761.It Cd option SYSVSEM
762Includes support for
763.At V
764style semaphores.
765See
766.Xr semctl 2 ,
767.Xr semget 2 ,
768.Xr semop 2 .
769.It Cd option SYSVSHM
770Includes support for
771.At V
772style shared memory.
773See
774.Xr shmat 2 ,
775.Xr shmctl 2 ,
776.Xr shmdt 2 ,
777.Xr shmget 2 .
778.El
779.Sh SEE ALSO
780.Xr intro 4 ,
781.Xr files.conf 5 ,
782.Xr config 8 ,
783.Xr sysctl 8
784.Sh HISTORY
785The
786.Nm
787man page first appeared in
788.Ox 2.3 .
789.Sh BUGS
790The
791.Em INET
792option should not be required.
793