1.\" $NetBSD: options.4,v 1.228 2004/02/13 09:58:09 wiz Exp $ 2.\" 3.\" Copyright (c) 1996 4.\" Perry E. Metzger. All rights reserved. 5.\" 6.\" Redistribution and use in source and binary forms, with or without 7.\" modification, are permitted provided that the following conditions 8.\" are met: 9.\" 1. Redistributions of source code must retain the above copyright 10.\" notice, this list of conditions and the following disclaimer. 11.\" 2. Redistributions in binary form must reproduce the above copyright 12.\" notice, this list of conditions and the following disclaimer in the 13.\" documentation and/or other materials provided with the distribution. 14.\" 3. All advertising materials mentioning features or use of this software 15.\" must display the following acknowledgment: 16.\" This product includes software developed for the NetBSD Project 17.\" by Perry E. Metzger. 18.\" 4. The name of the author may not be used to endorse or promote products 19.\" derived from this software without specific prior written permission. 20.\" 21.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 22.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 23.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 24.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 25.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 26.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 27.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 28.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 29.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 30.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 31.\" 32.\" 33.Dd January 12, 2004 34.Os 35.Dt OPTIONS 4 36.Sh NAME 37.Nm options 38.Nd Miscellaneous kernel configuration options 39.Sh SYNOPSIS 40.Cd cinclude ... 41.Cd config ... 42.Cd [no] file-system ... 43.Cd ident ... 44.Cd include ... 45.Cd [no] makeoptions ... 46.Cd maxusers ... 47.Cd [no] options ... 48.Cd [no] pseudo-device ... 49.Sh DESCRIPTION 50This manual page describes a number of miscellaneous kernel 51configuration options that may be specified in a kernel config 52file. 53See 54.Xr config 8 55for information on how to configure and build kernels. 56.Pp 57The 58.Ar no 59form removes a previously specified option. 60.Ss Keywords 61The following keywords are recognized in a kernel configuration file: 62.Bl -ohang 63.It Sy cinclude Xo 64.Qq Ar filename 65.Xc 66Conditionally includes another kernel configuration file whose name is 67.Ar filename , 68which may be double-quoted and may be an explicit path or relative to 69the kernel source directory. 70Failure to open the named file is ignored. 71.It Sy config Xo 72.Ar exec_name 73.No root on 74.Ar rootdev 75.Op type Ar fstype 76.Op dumps on Ar dumpdev 77.Xc 78Defines a configuration whose kernel executable is named 79.Ar exec_name , 80normally 81.Dq netbsd , 82with its root file system of type 83.Ar fstype 84on the device 85.Ar rootdev , 86and optionally specifying the location of kernel core dumps on the device 87.Ar dumpdev . 88.Ar dev 89or 90.Ar dumpdev 91and 92.Ar fstype 93may be specified as 94.Dq \&? , 95which is a wild card. 96The root 97.Ar fstype 98and 99.Ar dumpdev 100are optional and assumed to be wild carded if they are not specified. 101.It Ar device_instance Xo 102at 103.Ar attachment 104.Op Ar locators value Op ... 105.Op flags Ar value 106.Xc 107Define an instance of the device driver 108.Ar device_instance 109that attaches to the bus or device named 110.Ar attachment . 111An 112.Ar attachment 113may require additional information on where the device can be found, such 114as an address, channel, function, offset, and/or slot, referred to as 115.Ar locators , 116whose 117.Ar value 118often may be a wild card, 119.Dq \&? . 120Some device drivers have one or more 121.Ar flags 122that can be adjusted to affect the way they operate. 123.It Sy file-system Xo 124.Ar fs_name Op , Ar fs_name Op ... 125.Xc 126Include support for the file-system 127.Ar fs_name . 128.It Sy ident Xo 129.Qq Ar string 130.Xc 131Sets the kernel identification string to 132.Ar string . 133.It Sy include Xo 134.Qq Ar filename 135.Xc 136Functions the same as 137.Ar cinclude , 138except failure to open 139.Ar filename 140produces a fatal error. 141.It Sy options Xo 142.Ar option_name Op , Ar option_name=value Op ... 143.Xc 144Specifies (or sets) the option, or comma-separated list of options, 145.Ar option_name . 146Some options expect to be assigned a value, which may be an integer, 147a double-quoted word, a bare word, or an empty string 148.Pq Qq . 149.Pp 150.Em Note : 151Options that are not defined by device definition files are passed to 152the compile process as 153.Fl D 154flags to the C compiler. 155.It Sy makeoptions Xo 156.Ar name=value 157.Xc 158Defines a 159.Xr make 1 160macro 161.Ar name 162with the value 163.Ar value 164in the kernel Makefile. 165.It Sy maxusers Xo 166.Ar integer 167.Xc 168Set the maxusers variable in the kernel. 169.It Sy no Xo 170.Ar keyword Ar name Op Ar arguments Op ... 171.Xc 172For the 173.Xr config 8 174.Ar keywords 175file-system, makeoptions, options, and pseudo-device, 176.Ar no 177removes the file-system, makeoption, options, or pseudo-device, 178.Ar name . 179This is useful when a kernel configuration file includes another which 180has undesired options. 181.Pp 182For example, a local configuration file that wanted the kitchen sink, but 183not COMPAT_09 or bridging, might be: 184.Bd -literal -offset indent 185include "arch/i386/conf/GENERIC" 186no options COMPAT_09 187no pseudo-device bridge 188.Ed 189.It Sy pseudo-device Xo 190.Ar name 191.Op Ar N 192.Xc 193Includes support for the pseudo-device 194.Ar name . 195Some pseudo-devices can have multiple or 196.Ar N 197instances. 198.El 199.Ss Compatibility Options 200.Bl -ohang 201.It Cd options COMPAT_09 202Enable binary compatibility with 203.Nx 0.9 . 204This enables support for 20516-bit user, group, and process IDs (following revisions support 20632-bit identifiers), 207It also allows the use of the deprecated 208.Xr getdomainname 3 , 209.Xr setdomainname 3 , 210and 211.Xr uname 3 212syscalls. 213This option also allows using numeric file system identifiers rather 214than strings. 215Post 216.Nx 0.9 217versions use string identifiers. 218.It Cd options COMPAT_10 219Enable binary compatibility with 220.Nx 1.0 . 221This option allows the use of the file system name of 222.Dq ufs 223as an alias for 224.Dq ffs . 225The name 226.Dq ffs 227should be used post 1.0 in 228.Pa /etc/fstab 229and other files. 230It also adds old syscalls for the 231.At V 232shared memory interface. 233This was changed post 1.0 to work on 64-bit architectures. 234This option also enables 235.Dq sgtty 236compatibility, without which programs using the old interface produce 237an 238.Dq inappropriate ioctl 239error, and 240.Pa /dev/io 241only works when this option is set in the kernel, 242see 243.Xr io 4 244on ports that support it. 245.It Cd options COMPAT_11 246Enable binary compatibility with 247.Nx 1.1 . 248This allows binaries running on the i386 port to gain direct access to 249the io ports by opening 250.Pa /dev/io 251read/write. 252This functionality was replaced by 253.Xr i386_iopl 2 254post 1.1. 255On the 256.Tn Atari 257port, the location of the disk label was moved after 1.1. 258When the 259.Em COMPAT_11 260option is set, the kernel will read (pre) 1.1 style disk labels as a 261last resort. 262When a disklabel is re-written, the old style label will be replaced 263with a post 1.1 style label. 264This also enables the 265.Em EXEC_ELF_NOTELESS 266option. 267.It Cd options COMPAT_12 268Enable binary compatibility with 269.Nx 1.2 . 270This allows the use of old syscalls for 271.Fn reboot 272and 273.Fn swapon . 274The syscall numbers were changed post 1.2 to add functionality to the 275.Xr reboot 2 276syscall, and the new 277.Xr swapctl 2 278interface was introduced. 279This also enables the 280.Em EXEC_ELF_NOTELESS 281option. 282.It Cd options COMPAT_13 283Enable binary compatibility with 284.Nx 1.3 . 285This allows the use of old syscalls for 286.Fn sigaltstack , 287and also enables the old 288.Xr swapctl 2 289command 290.Dv SWAP_STATS 291(now called 292.Dv SWAP_OSTATS ) , 293which does not include the 294.Fa se_path 295member of 296.Va struct swapent . 297.It Cd options COMPAT_14 298Enable binary compatibility with 299.Nx 1.4 . 300This allows some old 301.Xr ioctl 2 302on 303.Xr wscons 4 304to be performed, and allows the 305.Dv NFSSVC_BIOD 306mode of the 307.Xr nfssvc 2 308system call to be used for compatibility with the deprecated nfsiod program. 309.It Cd options COMPAT_16 310Enable binary compatibility with 311.Nx 1.6 . 312This allows the use of old signal trampoline code which has been deprecated 313with the addition of 314.Xr siginfo 5 . 315.It Cd options COMPAT_43 316Enables compatibility with 317.Bx 4.3 . 318This adds an old syscall for 319.Xr lseek 2 . 320It also adds the ioctls for 321.Dv TIOCGETP 322and 323.Dv TIOCSETP . 324The return values for 325.Xr getpid 2 , 326.Xr getgid 2 , 327and 328.Xr getuid 2 329syscalls are modified as well, to return the parent's PID and 330UID as well as the current process's. 331It also enables the deprecated 332.Dv NTTYDISC 333terminal line discipline. 334It also provides backwards compatibility with 335.Dq old 336SIOC[GS]IF{ADDR,DSTADDR,BRDADDR,NETMASK} interface ioctls, including 337binary compatibility with code written before the introduction of the 338sa_len field in sockaddrs. 339It also enables 340support for some older pre 341.Bx 4.4 342socket calls. 343.It Cd options COMPAT_SVR4 344On those architectures that support it, this enables binary 345compatibility with 346.At V.4 347applications built for the same architecture. 348This currently includes the i386, m68k, and sparc ports. 349.It Cd options COMPAT_LINUX 350On those architectures that support it, this enables binary 351compatibility with Linux ELF and 352.Xr a.out 5 353applications built for the same architecture. 354This currently includes the alpha, arm, i386, m68k, mips, and powerpc 355ports. 356.It Cd options COMPAT_SUNOS 357On those architectures that support it, this enables binary 358compatibility with 359.Tn SunOS 4.1 360applications built for the same architecture. 361This currently includes the sparc, sparc64 and most or all m68k ports. 362Note that the sparc64 requires the 363.Em COMPAT_NETBSD32 364option for 64-bit kernels, in addition to this option. 365.It Cd options COMPAT_ULTRIX 366On those architectures that support it, this enables binary 367compatibility with 368.Tn ULTRIX 369applications built for the same architecture. 370This currently is limited to the pmax. 371The functionality of this option is unknown. 372.It Cd options COMPAT_DARWIN 373On those architectures that support it, this enables binary compatibility with 374.Tn Darwin 375applications built for the same architecture. 376This feature is highly experimental, it requires COMPAT_MACH and 377EXEC_MACHO and it is currently limited to i386 and powerpc ports of 378.Nx . 379.It Cd options COMPAT_FREEBSD 380On those architectures that support it, this enables binary 381compatibility with 382.Fx 383applications built for the same architecture. 384At the moment this is limited to the i386 port. 385.It Cd options COMPAT_HPUX 386On those architectures that support it, this enables binary 387compatibility with 388.Tn HP/UX 389applications built for the same architecture. 390This is limited to the hp300 port, and has some known bugs. 391A limited set of programs do work. 392.It Cd options COMPAT_IBCS2 393On those architectures that support it, this enables binary 394compatibility with iBCS2 or SVR3 applications built for the same architecture. 395This is currently limited to the i386 and vax ports. 396.It Cd options COMPAT_IRIX 397On those architectures that support it, this enables binary 398compatibility with IRIX o32 binaries built for the same architecture. 399This feature is experimental, and it is currently limited to 400the sgimips port of 401.Nx . 402.It Cd options COMPAT_MACH 403On those architectures that support it, this enables the emulation of 404Mach kernel traps for binaries built for the same architecture. 405This features is highly experimental and it is currently 406limited to i386 and powerpc ports of 407.Nx . 408.It Cd options COMPAT_OSF1 409On those architectures that support it, this enables binary 410compatibility with 411.Tn Digital 412.Ux 413.Po 414formerly 415.Tn OSF/1 416.Pc 417applications built for the same architecture. 418This is currently limited to the alpha port. 419.It Cd options COMPAT_NOMID 420Enable compatibility with 421.Xr a.out 5 422executables that lack a machine ID. 423This includes 424.Nx 0.8 Ns 's 425ZMAGIC format, and 386BSD and BSDI's 426QMAGIC, NMAGIC, and OMAGIC 427.Xr a.out 5 428formats. 429.It Cd options COMPAT_NETBSD32 430On those architectures that support it, this enables binary 431compatibility with 32-bit applications built for the same architecture. 432This is currently limited to the sparc64 port, and only applicable for 43364-bit kernels. 434.It Cd options COMPAT_SVR4_32 435On those architectures that support it, this enables binary 436compatibility with 32-bit SVR4 applications built for the same architecture. 437This is currently limited to the sparc64 port, and only applicable for 43864-bit kernels. 439.It Cd options COMPAT_AOUT_M68K 440On m68k architectures which have switched to ELF, 441this enable binary compatibility with 442.Nx Ns Tn /m68k 443.Xr a.out 5 444executables on 445.Nx Ns Tn /m68k 446ELF kernel. 447This handles alignment incompatibility of m68k ABI between 448a.out and ELF which causes the structure padding differences. 449Currently only some system calls which use 450.Va struct stat 451are adjusted and some binaries which use 452.Xr sysctl 3 453to retrieve network details would not work properly. 454.It Cd options EXEC_MACHO 455On those architectures that support it, this adds support for running 456Mach-O executables. 457This is currently limited to the i386 and powerpc ports of 458.Nx . 459.It Cd options EXEC_ELF_NOTELESS 460Run unidentified ELF binaries as 461.Nx 462binaries. 463This might be needed for very old 464.Nx 465ELF binaries on some archs. 466These old binaries didn't contain an appropriate 467.Li .note.netbsd.ident 468section, and thus can't be identified by the kernel as 469.Nx 470binaries otherwise. 471Beware - if this option is on, the kernel would run 472.Em any 473unknown ELF binaries as if they were 474.Nx 475binaries. 476.El 477.Ss Debugging Options 478.Bl -ohang 479.It Cd options DDB 480Compiles in a kernel debugger for diagnosing kernel problems. 481See 482.Xr ddb 4 483for details. 484.Em NOTE : 485not available on all architectures. 486.It Cd options DDB_FROMCONSOLE=integer 487If set to non-zero, DDB may be entered by sending a break on a serial 488console or by a special key sequence on a graphics console. 489A value of "0" ignores console breaks or key sequences. 490If not explicitly specified, the default value is "1". 491Note that this sets the value of the 492.Em ddb.fromconsole 493.Xr sysctl 3 494variable which may be changed at run time -- see 495.Xr sysctl 8 496for details. 497.It Cd options DDB_HISTORY_SIZE=integer 498If this is non-zero, enable history editing in the kernel debugger 499and set the size of the history to this value. 500.It Cd options DDB_ONPANIC 501If set to non-zero, DDB will be entered upon kernel panic. 502The default if not specified is "1". 503Note that this sets the value of the 504.Em ddb.onpanic 505.Xr sysctl 3 506variable which may be changed at run time -- see 507.Xr sysctl 8 508for details. 509.It Cd options DDB_BREAK_CHAR=integer 510This option overrides the using break to enter the kernel debugger 511on the serial console. 512The value given will is the ascii value to be used instead. 513This is currently only supported by the com driver. 514.It Cd options KGDB 515Compiles in a remote kernel debugger stub for diagnosing kernel problems 516using the 517.Dq remote target 518feature of gdb. 519See 520.Xr gdb 1 521for details. 522.Em NOTE : 523not available on all architectures. 524.It Cd options KGDB_DEV 525Device number 526.Po 527as a 528.Dv dev_t 529.Pc 530of kgdb device. 531.It Cd options KGDB_DEVADDR 532Memory address of kgdb device. 533.It Cd options KGDB_DEVMODE 534Permissions of kgdb device. 535.It Cd options KGDB_DEVNAME 536Device name of kgdb device. 537.It Cd options KGDB_DEVRATE 538Baud rate of kgdb device. 539.It Cd makeoptions DEBUG="-g" 540The -g flag causes 541.Pa netbsd.gdb 542to be built in addition to 543.Pa netbsd . 544.Pa netbsd.gdb 545is useful for debugging kernel crash dumps with gdb. 546See 547.Xr gdb 1 548for details. 549This also turns on 550.Em options DEBUG 551(which see). 552.It Cd options DEBUG 553Turns on miscellaneous kernel debugging. 554Since options are turned into preprocessor defines (see above), 555.Em options DEBUG 556is equivalent to doing a 557.Em #define DEBUG 558throughout the kernel. 559Much of the kernel has 560.Em #ifdef DEBUG 561conditionalized debugging code. 562Note that many parts of the kernel (typically device drivers) include their own 563.Em #ifdef XXX_DEBUG 564conditionals instead. 565This option also turns on certain other options, 566which may decrease system performance. 567.It Cd options DIAGNOSTIC 568Adds code to the kernel that does internal consistency checks. 569This code will cause the kernel to panic if corruption of internal data 570structures is detected. 571These checks can decrease performance up to 15%. 572.It Cd options KSTACK_CHECK_MAGIC 573Check kernel stack usage and panic if stack overflow is detected. 574This check is performance sensitive because it scans stack on each context 575switch. 576.It Cd options KTRACE 577Add hooks for the system call tracing facility, which allows users to 578watch the system call invocation behavior of processes. 579See 580.Xr ktrace 1 581for details. 582.It Cd options MSGBUFSIZE=integer 583This option sets the size of the kernel message buffer. 584This buffer holds the kernel output of 585.Fn printf 586when not (yet) read by 587.Xr syslogd 8 . 588This is particularly useful when the system has crashed and you wish to lookup 589the kernel output from just before the crash. 590Also, since the autoconfig output becomes more and more verbose, 591it sometimes happens that the message buffer overflows before 592.Xr syslogd 8 593was able to read it. 594Note that not all systems are capable of obtaining a variable sized message 595buffer. 596There are also some systems on which memory contents are not preserved 597across reboots. 598.It Cd options MALLOCLOG 599Enables an event log for 600.Xr malloc 9 . 601Useful for tracking down 602.Dq Data modified on freelist 603and 604.Dq multiple free 605problems. 606.It Cd options MALLOCLOGSIZE=integer 607Defines the number of entries in the malloc log. 608Default is 100000 entries. 609.It Cd options SYSTRACE 610Add hooks for the system call policy facility. 611See 612.Xr systrace 1 613for details. 614.It Cd options UVMHIST 615Enables the UVM history logs, which create in-memory traces of 616various UVM activities. 617These logs can be displayed be calling 618.Fn uvmhist_dump 619or 620.Fn uvm_hist 621with appropriate arguments from DDB. 622See the kernel source file sys/uvm/uvm_stat.c for details. 623.It Cd options UVMHIST_PRINT 624Prints the UVM history logs on the system console as entries are added. 625Note that the output is 626.Em extremely 627voluminous, so this option is really only useful for debugging 628the very earliest parts of kernel initialization. 629.El 630.Ss File Systems 631.Bl -ohang 632.It Cd file-system FFS 633Includes code implementing the Berkeley Fast File System 634.Em ( FFS ) . 635Most machines need this if they are not running diskless. 636.It Cd file-system EXT2FS 637Includes code implementing the Second Extended File System 638.Em ( EXT2FS ) , 639revision 0 and revision 1 with the 640.Em filetype 641and 642.Em sparse_super 643options. 644This is the most commonly used file system on the Linux operating system, 645and is provided here for compatibility. 646Some of the specific features of 647.Em EXT2FS 648like the "behavior on errors" are not implemented. 649This file system can't be used with UID or GID greater than 65535. 650See 651.Xr mount_ext2fs 8 652for details. 653.It Cd file-system LFS 654.Em [EXPERIMENTAL] 655Include the Log-structured File System 656.Em ( LFS ) . 657See 658.Xr mount_lfs 8 659and 660.Xr newfs_lfs 8 661for details. 662.It Cd file-system MFS 663Include the Memory File System 664.Em ( MFS ) . 665This file system stores files in swappable memory, and produces 666notable performance improvements when it is used as the file store 667for 668.Pa /tmp 669and similar file systems. 670See 671.Xr mount_mfs 8 672for details. 673.It Cd file-system NFS 674Include the client side of the Network File System 675.Pq Tn NFS 676remote file sharing protocol. 677Although the bulk of the code implementing 678.Tn NFS 679is kernel based, several user level daemons are needed for it to work. 680See 681.Xr mount_nfs 8 682for details. 683.It Cd file-system CD9660 684Includes code for the 685.Tn ISO 6869660 + Rock Ridge file system, which is the standard file system on many 687.Tn CD-ROM 688discs. 689Useful primarily if you have a 690.Tn CD-ROM 691drive. 692See 693.Xr mount_cd9660 8 694for details. 695.It Cd file-system MSDOSFS 696Includes the 697.Tn MS-DOS 698FAT file system, which is reportedly still used 699by unfortunate people who have not heard about 700.Nx . 701Also implements the 702.Tn Windows 95 703extensions to the same, which permit the use of longer, mixed case 704file names. 705See 706.Xr mount_msdos 8 707and 708.Xr fsck_msdos 8 709for details. 710.It Cd file-system NTFS 711.Em [EXPERIMENTAL] 712Includes code for the 713.Tn Microsoft Windows NT 714file system. 715See 716.Xr mount_ntfs 8 717for details. 718.It Cd file-system FDESC 719Includes code for a file system, conventionally mounted on 720.Pa /dev/fd , 721which permits access to the per-process file descriptor space via 722special files in the file system. 723See 724.Xr mount_fdesc 8 725for details. 726Note that this facility is redundant, and thus unneeded on most 727.Nx 728systems, since the 729.Xr fd 4 730pseudo-device driver already provides identical functionality. 731On most 732.Nx 733systems, instances of 734.Xr fd 4 735are mknoded under 736.Pa /dev/fd/ 737and on 738.Pa /dev/stdin , 739.Pa /dev/stdout , 740and 741.Pa /dev/stderr . 742.It Cd file-system KERNFS 743Includes code which permits the mounting of a special file system 744(normally mounted on 745.Pa /kern ) 746in which files representing various kernel variables and parameters 747may be found. 748See 749.Xr mount_kernfs 8 750for details. 751.It Cd file-system NULLFS 752Includes code for a loopback file system. 753This permits portions of the file hierarchy to be re-mounted in other places. 754The code really exists to provide an example of a stackable file system layer. 755See 756.Xr mount_null 8 757for details. 758.It Cd file-system OVERLAY 759Includes code for a file system filter. 760This permits the overlay file system to intercept all access to an underlying 761file system. 762This file system is intended to serve as an example of a stacking file 763system which has a need to interpose itself between an underlying file 764system and all other access. 765See 766.Xr mount_overlay 8 767for details. 768.It Cd file-system PORTAL 769.Em [EXPERIMENTAL] 770Includes the portal file system. 771This permits interesting tricks like opening 772.Tn TCP 773sockets by opening files in the file system. 774The portal file system is conventionally mounted on 775.Pa /p 776and is partially implemented by a special daemon. 777See 778.Xr mount_portal 8 779for details. 780.It Cd file-system PROCFS 781Includes code for a special file system (conventionally mounted on 782.Pa /proc ) 783in which the process space becomes visible in the file system. 784Among 785other things, the memory spaces of processes running on the system are 786visible as files, and signals may be sent to processes by writing to 787.Pa ctl 788files in the procfs namespace. 789See 790.Xr mount_procfs 8 791for details. 792.It Cd file-system UMAPFS 793Includes a loopback file system in which user and group IDs may be 794remapped -- this can be useful when mounting alien file systems with 795different UIDs and GIDs than the local system. 796See 797.Xr mount_umap 8 798for details. 799.It Cd file-system UNION 800.Em [EXPERIMENTAL] 801Includes code for the union file system, which permits directories to 802be mounted on top of each other in such a way that both file systems 803remain visible -- this permits tricks like allowing writing (and the 804deleting of files) on a read-only file system like a 805.Tn CD-ROM 806by mounting a local writable file system on top of the read-only file system. 807See 808.Xr mount_union 8 809for details. 810.It Cd file-system CODA 811.Em [EXPERIMENTAL] 812Includes code for the Coda file system. 813Coda is a distributed file system like NFS and AFS. 814It is freely available, like NFS, but it functions much like AFS in being a 815.Dq stateful 816file system. 817Both Coda and AFS cache files on your local machine to improve performance. 818Then Coda goes a step further than AFS by letting you access the cached 819files when there is no available network, viz. disconnected laptops and 820network outages. 821In Coda, both the client and server are outside the kernel which makes 822them easier to experiment with. 823Coda is available for several UNIX and non-UNIX platforms. 824See http://www.coda.cs.cmu.edu for more details. 825NOTE: You also need to enable the pseudo-device, vcoda, for the Coda 826file system to work. 827.El 828.Ss File System Options 829.Bl -ohang 830.It Cd options NFSSERVER 831Include the server side of the 832.Em NFS 833(Network File System) remote file sharing protocol. 834Although the bulk of the code implementing 835.Em NFS 836is kernel based, several user level daemons are needed for it to 837work. 838See 839.Xr mountd 8 840and 841.Xr nfsd 8 842for details. 843.It Cd options QUOTA 844Enables kernel support for file system quotas. 845See 846.Xr quotaon 8 , 847.Xr edquota 8 , 848and 849.Xr quota 1 850for details. 851Note that quotas only work on 852.Dq ffs 853file systems, although 854.Xr rpc.rquotad 8 855permits them to be accessed over 856.Em NFS . 857.It Cd options FFS_EI 858Enable ``Endian-Independent'' FFS support. 859This allows a system to mount an FFS file system created for another 860architecture, at a small performance cost for all FFS file systems. 861See also 862.Xr newfs 8 , 863.Xr fsck_ffs 8 , 864.Xr dumpfs 8 865for file system byte order status and manipulation. 866.It Cd options NVNODE=integer 867This option sets the size of the cache used by the name-to-inode translation 868routines, (a.k.a. the 869.Fn namei 870cache, though called by many other names in the kernel source). 871By default, this cache has 872.Dv NPROC 873(set as 20 + 16 * MAXUSERS) * (80 + NPROC / 8) entries. 874A reasonable way to derive a value of 875.Dv NVNODE , 876should you notice a large number of namei cache misses with a tool such as 877.Xr systat 1 , 878is to examine your system's current computed value with 879.Xr sysctl 8 , 880(which calls this parameter "kern.maxvnodes") and to increase this value 881until either the namei cache hit rate improves or it is determined that 882your system does not benefit substantially from an increase in the size of 883the namei cache. 884.It Cd options NAMECACHE_ENTER_REVERSE 885Causes the namei cache to always enter a reverse mapping (vnode -\*[Gt] name) 886as well as a normal one. 887Normally, this is already done for directory vnodes, to speed up the getcwd 888operation. 889This option will cause longer hash chains in the reverse cache, and thus 890slow down getcwd somewhat. 891However, it does make vnode -\*[Gt] path translations possible in some cases. 892For now, only useful if strict /proc/#/maps emulation for Linux binaries is 893required. 894.It Cd options EXT2FS_SYSTEM_FLAGS 895This option changes the behavior of the APPEND and IMMUTABLE flags 896for a file on an 897.Em EXT2FS 898file system. 899Without this option, the superuser or owner of the file can 900set and clear them. 901With this option, only the superuser can set them, and 902they can't be cleared if the securelevel is greater than 0. 903See also 904.Xr chflags 1 . 905.It Cd options NFS_BOOT_BOOTP 906Enable use of the BOOTP protocol (RFCs 951 and 1048) to get configuration 907information if NFS is used to mount the root file system. 908See 909.Xr diskless 8 910for details. 911.It Cd options NFS_BOOT_DHCP 912Same as 913.Dq NFS_BOOT_BOOTP , 914but use the DHCP extensions to the 915BOOTP protocol (RFC 1541). 916.It Cd options NFS_BOOT_BOOTP_REQFILE 917Specifies the string sent in the bp_file field of the BOOTP / DHCP 918request packet. 919.It Cd options NFS_BOOT_BOOTPARAM 920Enable use of the BOOTPARAM protocol, consisting of RARP and 921BOOTPARAM RPC, to get configuration information if NFS 922is used to mount the root file system. 923See 924.Xr diskless 8 925for details. 926.It Cd options NFS_BOOT_RWSIZE=value 927Set the initial NFS read and write sizes for diskless-boot requests. 928The normal default is 8Kbytes. 929This option provides a way to lower the value (e.g., to 1024 bytes) 930as a workaround for buggy network interface cards or boot PROMs. 931Once booted, the read and write request sizes can be increased by 932remounting the file system. 933See 934.Xr mount_nfs 8 935for details. 936.It Cd options NFS_V2_ONLY 937Reduce the size of the NFS client code by omitting code that's only required 938for NFSv3 and NQNFS support, leaving only that code required to use NFSv2 939servers. 940.El 941.Ss Miscellaneous Options 942.Bl -ohang 943.It Cd options NEW_BUFQ_STRATEGY 944Enable experimental buffer queue strategy for disk I/O. 945It gives higher priority to read requests over write requests, and thereby 946improves the overall system responsiveness considerably under heavy disk 947I/O load. 948.Em NOTE : 949It's not yet proven to be stable, so use it at your own risk. 950.It Cd options LKM 951Enable loadable kernel modules. 952See 953.Xr lkm 4 954for details. 955.Em NOTE : 956not available on all architectures. 957.It Cd options INSECURE 958Hardwires the kernel security level at -1. 959This means that the system 960always runs in secure level 0 mode, even when running multiuser. 961See the manual page for 962.Xr init 8 963for details on the implications of this. 964The kernel secure level may manipulated by the superuser by altering the 965.Em kern.securelevel 966.Xr sysctl 3 967variable (the secure level may only be lowered by a call from process ID 1, 968i.e. 969.Xr init 8 ) . 970See also 971.Xr sysctl 8 972and 973.Xr sysctl 3 . 974.It Cd options MEMORY_DISK_DYNAMIC 975This options makes the 976.Xr md 4 977.Tn RAM 978disk size dynamically sized. 979.It Cd options MEMORY_DISK_HOOKS 980This option allows for some machine dependent functions to be called when 981the 982.Xr md 4 983.Tn RAM 984disk driver is configured. 985This can result in automatically loading a 986.Tn RAM 987disk from floppy on open (among other things). 988.It Cd options MEMORY_DISK_IS_ROOT 989Forces the 990.Xr md 4 991.Tn RAM 992disk to be the root device. 993This can only be overridden when 994the kernel is booted in the 'ask-for-root' mode. 995.It Cd options MEMORY_DISK_ROOT_SIZE=integer 996Allocates the given number of 512 byte blocks as memory for the 997.Xr md 4 998.Tn RAM 999disk, to be populated with 1000.Xr mdsetimage 8 . 1001.It Cd options MEMORY_DISK_SERVER=0 1002Do not include the interface to a userland memory disk server process. 1003Per default, this options is set to 1, including the support code. 1004Useful for install media kernels. 1005.It Cd options VNODE_OP_NOINLINE 1006Do not inline the 1007.Fn VOP_* 1008calls in the kernel. 1009On i386 GENERIC, this saves 36k of kernel text. 1010Useful for install media kernels, small memory systems and embedded systems. 1011.It Cd options MALLOC_NOINLINE 1012Time critical fixed size memory allocation is performed with 1013.Fn MALLOC 1014and 1015.Fn FREE . 1016Normally these expand to inline code, but with 1017.Em MALLOC_NOINLINE 1018these call the normal 1019.Fn malloc 1020and 1021.Fn free 1022functions. 1023Useful for install media kernels, small memory systems and embedded systems. 1024.It Cd options HZ=integer 1025On ports that support it, set the system clock frequency (see 1026.Xr hz 9 ) 1027to the supplied value. 1028Handle with care. 1029.It Cd options NTP 1030Turns on in-kernel precision timekeeping support used by software 1031implementing 1032.Em NTP 1033(Network Time Protocol, RFC 1305). 1034The 1035.Em NTP 1036option adds an in-kernel Phase-Locked Loop (PLL) for normal 1037.Em NTP 1038operation, and a Frequency-Locked Loop (FLL) for intermittently-connected 1039operation. 1040.Xr ntpd 8 1041will employ a user-level PLL when kernel support is unavailable, 1042but the in-kernel version has lower latency and more precision, and 1043so typically keeps much better time. 1044The interface to the kernel 1045.Em NTP 1046support is provided by the 1047.Xr ntp_adjtime 2 1048and 1049.Xr ntp_gettime 2 1050system calls, which are intended for use by 1051.Xr ntpd 8 1052and are enabled by the option. 1053On systems with sub-microsecond resolution timers, or where (HZ / 100000) 1054is not an integer, the 1055.Em NTP 1056option also enables extended-precision arithmetic to keep track of 1057fractional clock ticks at NTP time-format precision. 1058.It Cd options PPS_SYNC 1059This option enables a kernel serial line discipline for receiving time 1060phase signals from an external reference clock such as a radio clock. 1061(The 1062.Em NTP 1063option (which see) must be on if the 1064.Em PPS_SYNC 1065option is used.) 1066Some reference clocks generate a Pulse Per Second (PPS) signal in 1067phase with their time source. 1068The 1069.Em PPS 1070line discipline receives this signal on either the data leads 1071or the DCD control lead of a serial port. 1072.Em NTP 1073uses the PPS signal to discipline the local clock oscillator to a high 1074degree of precision (typically less than 50 microseconds in time and 10750.1 ppm in accuracy). 1076.Em PPS 1077can also generate a serial output pulse when the system receives a PPS 1078interrupt. 1079This can be used to measure the system interrupt latency and thus calibrate 1080.Em NTP 1081to account for it. 1082Using 1083.Em PPS 1084usually requires a 1085gadget box 1086to convert from TTL to RS-232 signal levels. 1087The gadget box and PPS are described in more detail in the HTML documentation 1088for 1089.Xr ntpd 8 1090in 1091.Pa /usr/share/doc/html/ntp . 1092.It Cd options NO_TSC_TIME 1093Don't use TSC microtime, even if available (i386 only). 1094Improves time behavior under VMware. 1095.It Cd options SETUIDSCRIPTS 1096Allows scripts with the setuid bit set to execute as the effective 1097user rather than the real user, just like binary executables. 1098.Pp 1099.Em NOTE : 1100Using this option will also enable 1101.Em options FDSCRIPTS 1102.It Cd options FDSCRIPTS 1103Allows execution of scripts with the execute bit set, but not the 1104read bit, by opening the file and passing the file descriptor to 1105the shell, rather than the filename. 1106.Pp 1107.Em NOTE : 1108Execute only (non-readable) scripts will have 1109.Va argv[0] 1110set to 1111.Pa /dev/fd/* . 1112What this option allows as far as security is 1113concerned, is the ability to safely ensure that the correct script 1114is run by the interpreter, as it is passed as an already open file. 1115.It Cd options PUCCN 1116Enables treating serial ports found on PCI boards 1117.Xr puc 4 1118as potential console devices. 1119The method for choosing such a console device is port dependent. 1120.It Cd options RTC_OFFSET=integer 1121The kernel (and typically the hardware battery backed-up clock on 1122those machines that have one) keeps time in 1123.Em UTC 1124(Universal Coordinated Time, once known as 1125.Em GMT , 1126or Greenwich Mean Time) 1127and not in the time of the local time zone. 1128The 1129.Em RTC_OFFSET 1130option is used on some ports (such as the i386) to tell the kernel 1131that the hardware clock is offset from 1132.Em UTC 1133by the specified number of minutes. 1134This is typically used when a machine boots several operating 1135systems and one of them wants the hardware clock to run in the 1136local time zone and not in 1137.Em UTC , 1138e.g. 1139.Em RTC_OFFSET=300 1140means 1141the hardware clock is set to US Eastern Time (300 minutes behind 1142.Em UTC ) , 1143and not 1144.Em UTC . 1145(Note: 1146.Em RTC_OFFSET 1147is used to initialize a kernel variable named 1148.Va rtc_offset 1149which is the source actually used to determine the clock offset, and 1150which may be accessed via the kern.rtc_offset sysctl variable. 1151See 1152.Xr sysctl 8 1153and 1154.Xr sysctl 3 1155for details. 1156Since the kernel clock is initialized from the hardware clock very 1157early in the boot process, it is not possible to meaningfully change 1158.Va rtc_offset 1159in system initialization scripts. 1160Changing this value currently may only be done at kernel compile 1161time or by patching the kernel and rebooting). 1162.Pp 1163.Em NOTE : 1164Unfortunately, in many cases where the hardware clock 1165is kept in local time, it is adjusted for Daylight Savings 1166Time; this means that attempting to use 1167.Em RTC_OFFSET 1168to let 1169.Nx 1170coexist with such an operating system, like Windows, 1171would necessitate changing 1172.Em RTC_OFFSET 1173twice a year. 1174As such, this solution is imperfect. 1175.It Cd options KMEMSTATS 1176The kernel memory allocator, 1177.Xr malloc 9 , 1178will keep statistics on its performance if this option is enabled. 1179Unfortunately, this option therefore essentially disables the 1180.Fn MALLOC 1181and 1182.Fn FREE 1183forms of the memory allocator, which are used to enhance the performance 1184of certain critical sections of code in the kernel. 1185This option therefore can lead to a significant decrease in the 1186performance of certain code in the kernel if enabled. 1187Examples of such code include the 1188.Fn namei 1189routine, the 1190.Xr ccd 4 1191driver, 1192the 1193.Xr ncr 4 1194driver, 1195and much of the networking code. 1196.It Cd options MAXUPRC=integer 1197Sets the soft 1198.Dv RLIMIT_NPROC 1199resource limit, which specifies the maximum number of simultaneous 1200processes a user is permitted to run, for process 0; 1201this value is inherited by its child processes. 1202It defaults to 1203.Em CHILD_MAX , 1204which is currently defined to be 160. 1205Setting 1206.Em MAXUPRC 1207to a value less than 1208.Em CHILD_MAX 1209is not permitted, as this would result in a violation of the semantics of 1210.St -p1003.1-90 . 1211.It Cd options NOFILE=integer 1212Sets the soft 1213.Dv RLIMIT_NOFILE 1214resource limit, which specifies the maximum number of open 1215file descriptors for each process; 1216this value is inherited by its child processes. 1217It defaults to 1218.Em OPEN_MAX , 1219which is currently defined to be 64. 1220.It Cd options DEFCORENAME=string 1221Sets the default value of the 1222.Em kern.defcorename 1223sysctl variable, otherwise it is set to 1224.Nm %n.core . 1225See 1226.Xr sysctl 8 1227and 1228.Xr sysctl 3 1229for details. 1230.It Cd options RASOPS_CLIPPING 1231Enables clipping within the 1232.Nm rasops 1233raster-console output system. 1234.Em NOTE : 1235only available on architectures that use 1236.Nm rasops 1237for console output. 1238.It Cd options RASOPS_SMALL 1239Removes optimized character writing code from the 1240.Nm rasops 1241raster-console output system. 1242.Em NOTE : 1243only available on architectures that use 1244.Nm rasops 1245for console output. 1246.It Cd options INCLUDE_CONFIG_FILE 1247Embeds the kernel config file used to define the kernel in the kernel 1248binary itself. 1249The embedded data also includes any files directly included by the config 1250file itself, e.g. 1251.Pa GENERIC.local 1252or 1253.Pa std.$MACHINE . 1254The embedded config file can be extracted from the resulting kernel by 1255the following command: 1256.Bd -literal -offset indent 1257strings netbsd | sed -n 's/^_CFG_//p' | unvis 1258.Ed 1259.It Cd options INCLUDE_JUST_CONFIG 1260Similar to the above option, but includes just the actual config file, 1261not any included files. 1262.It Cd options PIPE_SOCKETPAIR 1263Use slower, but smaller socketpair(2)-based pipe implementation instead 1264of default faster, but bigger one. 1265Primarily useful for installation kernels. 1266.It Cd options USERCONF 1267Compiles in the in-kernel device configuration manager. 1268See 1269.Xr userconf 4 1270for details. 1271.It Cd options PERFCTRS 1272Compiles in kernel support for CPU performance-monitoring counters. 1273See 1274.Xr pmc 1 1275for details. 1276.Em NOTE : 1277not available on all architectures. 1278.El 1279.Ss Networking Options 1280.Bl -ohang 1281.It Cd options GATEWAY 1282Enables 1283.Em IPFORWARDING 1284(which see) 1285and (on most ports) increases the size of 1286.Em NMBCLUSTERS 1287(which see). 1288In general, 1289.Em GATEWAY 1290is used to indicate that a system should act as a router, and 1291.Em IPFORWARDING 1292is not invoked directly. 1293(Note that 1294.Em GATEWAY 1295has no impact on protocols other than 1296.Tn IP , 1297such as 1298.Tn CLNP 1299or 1300.Tn XNS ) . 1301.Em GATEWAY 1302option also compiles IPv4 fast forwarding code into the kernel. 1303.It Cd options IPFORWARDING=value 1304If 1305.Em value 1306is 1 this enables IP routing behavior. 1307If 1308.Em value 1309is 0 (the default), it disables it. 1310The 1311.Em GATEWAY 1312option sets this to 1 automatically. 1313With this option enabled, the machine will forward IP datagrams destined 1314for other machines between its interfaces. 1315Note that even without this option, the kernel will 1316still forward some packets (such as source routed packets) -- removing 1317.Em GATEWAY 1318and 1319.Em IPFORWARDING 1320is insufficient to stop all routing through a bastion host on a 1321firewall -- source routing is controlled independently. 1322To turn off source routing, use 1323.Em options IPFORWSRCRT=0 1324(which see). 1325Note that IP forwarding may be turned on and off independently of the 1326setting of the 1327.Em IPFORWARDING 1328option through the use of the 1329.Em net.inet.ip.forwarding 1330sysctl variable. 1331If 1332.Em net.inet.ip.forwarding 1333is 1, IP forwarding is on. 1334See 1335.Xr sysctl 8 1336and 1337.Xr sysctl 3 1338for details. 1339.It Cd options IPFORWSRCRT=value 1340If 1341.Em value 1342is set to zero, source routing of IP datagrams is turned off. 1343If 1344.Em value 1345is set to one (the default) or the option is absent, source routed IP 1346datagrams are forwarded by the machine. 1347Note that source routing of IP packets may be turned on and off 1348independently of the setting of the 1349.Em IPFORWSRCRT 1350option through the use of the 1351.Em net.inet.ip.forwsrcrt 1352sysctl variable. 1353If 1354.Em net.inet.ip.forwsrcrt 1355is 1, forwarding of source routed IP datagrams is on. 1356See 1357.Xr sysctl 8 1358and 1359.Xr sysctl 3 1360for details. 1361.It Cd options IFA_STATS 1362Tells the kernel to maintain per-address statistics on bytes sent 1363and received over (currently) internet and appletalk addresses. 1364.\"This can be a fairly expensive operation, so you probably want to 1365.\"keep this disabled. 1366The option is not recommended as it degrades system stability. 1367.It Cd options IFQ_MAXLEN=value 1368Increases the allowed size of the network interface packet queues. 1369The default queue size is 50 packets, and you do not normally need 1370to increase it. 1371.It Cd options MROUTING 1372Includes support for IP multicast routers. 1373You certainly want 1374.Em INET 1375with this. 1376Multicast routing is controlled by the 1377.Xr mrouted 8 1378daemon. 1379.It Cd options INET 1380Includes support for the 1381.Tn TCP/IP 1382protocol stack. 1383You almost certainly want this. 1384See 1385.Xr inet 4 1386for details. 1387This option is currently required. 1388.It Cd options INET6 1389Includes support for the 1390.Tn IPv6 1391protocol stack. 1392See 1393.Xr inet6 4 1394for details. 1395Unlike 1396.Em INET , 1397.Em INET6 1398enables multicast routing code as well. 1399This option requires 1400.Em INET 1401at this moment, but it should not. 1402.It Cd options ND6_DEBUG 1403The option sets the default value of net.inet6.icmp6.nd6_debug to 1, 1404for debugging IPv6 neighbor discovery protocol handling. 1405See 1406.Xr sysctl 3 1407for details. 1408.It Cd options IPSEC 1409Includes support for the 1410.Tn IPsec 1411protocol. 1412See 1413.Xr ipsec 4 1414for details. 1415.It Cd options IPSEC_DEBUG 1416Enables debugging code in 1417.Tn IPsec 1418stack. 1419See 1420.Xr ipsec 4 1421for details. 1422.It Cd options IPSEC_ESP 1423Includes support for 1424.Tn IPsec 1425.Tn ESP 1426protocol. 1427See 1428.Xr ipsec 4 1429for details. 1430.It Cd options ALTQ 1431Enabled ALTQ (Alternate Queueing). 1432For simple rate-limiting, use 1433.Xr tbrconfig 8 1434to set up the interface transmission rate. 1435To use queueing disciplines, their appropriate kernel options should also 1436be defined (documented below). 1437Queueing disciplines are managed by 1438.Xr altqd 8 . 1439See 1440.Xr altq 9 1441for details. 1442.It Cd options ALTQ_HFSC 1443Include support for ALTQ-implemented HFSC (Hierarchical Fair Service Curve) 1444module. 1445HFSC supports both link-sharing and guaranteed real-time services. 1446H-FSC employs a service curve based QoS model, and its unique feature 1447is an ability to decouple delay and bandwidth allocation. 1448Requires 1449.Em ALTQ_RED 1450to use the RED queueing discipline on HFSC classes, or 1451.Em ALTQ_RIO 1452to use the RIO queueing discipline on HFSC classes. 1453This option assumes 1454.Em ALTQ . 1455.It Cd options ALTQ_PRIQ 1456Include support for ALTQ-implemented PRIQ (Priority Queueing). 1457PRIQ implements a simple priority-based queueing discipline. 1458A higher priority class is always served first. 1459Requires 1460.Em ALTQ_RED 1461to use the RED queueing discipline on HFSC classes, or 1462.Em ALTQ_RIO 1463to use the RIO queueing discipline on HFSC classes. 1464This option assumes 1465.Em ALTQ . 1466.It Cd options ALTQ_WFQ 1467Include support for ALTQ-implemented WFQ (Weighted Fair Queueing). 1468WFQ implements a weighted-round robin scheduler for a set of queues. 1469A weight can be assigned to each queue to give a different proportion 1470of the link capacity. 1471A hash function is used to map a flow to one of a set of queues. 1472This option assumes 1473.Em ALTQ . 1474.It Cd options ALTQ_FIFOQ 1475Include support for ALTQ-implemented FIFO queueing. 1476FIFOQ is a simple drop-tail FIFO (First In, First Out) queueing discipline. 1477This option assumes 1478.Em ALTQ . 1479.It Cd options ALTQ_RIO 1480Include support for ALTQ-implemented RIO (RED with In/Out). 1481The original RIO has 2 sets of RED parameters; one for in-profile 1482packets and the other for out-of-profile packets. 1483At the ingress of the network, profile meters tag packets as IN or 1484OUT based on contracted profiles for customers. 1485Inside the network, IN packets receive preferential treatment by 1486the RIO dropper. 1487ALTQ/RIO has 3 drop precedence levels defined for the Assured Forwarding 1488PHB of DiffServ (RFC 2597). 1489This option assumes 1490.Em ALTQ . 1491.It Cd options ALTQ_BLUE 1492Include support for ALTQ-implemented Blue buffer management. 1493Blue is another active buffer management mechanism. 1494This option assumes 1495.Em ALTQ . 1496.It Cd options ALTQ_FLOWVALVE 1497Include support for ALTQ-implemented Flowvalve. 1498Flowvalve is a simple implementation of a RED penalty box that identifies 1499and punishes misbehaving flows. 1500This option requires 1501.Em ALTQ_RED 1502and assumes 1503.Em ALTQ . 1504.It Cd options ALTQ_CDNR 1505Include support for ALTQ-implemented CDNR (diffserv traffic conditioner) 1506packet marking/manipulation. 1507Traffic conditioners are components to meter, mark, or drop incoming 1508packets according to some rules. 1509As opposed to queueing disciplines, traffic conditioners handle incoming 1510packets at an input interface. 1511This option assumes 1512.Em ALTQ . 1513.It Cd options ALTQ_NOPCC 1514Disables use of processor cycle counter to measure time in ALTQ. 1515This option should be defined for a non-Pentium i386 CPU which does not 1516have TSC, SMP (per-CPU counters are not in sync), or power management 1517which affects processor cycle counter. 1518This option assumes 1519.Em ALTQ . 1520.It Cd options ALTQ_IPSEC 1521Include support for IPsec in IPv4 ALTQ. 1522This option assumes 1523.Em ALTQ . 1524.It Cd options ALTQ_JOBS 1525Undocumented at this time. 1526.It Cd options ALTQ_AFMAP 1527Include support for an undocumented ALTQ feature that is used to map an IP 1528flow to an ATM VC (Virtual Circuit). 1529This option assumes 1530.Em ALTQ . 1531.It Cd options ALTQ_LOCALQ 1532Include support for ALTQ-implemented local queues. 1533Its practical use is undefined. 1534Assumes 1535.Em ALTQ . 1536.It Cd options SUBNETSARELOCAL 1537Sets default value for net.inet.ip.subnetsarelocal variable, which 1538controls whether non-directly-connected subnets of connected networks 1539are considered "local" for purposes of choosing the MSS for a TCP 1540connection. 1541This is mostly present for historic reasons and completely irrelevant if 1542you enable Path MTU discovery. 1543.It Cd options HOSTZEROBROADCAST 1544Sets default value for net.inet.ip.hostzerobroadcast variable, which 1545controls whether the zeroth host address of each connected subnet is 1546also considered a broadcast address. 1547Default value is "1", for compatibility with old systems; if this is 1548set to zero on all hosts on a subnet, you should be able to fit an extra 1549host per subnet on the 1550".0" address. 1551.It Cd options MCLSHIFT=value 1552This option is the base-2 logarithm of the size of mbuf clusters. 1553The 1554.Bx 1555networking stack keeps network packets in a linked 1556list, or chain, of kernel buffer objects called mbufs. 1557The system provides larger mbuf clusters as an optimization for 1558large packets, instead of using long chains for large packets. 1559The mbuf cluster size, 1560or 1561.Em MCLBYTES , 1562must be a power of two, and is computed as two raised to the power 1563.Em MCLSHIFT . 1564On systems with Ethernet network adaptors, 1565.Em MCLSHIFT 1566is often set to 11, giving 2048-byte mbuf clusters, large enough to 1567hold a 1500-byte 1568.Tn Ethernet 1569frame in a single cluster. 1570Systems with network interfaces supporting larger frame sizes like 1571.Tn ATM , 1572.Tn FDDI , 1573or 1574.Tn HIPPI 1575may perform better with 1576.Em MCLSHIFT 1577set to 12 or 13, giving mbuf cluster sizes of 4096 and 8192 bytes, 1578respectively. 1579.It Cd options NS 1580Include support for the 1581.Tn Xerox 1582.Tn XNS 1583protocol stack. 1584See 1585.Xr ns 4 1586for details. 1587.It Cd options ISO,TPIP 1588Include support for the ubiquitous 1589.Tn OSI 1590protocol stack. 1591See 1592.Xr iso 4 1593for details. 1594This option assumes 1595.Em INET . 1596.It Cd options EON 1597Include support for tunneling 1598.Tn OSI 1599protocols over 1600.Tn IP . 1601Known to be broken, or at least very fragile, and undocumented. 1602.It Cd options CCITT,LLC,HDLC 1603Include support for the 1604.Tn CCITT 1605(nee 1606.Tn ITU-TSS ) 1607.Tn X.25 1608protocol stack. 1609The state of this code is currently unknown, and probably contains bugs. 1610This option assumes 1611.Em INET . 1612.It Cd options NETATALK 1613Include support for the 1614.Tn AppleTalk 1615protocol stack. 1616The kernel provides provision for the 1617.Em Datagram Delivery Protocol 1618(DDP), providing SOCK_DGRAM support and 1619.Tn AppleTalk 1620routing. 1621This stack is used by the 1622.Em NETATALK 1623package, which adds support for 1624.Tn AppleTalk 1625server services via user libraries and applications. 1626.It Cd options IPNOPRIVPORTS 1627Normally, only root can bind a socket descriptor to a so-called 1628.Dq privileged 1629.Tn TCP 1630port, that is, a port number in the range 0-1023. 1631This option eliminates those checks from the kernel. 1632This can be useful if there is a desire to allow daemons without 1633privileges to bind those ports, e.g., on firewalls. 1634The security tradeoffs in doing this are subtle. 1635This option should only be used by experts. 1636.It Cd options TCP_COMPAT_42 1637.Tn TCP 1638bug compatibility with 1639.Bx 4.2 . 1640In 1641.Bx 4.2 , 1642.Tn TCP 1643sequence numbers were 32-bit signed values. 1644Modern implementations of TCP use unsigned values. 1645This option clamps the initial sequence number to start in 1646the range 2^31 rather than the full unsigned range of 2^32. 1647Also, under 1648.Bx 4.2 , 1649keepalive packets must contain at least one byte or else 1650the remote end would not respond. 1651.It Cd options TCP_DEBUG 1652Record the last 1653.Em TCP_NDEBUG 1654TCP packets with SO_DEBUG set, and decode to the console if 1655.Em tcpconsdebug 1656is set. 1657.It Cd options TCP_NDEBUG 1658Number of packets to record for 1659.Em TCP_DEBUG . 1660Defaults to 100. 1661.It Cd options TCP_SENDSPACE=value 1662.It Cd options TCP_RECVSPACE=value 1663These options set the max TCP window size to other sizes than the default. 1664The TCP window sizes can be altered via 1665.Xr sysctl 8 1666as well. 1667.It Cd options TCP_INIT_WIN=value 1668This option sets the initial TCP window size for non-local connections, 1669which is used when the transmission starts. 1670The default size is 1, but if the machine should act more aggressively, 1671the initial size can be set to some other value. 1672The initial TCP window size can be set via 1673.Xr sysctl 8 1674as well. 1675.It Cd options PFIL_HOOKS 1676This option turns on the packet filter interface hooks. 1677See 1678.Xr pfil 9 1679for details. 1680This option assumes 1681.Em INET . 1682.It Cd options IPFILTER_LOG 1683This option, in conjunction with 1684.Em pseudo-device ipfilter , 1685enables logging of IP packets using ip-filter. 1686.It Cd options IPFILTER_DEFAULT_BLOCK 1687This option sets the default policy of ip-filter. 1688If it is set, ip-filter will block packets by default. 1689.It Cd options BRIDGE_IPF 1690This option causes 1691.Em bridge 1692devices to use the IP and/or IPv6 filtering hooks, forming 1693a link-layer filter that uses protocol-layer rules. 1694This option assumes the presence of 1695.Em pseudo-device ipfilter . 1696.It Cd options MBUFTRACE 1697This option can help track down mbuf leaks. 1698When enabled, mbufs are tagged with the devices and protocols using them, 1699which slightly decreases network performance. 1700This additional information can be viewed with 1701.Xr netstat 1 : 1702.Dl Ic netstat Fl mssv 1703Not all devices or protocols support this option. 1704.El 1705.Ss System V IPC Options 1706.Bl -ohang 1707.It Cd options SYSVMSG 1708Includes support for 1709.At V 1710style message queues. 1711See 1712.Xr msgctl 2 , 1713.Xr msgget 2 , 1714.Xr msgrcv 2 , 1715.Xr msgsnd 2 . 1716.It Cd options SYSVSEM 1717Includes support for 1718.At V 1719style semaphores. 1720See 1721.Xr semctl 2 , 1722.Xr semget 2 , 1723.Xr semop 2 . 1724.It Cd options SEMMNI=value 1725Sets the number of 1726.At V 1727style semaphore identifiers. 1728The GENERIC config file for your port will have the default. 1729.It Cd options SEMMNS=value 1730Sets the number of 1731.At V 1732style semaphores in the system. 1733The GENERIC config file for your port will have the default. 1734.It Cd options SEMUME=value 1735Sets the maximum number of undo entries per process for 1736.At V 1737style semaphores. 1738The GENERIC config file for your port will have the default. 1739.It Cd options SEMMNU=value 1740Sets the number of undo structures in the system for 1741.At V 1742style semaphores. 1743The GENERIC config file for your port will have the default. 1744.It Cd options SYSVSHM 1745Includes support for 1746.At V 1747style shared memory. 1748See 1749.Xr shmat 2 , 1750.Xr shmctl 2 , 1751.Xr shmdt 2 , 1752.Xr shmget 2 . 1753.It Cd options SHMMAXPGS=value 1754Sets the maximum number of 1755.At V 1756style shared memory pages that are available through the 1757.Xr shmget 2 1758system call. 1759Default value is 1024 on most ports. 1760See 1761.Pa /usr/include/machine/vmparam.h 1762for the default. 1763.El 1764.Ss VM Related Options 1765.Bl -ohang 1766.It Cd options NMBCLUSTERS=value 1767The number of mbuf clusters the kernel supports. 1768Mbuf clusters are MCLBYTES in size (usually 2k). 1769This is used to compute the size of the kernel VM map 1770.Em mb_map , 1771which maps mbuf clusters. 1772Default on most ports is 1024 (2048 with 1773.Dq options GATEWAY 1774). 1775See 1776.Pa /usr/include/machine/param.h 1777for exact default information. 1778Increase this value if you get 1779.Dq mclpool limit reached 1780messages. 1781.It Cd options NKMEMPAGES=value 1782.It Cd options NKMEMPAGES_MIN=value 1783.It Cd options NKMEMPAGES_MAX=value 1784Size of kernel VM map 1785.Em kmem_map , 1786in PAGE_SIZE-sized chunks (the VM page size; this value may be read 1787from the 1788.Xr sysctl 8 1789variable 1790.Em hw.pagesize 1791). 1792This VM map is used to map the kernel malloc arena. 1793The kernel attempts to auto-size this map based on the amount of 1794physical memory in the system. 1795Platform-specific code may place bounds on this computed size, 1796which may be viewed with the 1797.Xr sysctl 8 1798variable 1799.Em vm.nkmempages . 1800See 1801.Pa /usr/include/machine/param.h 1802for the default upper and lower bounds. 1803The related options 1804.Sq NKMEMPAGES_MIN 1805and 1806.Sq NKMEMPAGES_MAX 1807allow the bounds to be overridden in the kernel configuration file. 1808These options are provided in the event the computed value is 1809insufficient resulting in an 1810.Dq out of space in kmem_map 1811panic. 1812.It Cd options SB_MAX=value 1813Sets the max size in bytes that a socket buffer is allowed to occupy. 1814The default is 256k, but sometimes it needs to be increased, for example 1815when using large TCP windows. 1816This option can be changed via 1817.Xr sysctl 8 1818as well. 1819.It Cd options SOMAXKVA=value 1820Sets the maximum size of kernel virtual memory that the socket buffers 1821are allowed to use. 1822The default is 16MB, but in situations where for example large TCP 1823windows are used this value must also be increased. 1824This option can be changed via 1825.Xr sysctl 8 1826as well. 1827.It Cd options BUFCACHE=value 1828Size of the buffer cache as a percentage of total available 1829.Tn RAM . 1830Ignored if BUFPAGES is also specified. 1831.It Cd options NBUF=value 1832Sets the number of buffer headers available, i.e., the number of 1833open files that may have a buffer cache entry. 1834Each buffer header 1835requires MAXBSIZE (machine dependent, but usually 65536) bytes. 1836The default value is machine dependent, but is usually equal to the 1837value of BUFPAGES. 1838If an architecture dependent VM_MAX_KERNEL_BUF constant is defined 1839then NBUF may be reduced at run time so that the storage allocated 1840for buffer headers doesn't exceed that limit. 1841.It Cd options BUFPAGES=value 1842These options set the number of pages available for the buffer cache. 1843Their default value is a machine dependent value, often calculated as 1844between 5% and 10% of total available 1845.Tn RAM . 1846.It Cd options MAXTSIZ=bytes 1847Sets the maximum size limit of a process' text segment. 1848See 1849.Pa /usr/include/machine/vmparam.h 1850for the port-specific default. 1851.It Cd options DFLDSIZ=bytes 1852Sets the default size limit of a process' data segment, the value that 1853will be returned as the soft limit for 1854.Dv RLIMIT_DATA 1855(as returned by 1856.Xr getrlimit 2 ) . 1857See 1858.Pa /usr/include/machine/vmparam.h 1859for the port-specific default. 1860.It Cd options MAXDSIZ=bytes 1861Sets the maximum size limit of a process' data segment, the value that 1862will be returned as the hard limit for 1863.Dv RLIMIT_DATA 1864(as returned by 1865.Xr getrlimit 2 ) . 1866See 1867.Pa /usr/include/machine/vmparam.h 1868for the port-specific default. 1869.It Cd options DFLSSIZ=bytes 1870Sets the default size limit of a process' stack segment, the value that 1871will be returned as the soft limit for 1872.Dv RLIMIT_STACK 1873(as returned by 1874.Xr getrlimit 2 ) . 1875See 1876.Pa /usr/include/machine/vmparam.h 1877for the port-specific default. 1878.It Cd options MAXSSIZ=bytes 1879Sets the maximum size limit of a process' stack segment, the value that 1880will be returned as the hard limit for 1881.Dv RLIMIT_STACK 1882(as returned by 1883.Xr getrlimit 2 ) . 1884See 1885.Pa /usr/include/machine/vmparam.h 1886for the port-specific default. 1887.It Cd options DUMP_ON_PANIC=integer 1888Defaults to one. 1889If set to zero, the kernel will not dump to the dump device when 1890it panics, though dumps can still be forced via 1891.Xr ddb 4 1892with the 1893.Dq sync 1894command. 1895Note that this sets the value of the 1896.Em kern.dump_on_panic 1897.Xr sysctl 3 1898variable which may be changed at run time -- see 1899.Xr sysctl 8 1900for details. 1901.It Cd options USE_TOPDOWN_VM 1902User space memory allocations (as made by 1903.Xr mmap 2 ) 1904will be arranged in a 1905.Dq top down 1906fashion instead of the traditional 1907.Dq upwards from MAXDSIZ \+ vm_daddr 1908method. 1909This includes the placement of 1910.Xr ld.so 1 . 1911Arranging memory in this manner allows either (or both of) the heap or 1912.Xr mmap 2 1913allocated space to grow larger than traditionally possible. 1914This option is not available on all ports, but is instead expected to be 1915offered on a port-by-port basis, after which some ports will commit to 1916using it by default. 1917See the files 1918.Pa /usr/include/uvm/uvm_param.h 1919for some implementation details, and 1920.Pa /usr/include/machine/vmparam.h 1921for port specific details including availability. 1922.El 1923.Ss amiga-specific Options 1924.Bl -ohang 1925.It Cd options BB060STUPIDROM 1926When the bootloader (which passes 1927.Tn AmigaOS 1928.Tn ROM 1929information) claims we have a 68060 1930.Tn CPU 1931without 1932.Tn FPU , 1933go look into the Processor Configuration Register (PCR) to find out. 1934You need this with 1935.Tn Amiga 1936.Tn ROM Ns s 1937up to (at least) V40.xxx (OS3.1), 1938when you boot via the bootblocks and don't have a DraCo. 1939.It Cd options IOBZCLOCK=frequency 1940The IOBlix boards come with two different serial master clocks: older ones 1941use 24 MHz, newer ones use 22.1184 MHz. 1942The driver normally assumes the latter. 1943If your board uses 24 MHz, you can recompile your kernel with 1944options IOBZCLOCK=24000000 1945or patch the kernel variable 1946.Tn iobzclock 1947to the same value. 1948.It Cd options LIMITMEM=value 1949If there, limit the part of the first memory bank used by 1950.Nx 1951to value megabytes. 1952Default is unlimited. 1953.It Cd options NKPTADD=addvalue 1954.It Cd options NKPTADDSHIFT=shiftvalue 1955The 1956.Tn CPU 1957specific 1958.Tn MMU 1959table for the kernel is pre-allocated at kernel startup time. 1960Part of it is scaled with 1961.Va maxproc , 1962to have enough room to hold the user program 1963.Tn MMU 1964tables; the second part is a fixed amount for the kernel itself. 1965.Pp 1966The third part accounts for the size of the file buffer cache. 1967Its size is either 1968.Dv NKPTADD 1969pages (if defined) or memory size in bytes divided by two to 1970the power of 1971.Dv NKPTADDSHIFT . 1972The default is undefined 1973.Dv NKPTADD 1974and 1975.Dv NKPTADDSHIFT=24 , 1976allowing for 16 buffers per megabyte of main memory (while 1977a GENERIC kernel allocates about half of that). 1978When you get "can't get KPT page" panics, you should increase 1979.Dv NKPTADD 1980(if defined), or decrease 1981.Dv NKPTADDSHIFT 1982by one. 1983.It Cd options P5PPC68KBOARD 1984Add special support for Phase5 mixed 68k+PPC boards. 1985Currently, this only affects rebooting from 1986.Nx 1987and is only needed on 68040+PPC, not on 198868060+PPC; without this, affected machines will hang after 1989.Nx 1990has shut 1991down and will only restart after a keyboard reset or a power cycle. 1992.El 1993.Ss arm32-specific Options 1994.Bl -ohang 1995.It Cd options FRENCH_KBD 1996Include translation for French keyboards when using 1997.Em pccons 1998on a Shark. 1999.It Cd options FINNISH_KBD 2000Include translation for Finnish keyboards when using 2001.Em pccons 2002on a Shark. 2003.It Cd options GERMAN_KBD 2004Include translation for German keyboards when using 2005.Em pccons 2006on a Shark. 2007.It Cd options NORWEGIAN_KBD 2008Include translation for French keyboards when using 2009.Em pccons 2010on a Shark. 2011.El 2012.Ss atari-specific Options 2013.Bl -ohang 2014.It Cd options DISKLABEL_AHDI 2015Include support for AHDI (native Atari) disklabels. 2016.It Cd options DISKLABEL_NBDA 2017Include support for 2018.Nx Ns Tn /atari 2019labels. 2020If you don't set this option, it will be set automatically. 2021.Nx Ns Tn /atari 2022will not work without it. 2023.It Cd options FALCON_SCSI 2024Include support for the 5380-SCSI configuration as found on the Falcon. 2025.It Cd options RELOC_KERNEL 2026If set, the kernel will relocate itself to TT-RAM, if possible. 2027This will give you a slightly faster system. 2028.Em Beware 2029that on some TT030 systems, 2030the system will frequently dump with MMU-faults with this option enabled. 2031.It Cd options SERCONSOLE 2032Allow the modem1-port to act as the system-console. 2033A carrier should be active on modem1 during system boot to active 2034the console functionality. 2035.It Cd options TT_SCSI 2036Include support for the 5380-SCSI configuration as found on the TT030 2037and Hades. 2038.El 2039.Ss i386-specific Options 2040.Bl -ohang 2041.It Cd options I386_CPU,I486_CPU,I586_CPU,I686_CPU 2042Include support for a particular class of 2043.Tn CPU 2044.Po 2045.Tn i386 , 2046.Tn i486 , 2047.Tn Pentium , 2048or 2049.Tn Pentium Pro 2050.Pc . 2051If the appropriate class for your 2052.Tn CPU 2053is not configured, the kernel will use the highest class available 2054that will work. 2055In general, using the correct 2056.Tn CPU 2057class will result in the best performance. 2058At least one of these options must be present. 2059.It Cd options CPURESET_DELAY=value 2060specifies the time (in millisecond) to wait before doing a hardware reset 2061in the last phase of a reboot. 2062This gives the user a chance to see error messages from the shutdown 2063operations (like NFS unmounts, buffer cache flush, etc ...). 2064Setting this to 0 will disable the delay. 2065Default is 2 seconds. 2066.It Cd options MATH_EMULATE 2067Include the floating point emulator. 2068This is useful only for 2069.Tn CPU Ns s 2070that lack an 2071internal Floating Point Unit 2072.Pq Tn FPU 2073or co-processor. 2074.It Cd options VM86 2075Include support for virtual 8086 mode, used by 2076.Tn DOS 2077emulators and X servers to run BIOS code, e.g., for some VESA routines. 2078.It Cd options USER_LDT 2079Include i386-specific system calls for modifying the local descriptor table, 2080used by Windows emulators. 2081.It Cd options REALBASEMEM=integer 2082Overrides the base memory size passed in from the boot block. 2083(Value given in kilobytes.) 2084Use this option only if the boot block reports the size incorrectly. 2085(Note that some 2086.Tn BIOS Ns es 2087put the extended 2088.Tn BIOS 2089data area at the top of base memory, and therefore report a smaller 2090base memory size to prevent programs overwriting it. 2091This is correct behavior, and you should not use the 2092.Em REALBASEMEM 2093option to access this memory). 2094.It Cd options REALEXTMEM=integer 2095Overrides the extended memory size passed in from the boot block. 2096(Value given in kilobytes. 2097Extended memory does not include the first megabyte.) 2098Use this option only if the boot block reports the size incorrectly. 2099.It Cd options FRENCH_KBD,FINNISH_KBD,GERMAN_KBD,NORWEGIAN_KBD 2100Select a non-US keyboard layout for the 2101.Em pccons 2102console driver. 2103.It Cd options CYRIX_CACHE_WORKS 2104Relevant only to the Cyrix 486DLC CPU. 2105This option is used to turn on the cache in hold-flush mode. 2106It is not turned on by default because it is known to have problems in 2107certain motherboard implementations. 2108.It Cd options CYRIX_CACHE_REALLY_WORKS 2109Relevant only to the Cyrix 486DLC CPU. 2110This option is used to turn on the cache in write-back mode. 2111It is not turned on by default because it is known to have problems in 2112certain motherboard implementations. 2113In order for this option to take effect, option 2114.Em CYRIX_CACHE_WORKS 2115must also be specified. 2116.It Cd options PCIBIOS 2117Enable support for initializing the 2118.Tn PCI 2119bus using information from the 2120.Tn BIOS . 2121See 2122.Xr pcibios 4 2123for details. 2124.It Cd options KSTACK_CHECK_DR0 2125Detect kernel stack overflow using DR0 register. 2126This option uses DR0 register exclusively so you can't use DR0 register for 2127other purpose (e.g., hardware breakpoint) if you turn this on. 2128.It Cd options MTRR 2129Include support for accessing MTRR registers from user-space. 2130See 2131.Xr i386_get_mtrr 2 . 2132.El 2133.Ss isa-specific Options 2134Options specific to 2135.Xr isa 4 2136busses. 2137.Bl -ohang 2138.It Cd options PCIC_ISA_ALLOC_IOBASE=address, PCIC_ISA_ALLOC_IOSIZE=size 2139Control the section of IO bus space used for PCMCIA bus space mapping. 2140Ideally the probed defaults are satisfactory, however in practice 2141that is not always the case. 2142See 2143.Xr pcmcia 4 2144for details. 2145.It Cd options PCIC_ISA_INTR_ALLOC_MASK=mask 2146Controls the allowable interrupts that may be used for 2147.Tn PCMCIA 2148devices. 2149This mask is a logical-or of power-of-2s of allowable interrupts: 2150.Bd -literal -offset 04n 2151.Em "IRQ Val IRQ Val IRQ Val IRQ Val" 2152 0 0x0001 4 0x0010 8 0x0100 12 0x1000 2153 1 0x0002 5 0x0020 9 0x0200 13 0x2000 2154 2 0x0004 6 0x0040 10 0x0400 14 0x4000 2155 3 0x0008 7 0x0080 11 0x0800 15 0x8000 2156.Ed 2157.El 2158.Ss m68k-specific Options 2159.Bl -ohang 2160.It Cd options FPU_EMULATE 2161Include support for MC68881/MC68882 emulator. 2162.It Cd options FPSP 2163Include support for 68040 floating point. 2164.It Cd options M68020,M68030,M68040,M68060 2165Include support for a specific 2166.Tn CPU , 2167at least one (the one you are using) should be specified. 2168.It Cd options M060SP 2169Include software support for 68060. 2170This provides emulation of unimplemented 2171integer instructions as well as emulation of unimplemented floating point 2172instructions and data types and software support for floating point traps. 2173.El 2174.Ss sparc-specific Options 2175.Bl -ohang 2176.It Cd options AUDIO_DEBUG 2177Enable simple event debugging of the logging of the 2178.Xr audio 4 2179device. 2180.It Cd options BLINK 2181Enable blinking of LED. 2182Blink rate is full cycle every N seconds for 2183N \*[Lt] then current load average. 2184See 2185.Xr getloadavg 3 . 2186.\" .It Cd options COLORFONT_CACHE 2187.\" What does this do? 2188.It Cd options COUNT_SW_LEFTOVERS 2189Count how many times the sw SCSI device has left 3, 2, 1 and 0 in the 2190sw_3_leftover, sw_2_leftover, sw_1_leftover, and sw_0_leftover 2191variables accessible from 2192.Xr ddb 4 . 2193See 2194.Xr sw 4 . 2195.It Cd options DEBUG_ALIGN 2196Adds debugging messages calls when user-requested alignment fault 2197handling happens. 2198.It Cd options DEBUG_EMUL 2199Adds debugging messages calls for emulated floating point and 2200alignment fixing operations. 2201.It Cd options DEBUG_SVR4 2202Prints registers messages calls for emulated SVR4 getcontext and 2203setcontext operations. 2204See 2205.Em options COMPAT_SVR4 . 2206.It Cd options EXTREME_DEBUG 2207Adds debugging functions callable from 2208.Xr ddb 4 . 2209The debug_pagetables, test_region and print_fe_map 2210functions print information about page tables for the SUN4M 2211platforms only. 2212.It Cd options EXTREME_EXTREME_DEBUG 2213Adds extra info to 2214.Em options EXTREME_DEBUG . 2215.It Cd options FPU_CONTEXT 2216Make 2217.Em options COMPAT_SVR4 2218getcontext and setcontext include floating point registers. 2219.It Cd options MAGMA_DEBUG 2220Adds debugging messages to the 2221.Xr magma 4 2222device. 2223.It Cd options RASTERCONS_FULLSCREEN 2224Use the entire screen for the console. 2225.It Cd options RASTERCONS_SMALLFONT 2226Use the Fixed font on the console, instead of the normal font. 2227.It Cd options SUN4 2228Support sun4 class machines. 2229.It Cd options SUN4C 2230Support sun4c class machines. 2231.It Cd options SUN4M 2232Support sun4m class machines. 2233.It Cd options SUN4_MMU3L 2234.\" XXX ??? 2235Enable support for sun4 3-level MMU machines. 2236.It Cd options V9 2237Enable SPARC V9 assembler in 2238.Xr ddb 4 . 2239.El 2240.Ss sparc64-specific Options 2241.Bl -ohang 2242.It Cd options AUDIO_DEBUG 2243Enable simple event debugging of the logging of the 2244.Xr audio 4 2245device. 2246.It Cd options BLINK 2247Enable blinking of LED. 2248Blink rate is full cycle every N seconds for 2249N \*[Lt] then current load average. 2250See 2251.Xr getloadavg 3 . 2252.El 2253.Ss x68k-specific Options 2254.Bl -ohang 2255.It Cd options EXTENDED_MEMORY 2256Include support for extended memory, e.g., TS-6BE16 and 060turbo on-board. 2257.It Cd options JUPITER 2258Include support for Jupiter-X MPU accelerator 2259.It Cd options ZSCONSOLE,ZSCN_SPEED=value 2260Use the built-in serial port as the system-console. 2261Speed is specified in bps, defaults to 9600. 2262.It Cd options ITE_KERNEL_ATTR=value 2263Set the kernel message attribute for ITE. 2264Value, an integer, is a logical or of the following values: 2265.Bl -tag -width 4n -compact -offset indent 2266.It 1 2267color inversed 2268.It 2 2269underlined 2270.It 4 2271bolded 2272.El 2273.El 2274.\" The following requests should be uncommented and used where appropriate. 2275.\" .Sh FILES 2276.\" .Sh EXAMPLES 2277.Sh SEE ALSO 2278.Xr gdb 1 , 2279.Xr ktrace 1 , 2280.Xr pmc 1 , 2281.Xr quota 1 , 2282.Xr gettimeofday 2 , 2283.Xr i386_get_mtrr 2 , 2284.Xr i386_iopl 2 , 2285.Xr msgctl 2 , 2286.Xr msgget 2 , 2287.Xr msgrcv 2 , 2288.Xr msgsnd 2 , 2289.Xr ntp_adjtime 2 , 2290.Xr ntp_gettime 2 , 2291.Xr semctl 2 , 2292.Xr semget 2 , 2293.Xr semop 2 , 2294.Xr shmat 2 , 2295.Xr shmctl 2 , 2296.Xr shmdt 2 , 2297.Xr shmget 2 , 2298.Xr sysctl 3 , 2299.Xr apm 4 , 2300.Xr ddb 4 , 2301.Xr inet 4 , 2302.Xr iso 4 , 2303.Xr lkm 4 , 2304.Xr md 4 , 2305.Xr ns 4 , 2306.Xr pcibios 4 , 2307.Xr pcmcia 4 , 2308.Xr ppp 4 , 2309.Xr userconf 4 , 2310.Xr wscons 4 , 2311.Xr config 8 , 2312.Xr edquota 8 , 2313.Xr init 8 , 2314.Xr mdsetimage 8 , 2315.Xr mount_cd9660 8 , 2316.Xr mount_fdesc 8 , 2317.Xr mount_kernfs 8 , 2318.Xr mount_lfs 8 , 2319.Xr mount_mfs 8 , 2320.Xr mount_msdos 8 , 2321.Xr mount_nfs 8 , 2322.Xr mount_ntfs 8 , 2323.Xr mount_null 8 , 2324.Xr mount_portal 8 , 2325.Xr mount_procfs 8 , 2326.Xr mount_umap 8 , 2327.Xr mount_union 8 , 2328.Xr mrouted 8 , 2329.Xr newfs_lfs 8 , 2330.Xr ntpd 8 , 2331.Xr quotaon 8 , 2332.Xr rpc.rquotad 8 , 2333.Xr sysctl 8 2334.Sh HISTORY 2335The 2336.Nm 2337man page first appeared in 2338.Nx 1.3 . 2339.Sh BUGS 2340The 2341.Em INET 2342option should not be required. 2343The 2344.Em EON 2345option should be a pseudo-device, and is also very fragile. 2346