1.\" $MirOS: src/share/man/man4/options.4,v 1.4 2006/01/18 09:22:06 tg Exp $ 2.\" $OpenBSD: options.4,v 1.142 2004/05/05 00:23:29 millert Exp $ 3.\" $NetBSD: options.4,v 1.21 1997/06/25 03:13:00 thorpej Exp $ 4.\" 5.\" Copyright (c) 1998 Theo de Raadt 6.\" Copyright (c) 1998 Todd Miller 7.\" Copyright (c) 1998 Gene Skonicki 8.\" Copyright (c) 1996 9.\" Perry E. Metzger. All rights reserved. 10.\" 11.\" Redistribution and use in source and binary forms, with or without 12.\" modification, are permitted provided that the following conditions 13.\" are met: 14.\" 1. Redistributions of source code must retain the above copyright 15.\" notice, this list of conditions and the following disclaimer. 16.\" 2. Redistributions in binary form must reproduce the above copyright 17.\" notice, this list of conditions and the following disclaimer in the 18.\" documentation and/or other materials provided with the distribution. 19.\" 3. All advertising materials mentioning features or use of this software 20.\" must display the following acknowledgment: 21.\" This product includes software developed for the NetBSD Project 22.\" by Perry E. Metzger. 23.\" 4. The name of the author may not be used to endorse or promote products 24.\" derived from this software without specific prior written permission. 25.\" 26.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 27.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 28.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 29.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 30.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 31.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 32.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 33.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 34.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 35.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 36.\" 37.\" 38.Dd March 21, 2004 39.Dt OPTIONS 4 40.Os 41.Sh NAME 42.Nm options 43.Nd miscellaneous kernel configuration options 44.Sh SYNOPSIS 45.Cd option ... 46.Sh DESCRIPTION 47This manual page describes a number of miscellaneous kernel 48configuration options that may be specified in a kernel config file. 49See 50.Xr config 8 51for information on how to configure and build kernels. 52.Em Note: 53options are passed to the compile process as 54.Fl D 55flags to the C compiler. 56.Ss Compatibility Options 57.Bl -ohang 58.It Cd option COMPAT_LINUX 59On those architectures that support it, this enables binary 60compatibility with 61.Em Linux 62ELF and a.out 63applications built for the same architecture. 64This option is supported on the i386 architecture. 65See 66.Xr compat_linux 8 . 67.Pp 68This option also enables execution of ET_DYN binaries, such as 69.Pa ld-linux.so.2 . 70.It Cd option COMPAT_OPENBSD 71This enables binary compatibility with 72.Em OpenBSD 73applications built for the same architecture. 74This option is available on all architectures. 75See 76.Xr compat_openbsd 8 . 77.El 78.Ss Debugging Options 79.Bl -ohang 80.It Cd option DDB 81Compiles in a kernel debugger for diagnosing kernel problems. 82See 83.Xr ddb 4 84for details. 85.Em Note: 86not available on all architectures. 87.It Cd option DDB_SAFE_CONSOLE 88Allows a break into the kernel debugger during boot. 89Useful when debugging problems that can cause init(8) to fail. 90.It Cd option KGDB 91Compiles in a remote kernel debugger stub for diagnosing kernel problems 92using the 93.Dq remote target 94feature of gdb. 95See 96.Xr kgdb 7 97for details. 98.Em Note: 99not available on all architectures. 100.It Cd makeoptions DEBUG="-g" 101The 102.Fl g 103flag causes 104.Pa bsd.gdb 105to be built in addition to 106.Pa bsd . 107.Pa bsd.gdb 108is useful for debugging kernels and their crash dumps with gdb. 109Note that 110.Xr gdb 1 Ns 's 111.Fl k 112flag is obsolete and should not be used. 113Instead, a crash dump can be debugged by starting 114.Xr gdb 1 115with the kernel name as an argument (no core file) and then use the 116.Xr gdb 1 117command 118.Dq target kcore COREFILE . 119.It Cd option DEBUG 120Turns on miscellaneous kernel debugging. 121Since options are turned into preprocessor defines (see above), 122.Cm option DEBUG 123is equivalent to doing a 124.Em #define DEBUG 125throughout the kernel. 126Much of the kernel has 127.Em #ifdef DEBUG 128conditional debugging code. 129Note that many parts of the kernel (typically device drivers) include their own 130.Em #ifdef XXX_DEBUG 131conditionals instead. 132This option also turns on certain other options, notably 133.Cm option KMEMSTATS , 134which may decrease system performance. 135.It Cd option DIAGNOSTIC 136Adds code to the kernel that does internal consistency checks. 137This code will cause the kernel to panic if corruption of internal data 138structures is detected. 139.It Cd option SMALL_KERNEL 140Removes some optimizations from the kernel to reduce the size of the 141resulting kernel binary. 142This option can decrease system performance. 143.It Cd option NO_PROPOLICE 144Do not compile the kernel with the propolice stack protection. 145See 146.Xr gcc-local 1 147for more information about propolice. 148.It Cd option GPROF 149Adds code to the kernel for kernel profiling with 150.Xr kgmon 8 . 151.It Cd makeoptions PROF="-pg" 152The 153.Fl pg 154flag causes the kernel to be compiled with support for profiling. 155The 156.Cm option GPROF 157is required for the kernel compile to succeed. 158.It Cd option KTRACE 159Adds hooks for the system call tracing facility, which allows users to 160watch the system call invocation behavior of processes. 161See 162.Xr ktrace 1 163for details. 164.It Cd option PTRACE 165Adds hooks for the process tracing facility, allowing a process to 166control and observe another process. 167See 168.Xr ptrace 2 169for details. 170.It Cd option RAIDDEBUG 171Be verbose on what RAIDframe does. 172See 173.Xr raid 4 174for details. 175.El 176.Ss File Systems 177.Bl -ohang 178.It Cd option FFS 179Includes code implementing the Berkeley Fast File System 180.Em ( FFS ) . 181Most machines need this if they are not running diskless. 182.It Cd option EXT2FS 183Includes code implementing the Second Extended File System 184.Em ( EXT2FS ) . 185This is the most commonly used file system on the Linux operating system, 186and is provided here for compatibility. 187Some specific features of 188.Em EXT2FS 189like the "behavior on errors" are not implemented. 190This file system 191can't be used with 192.Li uid_t 193or 194.Li gid_t 195values greater than 65535. 196Also, the filesystem will not function correctly on architectures with 197differing byte-orders. 198That is, a big-endian machine will not be able to read an 199ext2fs filesystem created on an i386 or other little-endian machine. 200See 201.Xr mount_ext2fs 8 202for details. 203.It Cd option MFS 204Include the memory file system 205.Em ( MFS ) . 206This file system stores files in swappable memory, and produces 207notable performance improvements when it is used as the file store 208for 209.Pa /tmp 210or similar mount points. 211See 212.Xr mount_mfs 8 213for details. 214.It Cd option NFSCLIENT 215Include the client side of the 216.Em NFS 217(Network File System) remote file sharing protocol. 218Although the bulk of the code implementing 219.Em NFS 220is kernel based, several user level daemons are needed for it to work. 221See 222.Xr mount_nfs 8 223for details on NFS. 224.It Cd option CD9660 225Includes code for the ISO 9660 + Rock Ridge file system, which is the 226standard file system used on many CD-ROMs. 227It also supports Joliet extensions. 228See 229.Xr mount_cd9660 8 230for details. 231.It Cd option MSDOSFS 232Includes support for the 233.Tn MS-DOS 234FAT file system. 235The kernel also implements the 236.Tn Windows 95 237extensions which permit the use of longer, mixed-case file names. 238See 239.Xr mount_msdos 8 240and 241.Xr fsck_msdos 8 242for details. 243.It Cd option NTFS 244Includes support for reading NTFS file systems. 245Experimental and read only. 246See 247.Xr mount_ntfs 8 248for details. 249.It Cd option FDESC 250Includes code for a file system which can be mounted on 251.Pa /dev/fd . 252This filesystem permits access to the per-process file descriptor 253space via special files in the file system. 254See 255.Xr mount_fdesc 8 256for details. 257Note that this facility is redundant, and thus unneeded on most 258.Ox 259systems, since the 260.Xr fd 4 261pseudo-device driver already provides identical functionality. 262On most systems, instances of 263.Xr fd 4 264are mknoded under 265.Pa /dev/fd/ 266and on 267.Pa /dev/stdin , 268.Pa /dev/stdout , 269and 270.Pa /dev/stderr . 271.It Cd option KERNFS 272Includes code which permits the mounting of a special file system 273(normally mounted on 274.Pa /kern ) 275in which files representing various kernel variables and parameters 276may be found. 277See 278.Xr mount_kernfs 8 279for details. 280.It Cd option NULLFS 281Includes code for a loopback file system. 282This permits portions of the file hierarchy to be re-mounted in other places. 283The code really exists to provide an example of a stackable file system layer. 284See 285.Xr mount_null 8 286for details. 287.It Cd option PORTAL 288Includes the (experimental) portal filesystem. 289This permits interesting tricks like opening TCP sockets by opening files in 290the file system. 291The portal file system is conventionally mounted on 292.Pa /p 293and is partially implemented by a special daemon. 294See 295.Xr mount_portal 8 296for details. 297.It Cd option PROCFS 298Includes code for a special file system (conventionally mounted on 299.Pa /proc ) 300in which the process space becomes visible in the file system. 301Among other things, the memory spaces of processes running on the system are 302visible as files, and signals may be sent to processes by writing to 303.Pa ctl 304files in the procfs namespace. 305See 306.Xr mount_procfs 8 307for details. 308.It Cd option UMAPFS 309Includes a loopback file system in which user and group IDs may be 310remapped -- this can be useful when mounting alien file systems with 311different uids and gids than the local system (eg, remote NFS). 312See 313.Xr mount_umap 8 314for details. 315.It Cd option UNION 316Includes code for the union file system, which permits directories to 317be mounted on top of each other in such a way that both file systems 318remain visible -- this permits tricks like allowing writing (and the 319deleting of files) on a read-only file system like a CD-ROM by 320mounting a local writable file system on top of the read-only file 321system. 322This filesystem is still experimental and is known to be somewhat unstable. 323See 324.Xr mount_union 8 325for details. 326.El 327.Ss File System Options 328.Bl -ohang 329.It Cd option FFS_SOFTUPDATES 330Enables a scheme that uses partial ordering of buffer cache operations 331to allow metadata updates in FFS to happen asynchronously, increasing write 332performance significantly. 333Normally, the FFS filesystem writes metadata updates synchronously which exacts 334a performance penalty in favor of filesystem integrity. 335With soft updates, the performance of asynchronous writes is gained while 336retaining the safety of synchronous metadata updates. 337.Pp 338Soft updates must be enabled on a per-filesystem basis. 339See 340.Xr mount 8 341for details. 342.Pp 343Processors with a small kernel address space, such as the sun4 and sun4c, do 344not have enough kernel memory to support soft updates. 345Attempts to use this option with these CPUs will cause a kernel hang or panic 346after a short period of use as the kernel will quickly run out of memory. 347This is not related to the amount of physical memory present in the machine -- 348it is a limitation of the CPU architecture itself. 349.It Cd option BUFCACHEPERCENT=integer 350Percentage of RAM to use as a file system buffer. 351It defaults to 5. 352.It Cd option NFSSERVER 353Include the server side of the 354.Em NFS 355(Network File System) remote file sharing protocol. 356Although the bulk of the code implementing 357.Em NFS 358is kernel based, several user level daemons are needed for it to 359work. 360See 361.Xr mountd 8 362and 363.Xr nfsd 8 364for details. 365.It Cd option QUOTA 366Enables kernel support for file system quotas. 367See 368.Xr quotaon 8 , 369.Xr edquota 8 , 370.Xr repquota 8 , 371and 372.Xr quota 1 373for details. 374Note that quotas only work on 375.Dq ffs 376file systems, although 377.Xr rpc.rquotad 8 378permits them to be accessed over 379.Em NFS . 380.It Cd option FIFO 381Adds support for 382.At V 383style FIFOs (i.e., 384.Dq named pipes ) . 385This option is recommended in almost all cases as many programs use these. 386.It Cd option EXT2FS_SYSTEM_FLAGS 387This option changes the behavior of the APPEND and IMMUTABLE flags 388for a file on an 389.Em EXT2FS 390filesystem. 391Without this option, the superuser or owner of the file can set and clear them. 392With this option, only the superuser can set them, and they can't be cleared 393if the securelevel is greater than 0. 394See also 395.Xr chflags 1 . 396.It Cd option UFS_EXTATTR 397This option enables Extended Attribute support for UFS filesystems. 398.It Cd option UFS_EXTATTR_AUTOSTART 399This option causes Extended Attributes to be started and enabled when each 400UFS filesystem is mounted. 401The attribute storage is expected to be (relative to mount point) 402.Pa /.attribute/{system|user}/<attrname> 403.It Cd option UFS_DIRHASH 404This option enables using an in memory hash table to speed lookups 405in large directories. 406.El 407.Ss Miscellaneous Options 408.Bl -ohang 409.It Cd option PCIVERBOSE 410Makes the boot process more verbose for PCI peripherals 411(vendor names and other information is printed, etc.). 412.It Cd option PCMCIAVERBOSE 413Makes the boot process more verbose for PCMCIA peripherals. 414.It Cd option MACOBIOVERBOSE 415Makes the boot process more verbose for Mac OBIO peripherals. 416.It Cd option APERTURE 417Provide in-kernel support for controlling VGA framebuffer mapping 418and PCI configuration registers by user-processes 419(such as an X Window System server). 420This option is supported on the 421.Va alpha , 422.Va i386 , 423.Va macppc , 424and 425.Va sparc64 426architectures. 427.It Cd option LKM 428Enables support for loadable kernel modules. 429See 430.Xr lkm 4 431for details. 432.Em Note: 433This option is not yet available on all architectures. 434.It Cd option CRYPTO 435Enables support for the kernel cryptographic framework. 436See 437.Xr crypto 9 438for details. 439While not IP specific, this option is usually used in conjunction with option 440.Em IPSEC . 441.It Cd option INSECURE 442Hardwires the kernel security level at \-1. 443This means that the system always runs in securelevel 0 mode, even when 444running multiuser. 445See 446.Xr init 8 447for details on the implications of this. 448The kernel secure level may be manipulated by the superuser by altering the 449.Em kern.securelevel 450sysctl variable. 451(It should be noted that the securelevel may only be lowered by a call from 452process ID 1, i.e., 453.Xr init 8 . ) 454See also 455.Xr sysctl 8 456and 457.Xr sysctl 3 . 458.It Cd option CCDNBUF=integer 459The 460.Xr ccd 4 461device driver uses 462.Dq component buffers 463to distribute I/O requests to the components of a concatenated disk. 464It keeps a freelist of buffer 465headers in order to reduce use of the kernel memory allocator. 466.Em CCDNBUF 467is the number of buffer headers allocated on the freelist for 468each component buffer. 469It defaults to 8. 470.It Cd option KMEMSTATS 471The kernel memory allocator, 472.Xr malloc 9 , 473will keep statistics on its performance if this option is enabled. 474Unfortunately, this option therefore essentially disables 475.Fn MALLOC 476and 477.Fn FREE 478forms of the memory allocator, which are used to enhance the 479performance of certain critical sections of code in the kernel. 480This option therefore can lead to a significant decrease in the performance 481of certain code in the kernel if enabled. 482Examples of such code include the 483.Fn namei 484routine, the 485.Xr ccd 4 486driver, 487the 488.Xr ncr 4 489driver, and much of the networking code. 490Note that this option is silently turned on by the 491.Em DEBUG 492option. 493.It Cd option BOOT_CONFIG 494Adds support for the 495.Fl c 496boot option (User Kernel Config). 497Allows modification of kernel settings (e.g., device parameters) before 498booting the system. 499.It Cd option RAID_AUTOCONFIG 500Adds support for auto-configuring the RAIDframe devices during the kernel 501initialization. 502See 503.Xr raid 4 504and 505.Xr raidctl 8 506for details. 507.It Cd option UVM_SWAP_ENCRYPT 508Enables kernel support for encrypting pages that are written out to 509swap storage. 510Swap encryption prevents sensitive data from remaining 511on the disk even after the operating system has been shut down. 512This option should be turned on if cryptographic filesystems are used. 513The sysctl variable 514.Em vm.swapencrypt.enable 515controls its behaviour. 516See 517.Xr sysctl 8 518and 519.Xr sysctl 3 520for details. 521.It Cd option USER_PCICONF 522Enables the user level access to the PCI bus configuration space 523through ioctls on the 524.Pa /dev/pci 525device. 526It's used by the 527.Xr XFree86 1 528server on some architectures. 529See 530.Xr pci 4 531for details. 532.It Cd option PCIAGP 533Enables 534.Xr ioctl 2 535access to the AGP GART on the supported chipsets. 536It's used by the 537.Xr XFree86 1 538server on some architectures. 539See 540.Xr vga 4 541for details. 542.It Cd option INCLUDE_CONFIG_FILE 543Includes the configuration file given to 544.Xr config 8 545in the kernel image. It can be recovered later by executing 546.Em strings -n4 /bsd | sed -n 's/^=CF=//p' 547.El 548.Ss Networking Options 549.Bl -ohang 550.It Cd option IPFORWARDING 551Enables IP routing behavior. 552With this option enabled, the machine 553will forward IP datagrams between its interfaces that are destined for 554other machines. 555Note that even without this option, the kernel will 556still forward some packets (such as source routed packets) -- removing 557.Em IPFORWARDING 558is insufficient to stop all routing through a bastion host on a 559firewall -- source routing is controlled independently. 560Note that IP 561forwarding may be turned on and off independently of the setting of the 562.Em IPFORWARDING 563option through the use of the 564.Em net.inet.ip.forwarding 565sysctl variable. 566If 567.Em net.inet.ip.forwarding 568is 1, IP forwarding is on. 569See 570.Xr sysctl 8 571and 572.Xr sysctl 3 573for details. 574.It Cd option MROUTING 575Includes support for IP multicast routers. 576.Em INET 577should be set along with this. 578Multicast routing is controlled by the 579.Xr mrouted 8 580daemon. 581.It Cd option INET 582Includes support for the TCP/IP protocol stack. 583This option is currently required. 584See 585.Xr inet 4 586for details. 587.It Cd option INET6 588Includes support for the 589.Tn IPv6 590protocol stack. 591See 592.Xr inet6 4 593for details. 594Unlike 595.Em INET , 596.Em INET6 597enables multicast routing code as well. 598This option requires 599.Em INET 600at this moment, but it should not. 601.It Cd option ND6_DEBUG 602The option sets the default value of 603.Em net.inet6.icmp6.nd6_debug 604to 1, 605for debugging IPv6 neighbor discovery protocol handling. 606See 607.Xr sysctl 3 608for details. 609.It Cd option IPX, IPXIP 610Include support for Internetwork Packet Exchange protocol commonly in 611use by 612.Tn Novell NetWare . 613.It Cd option NETATALK 614Include kernel support for the AppleTalk family of protocols. 615This suite of supporting code is sometimes called 616.Em netatalk 617support. 618.It Cd option TCP_COMPAT_42 619Use of this option is 620.Em extremely 621discouraged, so it should not be enabled. 622If any other machines on the network require enabling this, it's 623recommended that 624.Em they 625be disconnected from the network. 626.Pp 627TCP bug compatibility with 628.Bx 4.2 . 629In 630.Bx 4.2 , 631TCP sequence numbers 632were 32-bit signed values. 633Modern implementations of TCP use unsigned values. 634This option clamps the initial sequence number to start in 635the range 2^31 rather than the full unsigned range of 2^32. 636Also, under 637.Bx 4.2 , 638keepalive packets must contain at least one byte or else 639the remote end will not respond. 640.It Cd option TCP_SACK 641Turns on selective acknowledgements. 642Additional information about 643segments already received can be transmitted back to the sender, 644thus indicating segments that have been lost and allowing for 645a swifter recovery. 646Both communication endpoints need to support 647.Em SACK . 648The fallback behaviour is NewReno fast recovery phase, which allows 649one lost segment to be recovered per round trip time. 650When more than one segment has been dropped per window, the transmission can 651continue without waiting for a retransmission timeout. 652.It Cd option TCP_FACK 653Turns on forward acknowledgements allowing a more precise estimate of 654outstanding data during the fast recovery phase by using 655.Em SACK 656information. 657This option can only be used together with 658.Em TCP_SACK . 659.It Cd option TCP_ECN 660Turns on Explicit Congestion Notification (RFC 3168). 661.Em ECN 662allows intermediate routers to use the Congestion Experienced 663codepoint in the IP header as an indication of congestion, and allows 664TCP to adjust the transmission rate using this signal. 665Both communication endpoints negotiate enabling 666.Em ECN 667functionality at the TCP connection establishment. 668.It Cd option TCP_SIGNATURE 669Turns on support for the TCP MD5 Signature option (RFC 2385). 670This is used by 671Internet backbone routers to provide per-packet authentication for the TCP 672packets used to communicate BGP routing information. 673You will also need a 674routing daemon that supports this option in order to actually use it. 675.It Cd option PPP_FILTER 676This option turns on 677.Xr pcap 3 678based filtering for ppp connections. 679This option is used by 680.Xr pppd 8 681which needs to be compiled with 682.Em PPP_FILTER 683defined (the current default). 684.It Cd option PPP_BSDCOMP 685Enables BSD compressor for PPP connections. 686.It Cd option PPP_DEFLATE 687This option is currently not supported in MirOS. 688.\" For use in conjunction with PPP_BSDCOMP; provides an interface to zlib for PPP 689.\" for deflate compression/decompression. 690.It Cd option IPSEC 691This option enables IP security protocol support. 692See 693.Xr ipsec 4 694for more details. 695.It Cd option ENCDEBUG 696This option enables debugging information to be conditionally logged 697in case IPSEC encounters errors. 698The option 699.Em IPSEC 700is required along with this option. 701Debug logging can be turned on/off through the use of the 702.Em net.inet.ip.encdebug 703sysctl variable. 704If 705.Em net.ipsec.encap.encdebug 706is 1, debug logging is on. 707See 708.Xr sysctl 8 709and 710.Xr sysctl 3 711for details. 712.It Cd option KEY 713Enables PFKEYv2 (RFC 2367) support. 714While not IP specific, this option is usually used in conjunction with option 715.Em IPSEC . 716.It Cd option ALTQ 717Enables ALTQ (Alternate Queuing). 718See 719.Xr pfctl 8 720and 721.Xr pf.conf 5 722to set up the interface transmission rate and queueing disciplines. 723.Em ALTQ_CBQ , 724.Em ALTQ_RED , 725.Em ALTQ_PRIQ 726and 727.Em ALTQ_HFSC 728are enabled by default with option 729.Em ALTQ 730in 731.Ox . 732See 733.Xr altq 9 734for details on ALTQ. 735.It Cd option ALTQ_RIO 736Enables ALTQ's RIO (RED with In/Out) module. 737The original RIO has 2 sets of RED parameters; one for in-profile 738packets and the other for out-of-profile packets. 739At the ingress of the network, profile meters tag packets as IN or 740OUT based on contracted profiles for customers. 741Inside the network, IN packets receive preferential treatment by 742the RIO dropper. 743ALTQ/RIO has 3 drop precedence levels defined for the Assured Forwarding 744PHB of DiffServ (RFC 2597). 745.It Cd option ALTQ_NOPCC 746Disables use of processor cycle counter (e.g., Pentium TSC on i386 and 747PCC on alpha) to measure time in ALTQ. 748This option should be defined for a non-Pentium i386 CPU which does not 749have TSC, SMP (per-CPU counters are not in sync), or power management 750which affects processor cycle counter. 751.El 752.Ss SCSI Subsystem Options 753.Bl -ohang 754.It Cd option SCSITERSE 755Terser SCSI error messages. 756This omits the table for decoding ASC/ASCQ info, saving about 30KB. 757.It Cd option SCSIDEBUG 758Enable printing of SCSI subsystem debugging info to the console. 759Each of 760.Em SCSIDEBUG_LEVEL , 761.Em SCSIDEBUG_BUSES , 762.Em SCSIDEBUG_TARGETS 763and 764.Em SCSIDEBUG_LUNS 765must have non-zero values for any debugging info to be printed. 766Only 767.Em SCSI_DEBUG_LEVEL 768has a default value that is non-zero. 769.It Cd option SCSIDEBUG_LEVEL=value 770Define which of the four levels of debugging info are printed. 771Each bit enables a level, and multiple levels are specified by setting multiple 772bits. 773.Bd -literal -offset indent 7740x0010 (SDEV_DB1) SCSI commands, errors, and data 7750x0020 (SDEV_DB2) routine flow 7760x0040 (SDEV_DB3) routine internals 7770x0080 (SDEV_DB4) miscellaneous addition debugging 778.Ed 779.Pp 780If 781.Em SCSIDEBUG_LEVEL 782is undefined, a value of 0x0030 (SDEV_DB1|SDEV_DB2) is used. 783.It Cd option SCSIDEBUG_BUSES=value 784Define which SCSI buses will print debug info. 785Each bit enables debugging info for the corresponding bus. 786e.g. a value of 0x1 enables debug info for bus 0. 787.It Cd option SCSIDEBUG_TARGETS=value 788Define which SCSI targets will print debug info. 789Each bit enables debugging info for the corresponding target. 790.It Cd option SCSIDEBUG_LUNS=value 791Define which SCSI luns will print debug info. 792Each bit enables debugging info for the corresponding lun. 793.It Cd option SCSIFORCELUN_BUSES=value 794Define which SCSI buses will do full lun scanning. 795.Em SCSIFORCELUN_TARGETS 796must also be set to a non-zero value for this option to take effect. 797Each bit enables a full lun scan for the corresponding SCSI bus. 798The lun scan normally terminates if identical INQUIRY data is seen for 799lun 0 and another lun, as this usually means the target cannot 800distinguish between different luns. 801But some devices (e.g. some external RAID devices) can legitimately 802supply identical INQUIRY data for several luns. 803.It Cd option SCSIFORCELUN_TARGETS=value 804Define which SCSI targets will do full lun scanning. 805.Em SCSIFORCELUN_BUSES 806must also be set to a non-zero value for this option to have any 807effect. 808Each bit enables a full lun scan for the corresponding target on the 809buses specified by 810.Em SCSIFORCELUN_BUSES. 811.El 812.Ss System V IPC Options 813.Bl -ohang 814.It Cd option SYSVMSG 815Includes support for 816.At V 817style message queues. 818See 819.Xr msgctl 2 , 820.Xr msgget 2 , 821.Xr msgrcv 2 , 822.Xr msgsnd 2 . 823.It Cd option SYSVSEM 824Includes support for 825.At V 826style semaphores. 827See 828.Xr semctl 2 , 829.Xr semget 2 , 830.Xr semop 2 . 831.It Cd option VFORK_SHM 832Allows for evil things with 833.Xr vfork 2 . 834Normally, doing anything else after a vfork than 835.Xr execve 2 836family call or 837.Xr _exit 2 838is undefined. 839With this option, the old-fashioned behaviour of the 840child and parent sharing the memory until the lock is 841released is restored. 842This will break on some arches. 843.It Cd option SYSVSHM 844Includes support for 845.At V 846style shared memory. 847See 848.Xr shmat 2 , 849.Xr shmctl 2 , 850.Xr shmdt 2 , 851.Xr shmget 2 . 852.It Cd option SHMMAXPGS=value 853Sets the maximum number of 854.At V 855style shared memory pages that are available through the 856.Xr shmget 2 857system call. 858Default value is 1024 on most architectures. 859See 860.Pa /usr/include/machine/vmparam.h 861for the default. 862.It Cd option SEMMNI=value 863Number of semaphore identifiers (also called semaphore handles 864and semaphore sets) available in the system. 865Default value is 10. 866The kernel allocates memory for the control structures at startup, 867so arbitrarily large values should be avoided. 868.It Cd option SEMMNS=value 869Maximum number of semaphores in all sets in the system. 870Default value is 60. 871.It Cd option SEMMNU=value 872Maximum number of semaphore undo structures in the system. 873Default value is 30. 874.It Cd option SEMUME=value 875Maximum number of per-process undo operation entries in the 876system. 877Semaphore undo operations are invoked by the kernel when 878.Xr semop 2 879is called with the SEM_UNDO flag and the process holding 880the semaphores terminates unexpectedly. 881Default value is 10. 882.El 883.Ss Operation Related Options 884.Bl -ohang 885.It Cd option NKMEMPAGES=value 886.It Cd option NKMEMPAGES_MIN=value 887.It Cd option NKMEMPAGES_MAX=value 888Size of kernel malloc area in PAGE_SIZE-sized logical pages. 889This area is covered by the kernel submap 890.Em kmem_map . 891The kernel attempts to auto-size this map based on the amount of 892physical memory in the system. 893Platform-specific code may place bounds on this computed size, 894which may be viewed with the 895.Xr sysctl 8 896variable 897.Em vm.nkmempages . 898See 899.Pa /usr/include/machine/param.h 900for the default upper and lower bounds. 901The related options 902.Sq NKMEMPAGES_MIN 903and 904.Sq NKMEMPAGES_MAX 905allow the bounds to be overridden in the kernel configuration file. 906These options are provided in the event the computed value is 907insufficient resulting in an 908.Dq out of space in kmem_map 909panic. 910.It Cd option NBUF=value 911.It Cd option BUFPAGES=value 912These options set the number of pages available for the buffer cache. 913Their default value is a machine dependent value, often calculated as 914between 5% and 10% of total available RAM. 915.It Cd option DUMMY_NOPS 916This option is supported on the i386 architecture. 917When enabled, it speeds up interrupt processing by removing delays 918while accessing the interrupt controller. 919Care should be taken when using this option. 920.It Cd option APM_NOPRINT 921This option is supported on the i386 architecture. 922When enabled, kernel messages regarding the status of the automatic power 923management system 924.Tn ( APM ) 925are suppressed. 926.Tn APM 927status can still be obtained using 928.Xr apm 8 929and/or 930.Xr apmd 8 . 931.It Cd option \&"TIMEZONE=value\&" 932.Ar value 933indicates the timezone offset of hardware realtime clock device, in minutes, 934from UTC. 935It is useful when hardware realtime clock device is configured with local time, 936when dual-booting 937.Ox 938with other operating systems on a single machine. 939For instance, if hardware realtime clock is set to Tokyo time, 940.Ar value 941should be 942.Li \&-540 943as Tokyo local time is 9 hours ahead of UTC. 944Double quotes are needed when specifying a negative 945.Ar value . 946.El 947.\" The following requests should be uncommented and used where appropriate. 948.\" .Sh FILES 949.\" .Sh EXAMPLES 950.Sh SEE ALSO 951.Xr gcc-local 1 , 952.Xr gdb 1 , 953.Xr ktrace 1 , 954.Xr quota 1 , 955.Xr gettimeofday 2 , 956.Xr i386_iopl 2 , 957.Xr msgctl 2 , 958.Xr msgget 2 , 959.Xr msgrcv 2 , 960.Xr msgsnd 2 , 961.Xr ptrace 2 , 962.Xr semctl 2 , 963.Xr semget 2 , 964.Xr semop 2 , 965.Xr shmat 2 , 966.Xr shmctl 2 , 967.Xr shmdt 2 , 968.Xr shmget 2 , 969.Xr sysctl 3 , 970.Xr ddb 4 , 971.Xr inet 4 , 972.Xr ipsec 4 , 973.Xr iso 4 , 974.Xr lkm 4 , 975.Xr ns 4 , 976.Xr pci 4 , 977.Xr xf86 4 , 978.Xr X 7 , 979.Xr apm 8 , 980.Xr apmd 8 , 981.Xr config 8 , 982.Xr edquota 8 , 983.Xr init 8 , 984.Xr mount_cd9660 8 , 985.Xr mount_fdesc 8 , 986.Xr mount_kernfs 8 , 987.Xr mount_mfs 8 , 988.Xr mount_msdos 8 , 989.Xr mount_nfs 8 , 990.Xr mount_null 8 , 991.Xr mount_portal 8 , 992.Xr mount_procfs 8 , 993.Xr mount_umap 8 , 994.Xr mount_union 8 , 995.Xr mrouted 8 , 996.Xr quotaon 8 , 997.Xr rpc.rquotad 8 , 998.Xr sysctl 8 , 999.Xr altq 9 1000.Sh HISTORY 1001The 1002.Nm 1003man page first appeared in 1004.Ox 2.3 . 1005.Sh BUGS 1006The 1007.Em INET 1008option should not be required. 1009