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