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