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