1.\" $OpenBSD: options.4,v 1.191 2008/09/06 14:04:48 jmc 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: September 6 2008 $ 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.Em Note: 220not available on all architectures. 221.It Cd option DDB_SAFE_CONSOLE 222Allows a break into the kernel debugger during boot. 223Useful when debugging problems that can cause init(8) to fail. 224.It Cd option DEBUG 225Turns on miscellaneous kernel debugging. 226Since options are turned into preprocessor defines (see above), 227.Cm option DEBUG 228is equivalent to doing a 229.Em #define DEBUG 230throughout the kernel. 231Much of the kernel has 232.Em #ifdef DEBUG 233conditional debugging code. 234Note that many parts of the kernel (typically device drivers) include their own 235.Em #ifdef XXX_DEBUG 236conditionals instead. 237This option also turns on certain other options, notably 238.Cm option KMEMSTATS . 239.It Cd option DIAGNOSTIC 240Adds code to the kernel that does internal consistency checks. 241This code will cause the kernel to panic if corruption of internal data 242structures is detected. 243.It Cd option GPROF 244Adds code to the kernel for kernel profiling with 245.Xr kgmon 8 . 246.It Cd option KGDB 247Compiles in a remote kernel debugger stub for diagnosing kernel problems 248using the 249.Dq remote target 250feature of gdb. 251See 252.Xr kgdb 7 253for details. 254.Em Note: 255not available on all architectures. 256.It Cd option KTRACE 257Adds hooks for the system call tracing facility, which allows users to 258watch the system call invocation behavior of processes. 259See 260.Xr ktrace 1 261for details. 262.It Cd option NO_PROPOLICE 263Do not compile the kernel with the ProPolice stack protection. 264See 265.Xr gcc-local 1 266for more information about ProPolice. 267.It Cd option PTRACE 268Adds hooks for the process tracing facility, allowing a process to 269control and observe another process. 270See 271.Xr ptrace 2 272for details. 273.It Cd option RAIDDEBUG 274Be verbose on what RAIDframe does. 275See 276.Xr raid 4 277for details. 278.It Cd option SMALL_KERNEL 279Removes some features and some optimizations from the kernel to reduce the 280size of the resulting kernel binary. 281This option is used on some installation media and should not be used 282for general purpose kernels. 283.It Cd option VFSDEBUG 284Turns on debugging for the Virtual File System interface. 285See 286.Xr vfs 9 287for details. 288.El 289.Sh FILE SYSTEMS 290.Bl -ohang 291.It Cd option CD9660 292Includes code for the ISO 9660 + Rock Ridge file system, which is the 293standard file system used on many CD-ROMs. 294It also supports Joliet extensions. 295See 296.Xr mount_cd9660 8 297for details. 298.It Cd option EXT2FS 299Includes code implementing the Second Extended File System 300.Em ( EXT2FS ) . 301This is the most commonly used file system on the Linux operating system, 302and is provided here for compatibility. 303Some specific features of 304.Em EXT2FS 305like the "behavior on errors" are not implemented. 306This file system 307can't be used with 308.Li uid_t 309or 310.Li gid_t 311values greater than 65535. 312Also, the filesystem will not function correctly on architectures with 313differing byte-orders. 314That is, a big-endian machine will not be able to read an 315ext2fs filesystem created on an i386 or other little-endian machine. 316See 317.Xr mount_ext2fs 8 318for details. 319.It Cd option FFS 320Includes code implementing the Berkeley Fast File System 321.Em ( FFS ) . 322Most machines need this if they are not running diskless. 323.It Cd option FFS2 324Includes code implementing the enhanced Fast File System 325.Em ( FFS2 ) . 326.It Cd option MFS 327Include the memory file system 328.Em ( MFS ) . 329This file system stores files in swappable memory, and produces 330notable performance improvements when it is used as the file store 331for 332.Pa /tmp 333or similar mount points. 334See 335.Xr mount_mfs 8 336for details. 337.It Cd option MSDOSFS 338Includes support for the MS-DOS FAT file system. 339The kernel also implements the Windows 95 340extensions which permit the use of longer, mixed-case file names. 341See 342.Xr mount_msdos 8 343and 344.Xr fsck_msdos 8 345for details. 346.It Cd option NFSCLIENT 347Include the client side of the 348.Em NFS 349(Network File System) remote file sharing protocol. 350Although the bulk of the code implementing 351.Em NFS 352is kernel based, several user level daemons are needed for it to work. 353See 354.Xr mount_nfs 8 355for details on NFS. 356.It Cd option NTFS 357Includes support for reading NTFS file systems. 358Experimental and read only. 359See 360.Xr mount_ntfs 8 361for details. 362.It Cd option PORTAL 363Includes the (experimental) portal filesystem. 364This permits interesting tricks like opening TCP sockets by opening files in 365the file system. 366The portal file system is conventionally mounted on 367.Pa /p 368and is partially implemented by a special daemon. 369See 370.Xr mount_portal 8 371for details. 372.It Cd option PROCFS 373Includes code for a special file system (conventionally mounted on 374.Pa /proc ) 375in which the process space becomes visible in the file system. 376Among other things, the memory spaces of processes running on the system are 377visible as files, and signals may be sent to processes by writing to 378.Pa ctl 379files in the procfs namespace. 380See 381.Xr mount_procfs 8 382for details. 383.It Cd option UDF 384Includes code for the UDF file systems typically found on DVD discs. 385See 386.Xr mount_udf 8 387for details. 388.It Cd option XFS 389Includes the kernel support for the AFS-compatible Arla filesystem. 390Since the xfs interface is simple and generic it can be used for other 391filesystems as well. 392See 393.Xr mount_xfs 8 394for details. 395.El 396.Sh FILE SYSTEM OPTIONS 397.Bl -ohang 398.It Cd option BUFCACHEPERCENT= Ns Ar integer 399Percentage of RAM to use as a file system buffer. 400It defaults to 5. 401.It Cd option EXT2FS_SYSTEM_FLAGS 402This option changes the behavior of the APPEND and IMMUTABLE flags 403for a file on an 404.Em EXT2FS 405filesystem. 406Without this option, the superuser or owner of the file can set and clear them. 407With this option, only the superuser can set them, and they can't be cleared 408if the securelevel is greater than 0. 409See also 410.Xr chflags 1 . 411.It Cd option FFS_SOFTUPDATES 412Enables a scheme that uses partial ordering of buffer cache operations 413to allow metadata updates in FFS to happen asynchronously, increasing write 414performance significantly. 415Normally, the FFS filesystem writes metadata updates synchronously which exacts 416a performance penalty in favor of filesystem integrity. 417With soft updates, the performance of asynchronous writes is gained while 418retaining the safety of synchronous metadata updates. 419.Pp 420Soft updates must be enabled on a per-filesystem basis. 421See 422.Xr mount 8 423for details. 424.Pp 425Processors with a small kernel address space, such as the sun4 and sun4c, do 426not have enough kernel memory to support soft updates. 427Attempts to use this option with these CPUs will cause a kernel hang or panic 428after a short period of use as the kernel will quickly run out of memory. 429This is not related to the amount of physical memory present in the machine -- 430it is a limitation of the CPU architecture itself. 431.It Cd option FIFO 432Adds support for 433.At V 434style FIFOs (i.e., 435.Dq named pipes ) . 436This option is recommended in almost all cases as many programs use these. 437.It Cd option NFSSERVER 438Include the server side of the 439.Em NFS 440(Network File System) remote file sharing protocol. 441Although the bulk of the code implementing 442.Em NFS 443is kernel based, several user level daemons are needed for it to 444work. 445See 446.Xr mountd 8 447and 448.Xr nfsd 8 449for details. 450.It Cd option QUOTA 451Enables kernel support for file system quotas. 452See 453.Xr quotaon 8 , 454.Xr edquota 8 , 455.Xr repquota 8 , 456and 457.Xr quota 1 458for details. 459Note that quotas only work on 460.Dq ffs 461file systems, although 462.Xr rpc.rquotad 8 463permits them to be accessed over 464.Em NFS . 465.It Cd option UFS_DIRHASH 466This option enables using an in memory hash table to speed lookups 467in large directories. 468.El 469.Sh MISCELLANEOUS OPTIONS 470.Bl -ohang 471.It Cd option APERTURE 472Provide in-kernel support for controlling VGA framebuffer mapping 473and PCI configuration registers by user-processes 474(such as an X Window System server). 475This option is supported on the 476.Va alpha , 477.Va amd64 , 478.Va i386 , 479.Va macppc , 480and 481.Va sparc64 482architectures. 483.It Cd option BOOT_CONFIG 484Adds support for the 485.Fl c 486boot option (User Kernel Config). 487Allows modification of kernel settings (e.g., device parameters) before 488booting the system. 489.It Cd option CCDNBUF= Ns Ar integer 490The 491.Xr ccd 4 492device driver uses 493.Dq component buffers 494to distribute I/O requests to the components of a concatenated disk. 495It keeps a freelist of buffer 496headers in order to reduce use of the kernel memory allocator. 497.Em CCDNBUF 498is the number of buffer headers allocated on the freelist for 499each component buffer. 500It defaults to 8. 501.It Cd option CRYPTO 502Enables support for the kernel cryptographic framework. 503See 504.Xr crypto 9 505for details. 506While not IP specific, this option is usually used in conjunction with option 507.Em IPSEC . 508.It Cd option EISAVERBOSE 509Makes the boot process more verbose for EISA peripherals. 510.It Cd option INSECURE 511Hardwires the kernel security level at \-1. 512This means that the system always runs in securelevel 0 mode, even when 513running multiuser. 514See 515.Xr init 8 516for details on the implications of this. 517The kernel secure level may be manipulated by the superuser by altering the 518.Em kern.securelevel 519sysctl variable. 520(It should be noted that the securelevel may only be lowered by a call from 521process ID 1, i.e., 522.Xr init 8 . ) 523See also 524.Xr sysctl 8 525and 526.Xr sysctl 3 . 527.It Cd option KMEMSTATS 528The kernel memory allocator, 529.Xr malloc 9 , 530will keep statistics on its performance if this option is enabled. 531Note that this option is silently turned on by the 532.Cm DEBUG 533option. 534.It Cd option LKM 535Enables support for loadable kernel modules. 536See 537.Xr lkm 4 538for details. 539.Em Note: 540This option is not yet available on all architectures. 541.It Cd option MACOBIOVERBOSE 542Makes the boot process more verbose for OBIO peripherals on the 543.Va macppc 544architecture. 545.It Cd option MULTIPROCESSOR 546On those architectures that have it, this enables multiprocessor support. 547.It Cd option PCIVERBOSE 548Makes the boot process more verbose for PCI peripherals 549(vendor names and other information is printed, etc.). 550.It Cd option PCMCIAVERBOSE 551Makes the boot process more verbose for PCMCIA peripherals. 552.It Cd option RAID_AUTOCONFIG 553Adds support for auto-configuring the RAIDframe devices during the kernel 554initialization. 555See 556.Xr raid 4 557and 558.Xr raidctl 8 559for details. 560.It Cd option USER_LDT 561Enable userland manipulation of per-process 562Local Descriptor Table (LDT) entries; 563see 564.Xr i386_set_ldt 2 565and the 566.Va machdep.userldt 567.Xr sysctl 8 . 568This option is supported on the 569.Va i386 570architecture. 571.It Cd option USER_PCICONF 572Enables the user level access to the PCI bus configuration space 573through ioctls on the 574.Pa /dev/pci 575device. 576It's used by the 577.Xr Xorg 1 578server on some architectures. 579See 580.Xr pci 4 581for details. 582.It Cd option UVM_SWAP_ENCRYPT 583Enables kernel support for encrypting pages that are written out to 584swap storage. 585Swap encryption prevents sensitive data from remaining 586on the disk even after the operating system has been shut down. 587This option should be turned on if cryptographic filesystems are used. 588The sysctl variable 589.Em vm.swapencrypt.enable 590controls its behaviour. 591See 592.Xr sysctl 8 593and 594.Xr sysctl 3 595for details. 596.El 597.Sh NETWORKING OPTIONS 598.Bl -ohang 599.It Cd option ALTQ 600Enables ALTQ (Alternate Queuing). 601See 602.Xr pfctl 8 603and 604.Xr pf.conf 5 605to set up the interface transmission rate and queueing disciplines. 606.Em ALTQ_CBQ , 607.Em ALTQ_RED , 608.Em ALTQ_PRIQ 609and 610.Em ALTQ_HFSC 611are enabled by default with option 612.Em ALTQ 613in 614.Ox . 615See 616.Xr altq 9 617for details on ALTQ. 618.It Cd option ALTQ_NOPCC 619Disables use of processor cycle counter (e.g., Pentium TSC on i386 and 620PCC on alpha) to measure time in ALTQ. 621This option should be defined for a non-Pentium i386 CPU which does not 622have TSC, SMP (per-CPU counters are not in sync), or power management 623which affects processor cycle counter. 624.It Cd option ALTQ_RIO 625Enables ALTQ's RIO (RED with In/Out) module. 626The original RIO has 2 sets of RED parameters; one for in-profile 627packets and the other for out-of-profile packets. 628At the ingress of the network, profile meters tag packets as IN or 629OUT based on contracted profiles for customers. 630Inside the network, IN packets receive preferential treatment by 631the RIO dropper. 632ALTQ/RIO has 3 drop precedence levels defined for the Assured Forwarding 633PHB of DiffServ (RFC 2597). 634.It Cd option ENCDEBUG 635This option enables debugging information to be conditionally logged 636in case IPSEC encounters errors. 637The option 638.Em IPSEC 639is required along with this option. 640Debug logging can be turned on/off through the use of the 641.Em net.inet.ip.encdebug 642sysctl variable. 643If 644.Em net.ipsec.encap.encdebug 645is 1, debug logging is on. 646See 647.Xr sysctl 8 648and 649.Xr sysctl 3 650for details. 651.It Cd option INET 652Includes support for the TCP/IP protocol stack. 653This option is currently required. 654See 655.Xr inet 4 656for details. 657.It Cd option INET6 658Includes support for the IPv6 protocol stack. 659See 660.Xr inet6 4 661for details. 662Unlike 663.Em INET , 664.Em INET6 665enables multicast routing code as well. 666This option requires 667.Em INET 668at this moment, but it should not. 669.It Cd option IPSEC 670This option enables IP security protocol support. 671See 672.Xr ipsec 4 673for more details. 674.It Cd option KEY 675Enables PFKEYv2 (RFC 2367) support. 676While not IP specific, this option is usually used in conjunction with option 677.Em IPSEC . 678.It Cd option MROUTING 679Includes support for IP multicast routers. 680.Em INET 681should be set along with this. 682Multicast routing is controlled by the 683.Xr mrouted 8 684daemon. 685.It Cd option ND6_DEBUG 686The option sets the default value of 687.Em net.inet6.icmp6.nd6_debug 688to 1, 689for debugging IPv6 neighbor discovery protocol handling. 690See 691.Xr sysctl 3 692for details. 693.It Cd option NETATALK 694Include kernel support for the AppleTalk family of protocols. 695This suite of supporting code is sometimes called 696.Em netatalk 697support. 698.It Cd option PPP_BSDCOMP 699Enables BSD compressor for PPP connections. 700.It Cd option PPP_DEFLATE 701For use in conjunction with PPP_BSDCOMP; provides an interface to zlib for PPP 702for deflate compression/decompression. 703.It Cd option TCP_ECN 704Turns on Explicit Congestion Notification (RFC 3168). 705.Em ECN 706allows intermediate routers to use the Congestion Experienced 707codepoint in the IP header as an indication of congestion, and allows 708TCP to adjust the transmission rate using this signal. 709Both communication endpoints negotiate enabling 710.Em ECN 711functionality at the TCP connection establishment. 712.It Cd option TCP_FACK 713Turns on forward acknowledgements allowing a more precise estimate of 714outstanding data during the fast recovery phase by using 715.Em SACK 716information. 717This option can only be used together with 718.Em TCP_SACK . 719.It Cd option TCP_SACK 720Turns on selective acknowledgements. 721Additional information about 722segments already received can be transmitted back to the sender, 723thus indicating segments that have been lost and allowing for 724a swifter recovery. 725Both communication endpoints need to support 726.Em SACK . 727The fallback behaviour is NewReno fast recovery phase, which allows 728one lost segment to be recovered per round trip time. 729When more than one segment has been dropped per window, the transmission can 730continue without waiting for a retransmission timeout. 731.It Cd option TCP_SIGNATURE 732Turns on support for the TCP MD5 Signature option (RFC 2385). 733This is used by 734Internet backbone routers to provide per-packet authentication for the TCP 735packets used to communicate BGP routing information. 736You will also need a 737routing daemon that supports this option in order to actually use it. 738.El 739.Sh OPERATION RELATED OPTIONS 740.Bl -ohang -compact 741.It Cd option APM_NOPRINT 742This option is supported on the i386 architecture. 743When enabled, kernel messages regarding the status of the automatic power 744management system (APM) are suppressed. 745APM status can still be obtained using 746.Xr apm 8 747and/or 748.Xr apmd 8 . 749.Pp 750.It Cd option BUFPAGES= Ns Ar value 751.It Cd option NBUF= Ns Ar value 752These options set the number of pages available for the buffer cache. 753Their default value is a machine dependent value, often calculated as 754between 5% and 10% of total available RAM. 755.Pp 756.It Cd option DST= Ns Ar value 757If 758.Ar value 759is non-zero, indicates that the hardware realtime clock device 760is one hour ahead of the offset given in 761.Sq TIMEZONE , 762due to Daylight Saving Time (DST). 763If 764.Ar value 765is zero, the hardware realtime clock device is not in Daylight Saving Time. 766.Pp 767.It Cd option NKMEMPAGES= Ns Ar value 768.It Cd option NKMEMPAGES_MAX= Ns Ar value 769.It Cd option NKMEMPAGES_MIN= Ns Ar value 770Size of kernel malloc area in PAGE_SIZE-sized logical pages. 771This area is covered by the kernel submap 772.Em kmem_map . 773The kernel attempts to auto-size this map based on the amount of 774physical memory in the system. 775Platform-specific code may place bounds on this computed size, 776which may be viewed with the 777.Xr sysctl 8 778variable 779.Em vm.nkmempages . 780See 781.Pa /usr/include/machine/param.h 782for the default upper and lower bounds. 783The related options 784.Sq NKMEMPAGES_MIN 785and 786.Sq NKMEMPAGES_MAX 787allow the bounds to be overridden in the kernel configuration file. 788These options are provided in the event the computed value is 789insufficient resulting in an 790.Dq out of space in kmem_map 791panic. 792.Pp 793.It Cd option \&"TIMEZONE= Ns Ar value Ns Cm \&" 794.Ar value 795indicates the time zone offset of the hardware realtime clock device, 796in minutes, 797from UTC. 798It is useful when the hardware realtime clock device is configured 799with local time, 800when dual-booting 801.Ox 802with other operating systems on a single machine. 803For instance, if the hardware realtime clock is set to Tokyo time, 804.Ar value 805should be 806.Li \&-540 807as Tokyo local time is 9 hours ahead of UTC. 808Double quotes are needed when specifying a negative 809.Ar value . 810.El 811.Sh SCSI SUBSYSTEM OPTIONS 812.Bl -ohang 813.It Cd option SCSI_DELAY= Ns Ar value 814Delay for 815.Ar value 816seconds before starting to probe the first SCSI bus. 817This can be used if a SCSI device needs extra time to get ready. 818.It Cd option SCSIDEBUG 819Enable printing of SCSI subsystem debugging info to the console. 820Each of 821.Em SCSIDEBUG_LEVEL , 822.Em SCSIDEBUG_BUSES , 823.Em SCSIDEBUG_TARGETS 824and 825.Em SCSIDEBUG_LUNS 826must have non-zero values for any debugging info to be printed. 827Only 828.Em SCSIDEBUG_LEVEL 829.It Cd option SCSIDEBUG_BUSES= Ns Ar value 830Define which SCSI buses will print debug info. 831Each bit enables debugging info for the corresponding bus. 832e.g. a value of 0x1 enables debug info for bus 0. 833has a default value that is non-zero. 834.It Cd option SCSIDEBUG_LEVEL= Ns Ar value 835Define which of the four levels of debugging info are printed. 836Each bit enables a level, and multiple levels are specified by setting multiple 837bits. 838.Bd -literal -offset indent 8390x0010 (SDEV_DB1) SCSI commands, errors, and data 8400x0020 (SDEV_DB2) routine flow 8410x0040 (SDEV_DB3) routine internals 8420x0080 (SDEV_DB4) miscellaneous addition debugging 843.Ed 844.Pp 845If 846.Em SCSIDEBUG_LEVEL 847is undefined, a value of 0x0030 (SDEV_DB1|SDEV_DB2) is used. 848.It Cd option SCSIDEBUG_LUNS= Ns Ar value 849Define which SCSI luns will print debug info. 850Each bit enables debugging info for the corresponding lun. 851.It Cd option SCSIDEBUG_TARGETS= Ns Ar value 852Define which SCSI targets will print debug info. 853Each bit enables debugging info for the corresponding target. 854.It Cd option SCSITERSE 855Terser SCSI error messages. 856This omits the table for decoding ASC/ASCQ info, saving about 30KB. 857.El 858.Sh SYSTEM V IPC OPTIONS 859.Bl -ohang 860.It Cd option SEMMNI= Ns Ar value 861Number of semaphore identifiers (also called semaphore handles 862and semaphore sets) available in the system. 863Default value is 10. 864The kernel allocates memory for the control structures at startup, 865so arbitrarily large values should be avoided. 866.It Cd option SEMMNS= Ns Ar value 867Maximum number of semaphores in all sets in the system. 868Default value is 60. 869.It Cd option SEMMNU= Ns Ar value 870Maximum number of semaphore undo structures in the system. 871Default value is 30. 872.It Cd option SEMUME= Ns Ar value 873Maximum number of per-process undo operation entries in the 874system. 875Semaphore undo operations are invoked by the kernel when 876.Xr semop 2 877is called with the SEM_UNDO flag and the process holding 878the semaphores terminates unexpectedly. 879Default value is 10. 880.It Cd option SHMMAXPGS= Ns Ar value 881Sets the maximum number of 882.At V 883style shared memory pages that are available through the 884.Xr shmget 2 885system call. 886Default value is 1024 on most architectures. 887See 888.Pa /usr/include/machine/vmparam.h 889for the default. 890.It Cd option SYSVMSG 891Includes support for 892.At V 893style message queues. 894See 895.Xr msgctl 2 , 896.Xr msgget 2 , 897.Xr msgrcv 2 , 898.Xr msgsnd 2 . 899.It Cd option SYSVSEM 900Includes support for 901.At V 902style semaphores. 903See 904.Xr semctl 2 , 905.Xr semget 2 , 906.Xr semop 2 . 907.It Cd option SYSVSHM 908Includes support for 909.At V 910style shared memory. 911See 912.Xr shmat 2 , 913.Xr shmctl 2 , 914.Xr shmdt 2 , 915.Xr shmget 2 . 916.El 917.Sh SEE ALSO 918.Xr intro 4 , 919.Xr files.conf 5 , 920.Xr config 8 , 921.Xr sysctl 8 922.Sh HISTORY 923The 924.Nm 925man page first appeared in 926.Ox 2.3 . 927.Sh BUGS 928The 929.Em INET 930option should not be required. 931