xref: /netbsd-src/share/man/man4/options.4 (revision e55cffd8e520e9b03f18a1bd98bb04223e79f69f)
1.\"	$NetBSD: options.4,v 1.136 2001/04/21 20:51:18 fvdl 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 August 29, 2000
34.Os
35.Dt OPTIONS 4
36.Sh NAME
37.Nm options
38.Nd Miscellaneous kernel configuration options
39.Sh SYNOPSIS
40.Cd options ...
41.Sh DESCRIPTION
42This manual page describes a number of miscellaneous kernel
43configuration options that may be specified in a kernel config
44file.
45See
46.Xr config 8
47for information on how to configure and build kernels.
48.Em Note :
49Options are passed to the compile process as -D flags to the C
50compiler.
51.Ss Compatibility Options
52.Bl -ohang
53.It Cd options COMPAT_09
54Enable binary compatibility with
55.Nx 0.9 .
56This enables support for
5716-bit user, group, and process ids (following revisions support
5832-bit identifiers),
59It also allows the use of the deprecated
60.Xr getdomainname 3 ,
61.Xr setdomainname 3 ,
62and
63.Xr uname 3
64syscalls.
65This option also allows using numeric filesystem identifiers rather
66than strings.
67Post
68.Nx 0.9
69versions use string identifiers.
70.It Cd options COMPAT_10
71Enable binary compatibility with
72.Nx 1.0 .
73This option allows the use of the filesystem name of
74.Dq ufs
75as an alias for
76.Dq ffs .
77The name
78.Dq ffs
79should be used post 1.0 in
80.Pa /etc/fstab
81and other files.
82It also adds old syscalls for the
83.At V
84shared memory interface.
85This was changed post 1.0 to work on 64-bit architectures.
86This option also enables
87.Dq sgtty
88compatibility, without which programs using the old interface produce
89an
90.Dq inappropriate ioctl
91error.
92.It Cd options COMPAT_11
93Enable binary compatibility with
94.Nx 1.1 .
95This allows binaries running on the i386 port to gain direct access to
96the io ports by opening
97.Pa /dev/io
98read/write.
99This functionality was replaced by
100.Xr i386_iopl 2
101post 1.1.
102On the
103.Tn Atari
104port, the location of the disk label was moved after 1.1.
105When the
106.Em COMPAT_11
107option is set, the kernel will read (pre) 1.1 style disk labels as a
108last resort.
109When a disklabel is re-written, the old style label will be replaced
110with a post 1.1 style label.
111.It Cd options COMPAT_12
112Enable binary compatibility with
113.Nx 1.2 .
114This allows the use of old syscalls for
115.Fn reboot
116and
117.Fn swapon .
118The syscall numbers were changed post 1.2 to add functionality to the
119.Xr reboot 2
120syscall, and the new
121.Xr swapctl 2
122interface was introduced.
123.It Cd options COMPAT_13
124Enable binary compatibility with
125.Nx 1.3 .
126This allows the use of old syscalls for
127.Fn sigaltstack ,
128and also enables the old
129.Xr swapctl 2
130command
131.Dv SWAP_STATS
132(now called
133.Dv SWAP_OSTATS ) ,
134which does not include the
135.Fa se_path
136member of
137.Va struct swapent .
138.It Cd options COMPAT_14
139Enable binary compatibility with
140.Nx 1.4 .
141This allows some old
142.Xr ioctl 2
143on
144.Xr wscons 4
145to be performed, and allows the
146.Dv NFSSVC_BIOD
147mode of the
148.Xr nfssvc 2
149system call to be used for compatibility with the deprecated nfsiod program.
150.It Cd options COMPAT_43
151Enables compatibility with
152.Bx 4.3 .
153This adds an old syscall for
154.Xr lseek 2 .
155It also adds the ioctls for
156.Dv TIOCGETP
157and
158.Dv TIOCSETP .
159The return values for
160.Xr getpid 2 ,
161.Xr getgid 2 ,
162and
163.Xr getuid 2
164syscalls are modified as well, to return the parent's pid and
165uid as well as the current process's.
166It also enables the deprecated
167.Dv NTTYDISC
168terminal line discipline.
169It also provides backwards compatibility with
170.Dq old
171SIOC[GS]IF{ADDR,DSTADDR,BRDADDR,NETMASK} interface ioctls, including
172binary compatibility with code written before the introduction of the
173sa_len field in sockaddrs.
174It also enables
175support for some older pre
176.Bx 4.4
177socket calls.
178.It Cd options COMPAT_SVR4
179On those architectures that support it, this enables binary
180compatibility with
181.At V.4
182applications built for the same architecture.
183This currently includes the i386, m68k and sparc port.
184.It Cd options COMPAT_LINUX
185On those architectures that support it, this enables binary
186compatibility with Linux ELF and
187.Xr a.out 5
188applications built for the same architecture.
189This currently includes the alpha, i386, powerpc, and m68k
190port. COMPAT_LINUX for powerpc is still experimental.
191.It Cd options COMPAT_SUNOS
192On those architectures that support it, this enables binary
193compatibility with
194.Tn SunOS 4.1
195applications built for the same architecture.
196This currently includes the sparc, sparc64 and most or all m68k ports.
197Note that the sparc64 requires the
198.Em COMPAT_NETBSD32
199option for 64-bit kernels, in addition to this option.
200.It Cd options COMPAT_ULTRIX
201On those architectures that support it, this enables binary
202compatibility with
203.Tn Ultrix
204applications built for the same architecture.
205This currently is limited to the pmax.
206The functionality of this option is unknown.
207.It Cd options COMPAT_FREEBSD
208On those architectures that support it, this enables binary
209compatibility with
210.Fx
211applications built for the same architecture.
212At the moment this is limited to the i386 port.
213.It Cd options COMPAT_HPUX
214On those architectures that support it, this enables binary
215compatibility with
216.Tn HP/UX
217applications built for the same architecture.
218This is limited to the hp300 port, and has some known bugs.
219A limited set of programs do work.
220.It Cd options COMPAT_IBCS2
221On those architectures that support it, this enables binary
222compatibility with iBCS2 or SVR3 applications built for the same architecture.
223This is currently limited to the i386 and vax ports.
224.It Cd options COMPAT_OSF1
225On those architectures that support it, this enables binary
226compatibility with
227.Tn Digital
228.Ux
229.Po
230formerly
231.Tn OSF/1
232.Pc
233applications built for the same architecture.
234This is currently limited to the alpha port.
235.It Cd options COMPAT_NOMID
236Enable compatibility with
237.Xr a.out 5
238executables that lack a machine ID.
239This includes
240.Nx 0.8 Ns 's
241ZMAGIC format, and 386BSD and BSDI's
242QMAGIC, NMAGIC, and OMAGIC
243.Xr a.out 5
244formats.
245.It Cd options COMPAT_NETBSD32
246On those architectures that support it, this enables binary
247compatibility with 32-bit applications built for the same architecture.
248This is currently limited to the sparc64 port, and only applicable for
24964-bit kernels.
250.It Cd options COMPAT_SVR4_32
251On those architectures that support it, this enables binary
252compatibility with 32-bit SVR4 applications built for the same architecture.
253This is currently limited to the sparc64 port, and only applicable for
25464-bit kernels.
255.It Cd options COMPAT_AOUT_M68K
256On m68k architectures which have switched to ELF,
257this enable binary compatibility with
258.Nx Ns Tn /m68k
259.Xr a.out 5
260executables on
261.Nx Ns Tn /m68k
262ELF kernel.
263This handles alignment incompatibility of m68k ABI between
264a.out and ELF which causes the structure padding differences.
265Currently only some system calls which use
266.Va struct stat
267are adjusted and some binaries which use
268.Xr sysctl 3
269to retrieve network details would not work properly.
270.El
271.Ss Debugging Options
272.Bl -ohang
273.It Cd options DDB
274Compiles in a kernel debugger for diagnosing kernel problems.
275See
276.Xr ddb 4
277for details.
278.Em NOTE :
279not available on all architectures.
280.It Cd options DDB_FROMCONSOLE=integer
281If set to non-zero, DDB may be entered by sending a break on a serial
282console or by a special key sequence on a graphics console.
283A value of "0" ignores console breaks or key sequences,
284It not explicitly specified, the default value is "1".
285Note that this sets the value of the
286.Em ddb.fromconsole
287.Xr sysctl 3
288variable which may be changed at run time -- see
289.Xr sysctl 8
290for details.
291.It Cd options DDB_HISTORY_SIZE=integer
292If this is non-zero, enable history editing in the kernel debugger
293and set the size of the history to this value.
294.It Cd options DDB_ONPANIC
295If set to non-zero, the DDB will be entered upon kernel panic.
296The default if not specified is "1".
297Note that this sets the value of the
298.Em ddb.onpanic
299.Xr sysctl 3
300variable which may be changed at run time -- see
301.Xr sysctl 8
302for details.
303.It Cd options DDB_BREAK_CHAR=integer
304This option overrides the using break to enter the kernel debugger
305on the serial console.
306The value given will is the ascii value to be used instead.
307This is currently only supported by the com driver.
308.It Cd options KGDB
309Compiles in a remote kernel debugger stub for diagnosing kernel problems
310using the
311.Dq remote target
312feature of gdb.
313See
314.Xr gdb 1
315for details.
316.Em NOTE :
317not available on all architectures.
318.It Cd makeoptions DEBUG="-g"
319The -g flag causes
320.Pa netbsd.gdb
321to be built in addition to
322.Pa netbsd .
323.Pa netbsd.gdb
324is useful for debugging kernel crash dumps with gdb.
325The command
326.Dl gdb -k
327invokes gdb in kernel debugger mode.
328See
329.Xr gdb 1
330for details.
331This also turns on
332.Em options DEBUG
333(which see).
334.It Cd options DEBUG
335Turns on miscellaneous kernel debugging.
336Since options are turned into preprocessor defines (see above),
337.Em options DEBUG
338is equivalent to doing a
339.Em #define DEBUG
340throughout the kernel.
341Much of the kernel has
342.Em #ifdef DEBUG
343conditionalized debugging code.
344Note that many parts of the kernel (typically device drivers) include their own
345.Em #ifdef XXX_DEBUG
346conditionals instead.
347This option also turns on certain other options,
348which may decrease system performance.
349.It Cd options DIAGNOSTIC
350Adds code to the kernel that does internal consistency checks.
351This code will cause the kernel to panic if corruption of internal data
352structures is detected. These checks can decrease performance up to 15%.
353.It Cd options KTRACE
354Add hooks for the system call tracing facility, which allows users to
355watch the system call invocation behavior of processes.
356See
357.Xr ktrace 1
358for details.
359.It Cd options MSGBUFSIZE=integer
360This option sets the size of the kernel message buffer.
361This buffer holds the kernel output of
362.Fn printf
363when not (yet) read by
364.Xr syslogd 8 .
365This is particularly useful when the system has crashed and you wish to lookup
366the kernel output from just before the crash.
367Also, since the autoconfig output becomes more and more verbose,
368it sometimes happens that the message buffer overflows before
369.Xr syslogd 8
370was able to read it.
371Note that not all systems are capable of obtaining a variable sized message
372buffer.
373There are also some systems on which memory contents are not preserved
374across reboots.
375.It Cd options MALLOCLOG
376Enables an event log for
377.Xr malloc 9 .
378Useful for tracking down
379.Dq Data modified on freelist
380and
381.Dq multiple free
382problems.
383.It Cd options MALLOCLOGSIZE=integer
384Defines the number of entries in the malloc log.
385Default is 100000 entries.
386.El
387.Ss File Systems
388.Bl -ohang
389.It Cd file-system FFS
390Includes code implementing the Berkeley Fast File System
391.Em ( FFS ) .
392Most machines need this if they are not running diskless.
393.It Cd file-system EXT2FS
394Includes code implementing the Second Extended File System
395.Em ( EXT2FS )
396, revision 0 and revision 1 with the
397.Em filetype
398and
399.Em sparse_super
400options.  This is the most commonly used file system on the Linux operating
401system, and is provided here for compatibility.
402Some of the specific features of
403.Em EXT2FS
404like the "behavior on errors" are not implemented.
405This file system can't be used with UID or GID greater than 65535.
406See
407.Xr mount_ext2fs 8
408for details.
409.It Cd file-system LFS
410.Em [EXPERIMENTAL]
411Include the Log-structured File System
412.Em ( LFS ) .
413See
414.Xr mount_lfs 8
415and
416.Xr newfs_lfs 8
417for details.
418.It Cd file-system MFS
419Include the Memory File System
420.Em ( MFS ) .
421This file system stores files in swappable memory, and produces
422notable performance improvements when it is used as the file store
423for
424.Pa /tmp
425and similar file systems.
426See
427.Xr mount_mfs 8
428for details.
429.It Cd file-system NFS
430Include the client side of the Network File System
431.Pq Tn NFS
432remote file sharing protocol.
433Although the bulk of the code implementing
434.Tn NFS
435is kernel based, several user level daemons are needed for it to work.
436See
437.Xr mount_nfs 8
438for details.
439.It Cd file-system CD9660
440Includes code for the
441.Tn ISO
4429660 + Rock Ridge file system, which is the standard file system on many
443.Tn CD-ROM
444discs.
445Useful primarily if you have a
446.Tn CD-ROM
447drive.
448See
449.Xr mount_cd9660 8
450for details.
451.It Cd file-system MSDOSFS
452Includes the
453.Tn MS-DOS
454FAT file system, which is reportedly still used
455by unfortunate people who have not heard about
456.Nx .
457Also implements the
458.Tn Windows 95
459extensions to the same, which permit the use of longer, mixed case
460file names.
461See
462.Xr mount_msdos 8
463and
464.Xr fsck_msdos 8
465for details.
466.It Cd file-system NTFS
467[EXPERIMENTAL] Includes code for the
468.Tn Microsoft Windows NT
469file system.
470See
471.Xr mount_ntfs 8
472for details.
473.It Cd file-system FDESC
474Includes code for a file system, conventionally mounted on
475.Pa /dev/fd ,
476which permits access to the per-process file descriptor space via
477special files in the file system.
478See
479.Xr mount_fdesc 8
480for details.
481Note that this facility is redundant, and thus unneeded on most
482.Nx
483systems, since the
484.Xr fd 4
485pseudodevice driver already provides identical functionality.
486On most
487.Nx
488systems, instances of
489.Xr fd 4
490are mknoded under
491.Pa /dev/fd/
492and on
493.Pa /dev/stdin ,
494.Pa /dev/stdout ,
495and
496.Pa /dev/stderr .
497.It Cd file-system KERNFS
498Includes code which permits the mounting of a special file system
499(normally mounted on
500.Pa /kern )
501in which files representing various kernel variables and parameters
502may be found.
503See
504.Xr mount_kernfs 8
505for details.
506.It Cd file-system NULLFS
507Includes code for a loopback file system.
508This permits portions of the file hierarchy to be re-mounted in other places.
509The code really exists to provide an example of a stackable file system layer.
510See
511.Xr mount_null 8
512for details.
513.It Cd file-system OVERLAY
514Includes code for a file system filter.
515This permits the overlay file system to intercept all access to an underlying
516file system. This file system is intended to serve as an example of
517a stacking file system which has a need to interpose itself between an
518underlying file system and all other access.
519See
520.Xr mount_overlay 8
521for details.
522.It Cd file-system PORTAL
523.Em [EXPERIMENTAL]
524Includes the portal filesystem.
525This permits interesting tricks like opening
526.Tn TCP
527sockets by opening files in the file system.
528The portal file system is conventionally mounted on
529.Pa /p
530and is partially implemented by a special daemon.
531See
532.Xr mount_portal 8
533for details.
534.It Cd file-system PROCFS
535Includes code for a special file system (conventionally mounted on
536.Pa /proc )
537in which the process space becomes visible in the file system.
538Among
539other things, the memory spaces of processes running on the system are
540visible as files, and signals may be sent to processes by writing to
541.Pa ctl
542files in the procfs namespace.
543See
544.Xr mount_procfs 8
545for details.
546.It Cd file-system UMAPFS
547Includes a loopback file system in which user and group ids may be
548remapped -- this can be useful when mounting alien file systems with
549different uids and gids than the local system.
550See
551.Xr mount_umap 8
552for details.
553.It Cd file-system UNION
554.Em [EXPERIMENTAL]
555Includes code for the union file system, which permits directories to
556be mounted on top of each other in such a way that both file systems
557remain visible -- this permits tricks like allowing writing (and the
558deleting of files) on a read-only file system like a
559.Tn CD-ROM
560by mounting a local writable file system on top of the read-only file system.
561See
562.Xr mount_union 8
563for details.
564.It Cd file-system CODA
565.Em [EXPERIMENTAL]
566Includes code for the Coda file system.
567Coda is a distributed file system like NFS and AFS.  It is
568freely available, like NFS, but it functions much like AFS in being a
569"stateful" file system.  Both Coda and AFS cache files on your local
570machine to improve performance.  Then Coda goes a step further than AFS
571by letting you access the cached files when there is no available
572network, viz. disconnected laptops and network outages.  In Coda, both
573the client and server are outside the kernel which makes them easier
574to experiment with.  Coda is available for several UNIX and non-UNIX
575platforms.
576See http://www.coda.cs.cmu.edu for more details.
577NOTE: You also need to enable the pseudo-device, vcoda, for the Coda
578filesystem to work.
579.El
580.Ss File System Options
581.Bl -ohang
582.It Cd options NFSSERVER
583Include the server side of the
584.Em NFS
585(Network File System) remote file sharing protocol.
586Although the bulk of the code implementing
587.Em NFS
588is kernel based, several user level daemons are needed for it to
589work.
590See
591.Xr mountd 8
592and
593.Xr nfsd 8
594for details.
595.It Cd options QUOTA
596Enables kernel support for file system quotas.
597See
598.Xr quotaon 8 ,
599.Xr edquota 8 ,
600and
601.Xr quota 1
602for details.
603Note that quotas only work on
604.Dq ffs
605file systems, although
606.Xr rpc.rquotad 8
607permits them to be accessed over
608.Em NFS .
609.It Cd options FFS_EI
610Enable ``Endian-Independent'' FFS support.
611This allows a system to mount an FFS filesystem created for another
612architecture, at a small performance cost for all FFS filesytems.
613See also
614.Xr newfs 8 ,
615.Xr fsck_ffs 8 ,
616.Xr dumpfs 8
617for filesystem byte order status and manipulation.
618.It Cd options NVNODE=integer
619This option sets the size of the cache used by the name-to-inode translation
620routines, (a.k.a. the
621.Fn namei
622cache, though called by many other names in the kernel source).
623By default, this cache has
624.Dv NPROC
625(set as 20 + 16 * MAXUSERS) * (80 + NPROC / 8) entries.
626A reasonable way to derive a value of
627.Dv NVNODE ,
628should you notice a large number of namei cache misses with a tool such as
629.Xr systat 1 ,
630is to examine your system's current computed value with
631.Xr sysctl 8 ,
632(which calls this parameter "kern.maxvnodes") and to increase this value
633until either the namei cache hit rate improves or it is determined that
634your system does not benefit substantially from an increase in the size of
635the namei cache.
636.It Cd options NAMECACHE_ENTER_REVERSE
637Causes the namei cache to always enter a reverse mapping (vnode -> name)
638as well as a normal one. Normally, this is already done for directory
639vnodes, to speed up the getcwd operation. This option will cause
640longer hash chains in the reverse cache, and thus slow down
641getcwd somewhat. However, it does make vnode -> path translations
642possible in some cases. For now, only useful if strict /proc/#/maps
643emulation for Linux binaries is required.
644.It Cd options EXT2FS_SYSTEM_FLAGS
645This option changes the behavior of the APPEND and IMMUTABLE flags
646for a file on an
647.Em EXT2FS
648filesystem.
649Without this option, the superuser or owner of the file can
650set and clear them.
651With this option, only the superuser can set them, and
652they can't be cleared if the securelevel is greater than 0.
653See also
654.Xr chflags 1 .
655.It Cd options NFS_BOOT_BOOTP
656Enable use of the BOOTP protocol (RFC 951, 1048) to get configuration
657information if NFS is used to mount the root file system.
658See
659.Xr diskless 8
660for details.
661.It Cd options NFS_BOOT_DHCP
662Same as
663.Dq NFS_BOOT_BOOTP
664, but use the DHCP extensions to the
665BOOTP protocol (RFC 1541).
666.It Cd options NFS_BOOT_BOOTP_REQFILE
667Specifies the string sent in the bp_file field of the BOOTP / DHCP
668request packet.
669.It Cd options NFS_BOOT_BOOTPARAM
670Enable use of the BOOTPARAM protocol, consisting of RARP and
671BOOTPARAM RPC, to get configuration information if NFS
672is used to mount the root file system.
673See
674.Xr diskless 8
675for details.
676.It Cd options NFS_BOOT_RWSIZE=value
677Set the initial NFS read and write sizes for diskless-boot requests.
678The normal default is 8Kbytes.  This option provides a way to lower
679the value (e.g., to 1024 bytes) as a workaround for buggy network
680interface cards or boot proms. Once booted, the read and write request
681sizes can be increased by remounting the filesystem. See
682.Xr mount_nfs 8
683for details.
684.It Cd options NFS_V2_ONLY
685Reduce the size of the NFS client code by omitting code that's only required
686for NFSv3 and NQNFS support, leaving only that code required to use NFSv2
687servers.
688.El
689.Ss Miscellaneous Options
690.Bl -ohang
691.It Cd options LKM
692Enable loadable kernel modules.
693See
694.Xr lkm 4
695for details.
696.Em NOTE :
697not available on all architectures.
698.It Cd options INSECURE
699Hardwires the kernel security level at -1.
700This means that the system
701always runs in secure level 0 mode, even when running multiuser.
702See the manual page for
703.Xr init 8
704for details on the implications of this.
705The kernel secure level may manipulated by the superuser by altering the
706.Em kern.securelevel
707.Xr sysctl 3
708variable (the secure level may only be lowered by a call from process ID 1,
709i.e.
710.Xr init 8 ) .
711See also
712.Xr sysctl 8
713and
714.Xr sysctl 3 .
715.It Cd options UCONSOLE
716Normally, only the superuser can execute the
717.Dv TIOCCONS
718.Xr ioctl 2 ,
719which redirects console output to a non-console tty.
720See
721.Xr tty 4
722for details.
723This option permits any user to execute the
724.Dv TIOCCONS
725.Xr ioctl 2 .
726This is useful on
727machines such as personal workstations which run
728.Xr X 7
729servers, where one would prefer to permit console output to be
730viewed in a window without requiring a suid root program to do it.
731.It Cd options MEMORY_DISK_HOOKS
732This option allows for some machine dependent functions to be called when
733the
734.Tn RAM
735disk driver is configured.
736This can result in automatically loading a
737.Tn RAM
738disk from floppy on open (among other things).
739.It Cd options MEMORY_DISK_IS_ROOT
740Forces the
741.Tn RAM
742disk to be the root device.
743This can only be overridden when
744the kernel is booted in the 'ask-for-root' mode.
745.It Cd options VNODE_OP_NOINLINE
746Do not inline the VOP_*() calls in the kernel.
747On i386 GENERIC, this saves 36k of kernel text.  Useful
748for install media kernels, small memory systems and embedded systems.
749.It Cd options NTP
750Turns on in-kernel precision timekeeping support used by software
751implementing
752.Em NTP
753(Network Time Protocol, RFC1305).
754The
755.Em NTP
756option adds an in-kernel Phase-Locked Loop (PLL) for normal
757.Em NTP
758operation, and a Frequency-Locked Loop (FLL) for intermittently-connected
759operation.
760.Xr ntpd 8
761will employ a user-level PLL when kernel support is unavailable,
762but the in-kernel version has lower latency and more precision, and
763so typically keeps much better time.
764The interface to the kernel
765.Em NTP
766support is provided by the
767.Xr ntp_adjtime 2
768and
769.Xr ntp_gettime 2
770system calls, which are intended for use by
771.Xr ntpd 8
772and are enabled by the option.
773On systems with sub-microsecond resolution timers, or where (HZ / 100000)
774is not an integer, the
775.Em NTP
776option also enables extended-precision arithmetic to keep track of
777fractional clock ticks at NTP time-format precision.
778.It Cd options PPS_SYNC
779This option enables a kernel serial line discipline for receiving time
780phase signals from an external reference clock such as a radio clock.
781(The
782.Em NTP
783option (which see) must be on if the
784.Em PPS_SYNC
785option is used.)
786Some reference clocks generate a Pulse Per Second (PPS) signal in
787phase with their time source.
788The
789.Em PPS
790line discipline receives this signal on either the data leads
791or the DCD control lead of a serial port.
792.Em NTP
793uses the PPS signal to discipline the local clock oscillator to a high
794degree of precision (typically less than 50 microseconds in time and
7950.1 ppm in accuracy).
796.Em PPS
797can also generate a serial output pulse when the system receives a PPS
798interrupt.
799This can be used to measure the system interrupt latency and thus calibrate
800.Em NTP
801to account for it.
802Using
803.Em PPS
804usually requires a
805gadget box
806to convert from TTL to RS-232 signal levels.
807The gadget box and PPS are described in more detail in the HTML documentation
808shipped with the ntpd distribution.
809.It Cd options SETUIDSCRIPTS
810Allows scripts with the setuid bit set to execute as the effective
811user rather than the real user, just like binary executables.
812.Pp
813.Em NOTE :
814Using this option will also enable
815.Em options FDSCRIPTS
816.It Cd option FDSCRIPTS
817Allows execution of scripts with the execute bit set, but not the
818read bit, by opening the file and passing the file descriptor to
819the shell, rather than the filename.
820.Pp
821.Em NOTE :
822Execute only (non-readable) scripts will have
823.Va argv[0]
824set to
825.Pa /dev/fd/* .
826What this option allows as far as security is
827concerned, is the ability to safely ensure that the correct script
828is run by the interpreter, as it is passed as an already open file.
829.It Cd options PUCCN
830Enables treating serial ports found on PCI boards
831.Xr puc 4
832as potential console devices.  The method for choosing such a console
833device is port dependent.
834.It Cd options RTC_OFFSET=integer
835The kernel (and typically the hardware battery backed-up clock on
836those machines that have one) keeps time in
837.Em UTC
838(Universal Coordinated Time, once known as
839.Em GMT ,
840or Greenwich Mean Time)
841and not in the time of the local time zone.
842The
843.Em RTC_OFFSET
844option is used on some ports (such as the i386) to tell the kernel
845that the hardware clock is offset from
846.Em UTC
847by the specified number of minutes.
848This is typically used when a machine boots several operating
849systems and one of them wants the hardware clock to run in the
850local time zone and not in
851.Em UTC ,
852e.g.
853.Em RTC_OFFSET=300
854means
855the hardware clock is set to US Eastern Time (300 minutes behind
856.Em UTC ) ,
857and not
858.Em UTC .
859(Note:
860.Em RTC_OFFSET
861is used to initialize a kernel variable named
862.Va rtc_offset
863which is the source actually used to determine the clock offset, and
864which may be accessed via the kern.rtc_offset sysctl variable.
865See
866.Xr sysctl 8
867and
868.Xr sysctl 3
869for details.
870Since the kernel clock is initialized from the hardware clock very
871early in the boot process, it is not possible to meaningfully change
872.Va rtc_offset
873in system initialization scripts.
874Changing this value currently may only be done at kernel compile
875time or by patching the kernel and rebooting).
876.Pp
877.Em NOTE :
878Unfortunately, in many cases where the hardware clock
879is kept in local time, it is adjusted for Daylight Savings
880Time; this means that attempting to use
881.Em RTC_OFFSET
882to let NetBSD coexist with such an operating system, like Windows,
883would necessitate changing
884.Em RTC_OFFSET
885twice a year. As such, this solution is imperfect.
886.It Cd options KMEMSTATS
887The kernel memory allocator,
888.Xr malloc 9 ,
889will keep statistics on its performance if this option is enabled.
890Unfortunately, this option therefore essentially disables the
891.Fn MALLOC
892and
893.Fn FREE
894forms of the memory allocator, which are used to enhance the performance
895of certain critical sections of code in the kernel.
896This option therefore can lead to a significant decrease in the
897performance of certain code in the kernel if enabled.
898Examples of such code include the
899.Fn namei
900routine, the
901.Xr ccd 4
902driver,
903the
904.Xr ncr 4
905driver,
906and much of the networking code.
907.It Cd options MAXUPRC=integer
908Sets the
909.Em RLIMIT_NPROC
910resource limit, which specifies the maximum number of simultaneous
911processes a user is permitted to run, for process 0;
912this value is inherited by its child processes.
913It defaults to
914.Em CHILD_MAX ,
915which is currently defined to be 160.
916Setting
917.Em MAXUPRC
918to a value less than
919.Em CHILD_MAX
920is not permitted, as this would result in a violation of the semantics of
921.St -p1003.1-90 .
922.It Cd options DEFCORENAME=string
923Sets the default value of the
924.Em kern.defcorename
925sysctl variable, otherwise it is set to
926.Nm %n.core .
927See
928.Xr sysctl 8
929and
930.Xr sysctl 3
931for details.
932.It Cd options RASOPS_CLIPPING
933Enables clipping within the
934.Nm rasops
935raster-console output system.
936.Em NOTE :
937only available on architectures that use
938.Nm rasops
939for console output.
940.It Cd options RASOPS_SMALL
941Removes optimized character writing code from the
942.Nm rasops
943raster-console output system.
944.Em NOTE :
945only available on architectures that use
946.Nm rasops
947for console output.
948.El
949.Ss Networking Options
950.Bl -ohang
951.It Cd options GATEWAY
952Enables
953.Em IPFORWARDING
954(which see)
955and (on most ports) increases the size of
956.Em NMBCLUSTERS
957(which see).
958In general,
959.Em GATEWAY
960is used to indicate that a system should act as a router, and
961.Em IPFORWARDING
962is not invoked directly.
963(Note that
964.Em GATEWAY
965has no impact on protocols other than
966.Tn IP ,
967such as
968.Tn CLNP
969or
970.Tn XNS ) .
971.It Cd options IPFORWARDING=value
972If
973.Em value
974is 1 this enables IP routing behavior. If
975.Em value
976is 0 (the default), it disables it. The
977.Em GATEWAY
978option sets this to 1 automatically.
979With this option enabled, the machine will forward IP datagrams destined
980for other machines between its interfaces.
981Note that even without this option, the kernel will
982still forward some packets (such as source routed packets) -- removing
983.Em GATEWAY
984and
985.Em IPFORWARDING
986is insufficient to stop all routing through a bastion host on a
987firewall -- source routing is controlled independently.
988To turn off source routing, use
989.Em options IPFORWSRCRT=0
990(which see).
991Note that IP forwarding may be turned on and off independently of the
992setting of the
993.Em IPFORWARDING
994option through the use of the
995.Em net.inet.ip.forwarding
996sysctl variable.
997If
998.Em net.inet.ip.forwarding
999is 1, IP forwarding is on.
1000See
1001.Xr sysctl 8
1002and
1003.Xr sysctl 3
1004for details.
1005.It Cd options IPFORWSRCRT=value
1006If
1007.Em value
1008is set to zero, source routing of IP datagrams is turned off.
1009If
1010.Em value
1011is set to one (the default) or the option is absent, source routed IP
1012datagrams are forwarded by the machine.
1013Note that source routing of IP packets may be turned on and off
1014independently of the setting of the
1015.Em IPFORWSRCRT
1016option through the use of the
1017.Em net.inet.ip.forwsrcrt
1018sysctl variable.
1019If
1020.Em net.inet.ip.forwsrcrt
1021is 1, forwarding of source routed IP datagrams is on.
1022See
1023.Xr sysctl 8
1024and
1025.Xr sysctl 3
1026for details.
1027.It Cd options IFA_STATS
1028Tells the kernel to maintain per-address statistics on bytes sent
1029and received over (currently) internet and appletalk addresses.
1030.\"This can be a fairly expensive operation, so you probably want to
1031.\"keep this disabled.
1032The option is not recommended as itdegrades system stability.
1033.It Cd options MROUTING
1034Includes support for IP multicast routers.
1035You certainly want
1036.Em INET
1037with this.
1038Multicast routing is controlled by the
1039.Xr mrouted 8
1040daemon.
1041.It Cd options INET
1042Includes support for the
1043.Tn TCP/IP
1044protocol stack.
1045You almost certainly want this.
1046See
1047.Xr inet 4
1048for details.
1049This option is currently required.
1050.It Cd options INET6
1051Includes support for the
1052.Tn IPv6
1053protocol stack.
1054See
1055.Xr inet6 4
1056for details.
1057Unlike
1058.Em INET ,
1059.Em INET6
1060enables multicast routing code as well.
1061This option requires
1062.Em INET
1063at this moment, but it should not.
1064.It Cd options ND6_DEBUG
1065The option sets the default value of net.inet6.icmp6.nd6_debug to 1,
1066for debugging IPv6 neighbor discovery protocol handling.
1067See
1068.Xr sysctl 3
1069for details.
1070.It Cd options IPSEC
1071Includes support for the
1072.Tn IPsec
1073protocol.
1074See
1075.Xr ipsec 4
1076for details.
1077.Em IPSEC
1078will enable
1079secret key management part,
1080policy management part,
1081.Tn AH
1082and
1083.Tn IPComp .
1084Kernel binary will not be subject to export control in most of countries,
1085even if compiled with
1086.Em IPSEC .
1087For example, it should be okay to export it from within the United States
1088to the outside.
1089.Em INET6
1090and
1091.Em IPSEC
1092are orthogonal so you can get IPv4-only kernel with IPsec support,
1093IPv4/v6 dual support kernel without IPsec, and so forth.
1094This option requires
1095.Em INET
1096at this moment, but it should not.
1097.It Cd options IPSEC_DEBUG
1098Enables debugging code in
1099.Tn IPsec
1100stack.
1101This option assumes
1102.Em IPSEC .
1103.It Cd options IPSEC_ESP
1104Includes support for
1105.Tn IPsec
1106.Tn ESP
1107protocol.
1108See
1109.Xr ipsec 4
1110for details.
1111.Em IPSEC_ESP
1112will enable source code that is subject to export control in some countries
1113.Pq including the United States ,
1114and compiled kernel binary will be subject to certain restriction.
1115This option assumes
1116.Em IPSEC .
1117.It Cd options SUBNETSARELOCAL
1118Sets default value for net.inet.ip.subnetsarelocal variable, which
1119controls whether non-directly-connected subnets of connected networks
1120are considered "local" for purposes of choosing the MSS for a TCP
1121connection.  This is mostly present for historic reasons and
1122completely irrelevant if you enable Path MTU discovery.
1123.It Cd options HOSTZEROBROADCAST
1124Sets default value for net.inet.ip.hostzerobroadcast variable, which
1125controls whether the zeroth host address of each connected subnet is
1126also considered a broadcast address.  Default value is "1", for
1127compatibility with old systems; if this is set to zero on all hosts on
1128a subnet, you should be able to fit an extra host per subnet on the
1129".0" address.
1130.It Cd options MCLSHIFT=value
1131This option is the base-2 logarithm of the size of mbuf clusters.
1132The
1133.Bx
1134networking stack keeps network packets in a linked
1135list, or chain, of kernel buffer objects called mbufs.
1136The system provides larger mbuf clusters as an optimization for
1137large packets, instead of using long chains for large packets.
1138The mbuf cluster size,
1139or
1140.Em MCLBYTES ,
1141must be a power of two, and is computed as two raised to the power
1142.Em MCLSHIFT .
1143On systems with Ethernet network adaptors,
1144.Em MCLSHIFT
1145is often set to 11, giving 2048-byte mbuf clusters, large enough to
1146hold a 1500-byte
1147.Tn Ethernet
1148frame in a single cluster.
1149Systems with network interfaces supporting larger frame sizes like
1150.Tn ATM ,
1151.Tn FDDI ,
1152or
1153.Tn HIPPI
1154may perform better with
1155.Em MCLSHIFT
1156set to 12 or 13, giving mbuf cluster sizes of 4096 and 8192 bytes,
1157respectively.
1158.It Cd options NS
1159Include support for the
1160.Tn Xerox
1161.Tn XNS
1162protocol stack.
1163See
1164.Xr ns 4
1165for details.
1166.It Cd options ISO,TPIP
1167Include support for the ubiquitous
1168.Tn OSI
1169protocol stack.
1170See
1171.Xr iso 4
1172for details.
1173This option assumes
1174.Em INET .
1175.It Cd options EON
1176Include support for tunneling
1177.Tn OSI
1178protocols over
1179.Tn IP .
1180Known to be broken, or at least very fragile, and undocumented.
1181.It Cd options CCITT,LLC,HDLC
1182Include support for the
1183.Tn CCITT
1184(nee
1185.Tn ITU-TSS )
1186.Tn X.25
1187protocol stack.
1188The state of this code is currently unknown, and probably contains bugs.
1189This option assumes
1190.Em INET .
1191.It Cd options NETATALK
1192Include support for the
1193.Tn AppleTalk
1194protocol stack.
1195The kernel provides provision for the
1196.Em Datagram Delivery Protocol
1197(DDP), providing SOCK_DGRAM support and
1198.Tn AppleTalk
1199routing.
1200This stack is used by the
1201.Em NETATALK
1202package, which adds support for
1203.Tn AppleTalk
1204server services via user libraries and applications.
1205.It Cd options IPNOPRIVPORTS
1206Normally, only root can bind a socket descriptor to a so-called
1207.Dq privileged
1208.Tn TCP
1209port, that is, a port number in the range 0-1023.
1210This option eliminates those checks from the kernel.
1211This can be useful if there is a desire to allow daemons without
1212privileges to bind those ports, e.g. on firewalls.
1213The security tradeoffs in doing this are subtle.
1214This option should only be used by experts.
1215.It Cd options TCP_COMPAT_42
1216.Tn TCP
1217bug compatibility with
1218.Bx 4.2 .
1219In
1220.Bx 4.2 ,
1221.Tn TCP
1222sequence numbers were 32-bit signed values.
1223Modern implementations of TCP use unsigned values.
1224This option clamps the initial sequence number to start in
1225the range 2^31 rather than the full unsigned range of 2^32.
1226Also, under
1227.Bx 4.2 ,
1228keepalive packets must contain at least one byte or else
1229the remote end would not respond.
1230.It Cd options PFIL_HOOKS
1231This option turns on the packet filter interface hooks.
1232See
1233.Xr pfil 9
1234for details.
1235This option assumes
1236.Em INET .
1237.It Cd options IPFILTER_LOG
1238This option, in conjunction with
1239.Em pseudo-device ipfilter ,
1240enables logging of IP packets using ip-filter.
1241.It Cd options IPFILTER_DEFAULT_BLOCK
1242This option sets the default policy of ip-filter.
1243If it is set, ip-filter will block packets by default.
1244.It Cd options PPP_BSDCOMP
1245Enable support for BSD-compress
1246.Pq Sq bsdcomp
1247compression in ppp.
1248.It Cd options PPP_DEFLATE
1249Enable support for deflate
1250compression in ppp.
1251.It Cd options PPP_FILTER
1252This option turns on
1253.Xr pcap 3
1254based filtering for ppp connections.
1255This option is used by
1256.Xr pppd 8
1257which needs to be compiled with
1258.Em PPP_FILTER
1259defined (the current default).
1260.El
1261.Ss System V IPC Options
1262.Bl -ohang
1263.It Cd options SYSVMSG
1264Includes support for
1265.At V
1266style message queues.
1267See
1268.Xr msgctl 2 ,
1269.Xr msgget 2 ,
1270.Xr msgrcv 2 ,
1271.Xr msgsnd 2 .
1272.It Cd options SYSVSEM
1273Includes support for
1274.At V
1275style semaphores.
1276See
1277.Xr semctl 2 ,
1278.Xr semget 2 ,
1279.Xr semop 2 .
1280.It Cd options SYSVSHM
1281Includes support for
1282.At V
1283style shared memory.
1284See
1285.Xr shmat 2 ,
1286.Xr shmctl 2 ,
1287.Xr shmdt 2 ,
1288.Xr shmget 2 .
1289.It Cd options SHMMAXPGS=value
1290Sets the maximum number of
1291.At V
1292style shared memory pages that are available through the
1293.Xr shmget 2
1294system call.
1295Default value is 1024 on most ports.
1296See
1297.Pa /usr/include/machine/vmparam.h
1298for the default.
1299.El
1300.Ss VM Related Options
1301.Bl -ohang
1302.It Cd options NMBCLUSTERS=value
1303The number of mbuf clusters the kernel supports.  Mbuf clusters are
1304MCLBYTES in size (usually 2k).  This is used to compute the size of
1305the kernel VM map
1306.Em mb_map ,
1307which maps mbuf clusters.
1308Default on most ports is 256 (512 with
1309.Dq options GATEWAY
1310).
1311See
1312.Pa /usr/include/machine/param.h
1313for exact default information.
1314Increase this value if you get
1315.Dq mb_map full
1316messages.
1317.It Cd options NKMEMPAGES=value
1318.It Cd options NKMEMPAGES_MIN=value
1319.It Cd options NKMEMPAGES_MAX=value
1320Size of kernel VM map
1321.Em kmem_map ,
1322in PAGE_SIZE-sized chunks (the VM page size; this value may be read
1323from the
1324.Xr sysctl 8
1325variable
1326.Em hw.pagesize
1327).
1328This VM map is used to map the kernel malloc arena.
1329The kernel attempts to auto-size this map based on the amount of
1330physical memory in the system.  Platform-specific code may place
1331bounds on this computed size, which may be viewed with the
1332.Xr sysctl 8
1333variable
1334.Em vm.nkmempages .
1335See
1336.Pa /usr/include/machine/param.h
1337for the default upper and lower bounds.
1338The related options
1339.Sq NKMEMPAGES_MIN
1340and
1341.Sq NKMEMPAGES_MAX
1342allow the bounds to be overridden in the kernel configuration file.
1343These options are provided in the event the computed value is
1344insufficient resulting in an
1345.Dq out of space in kmem_map
1346panic.
1347.It Cd options BUFCACHE=value
1348Size of the buffer cache as a percentage of total available
1349.Tn RAM .
1350Ignored if BUFPAGES is also specified.
1351.It Cd options NBUF=value
1352.It Cd options BUFPAGES=value
1353These options set the number of pages available for the buffer cache.
1354Their default value is a machine dependent value, often calculated as
1355between 5% and 10% of total available
1356.Tn RAM .
1357.El
1358.Ss amiga-specific Options
1359.Bl -ohang
1360.It Cd options BB060STUPIDROM
1361When the bootloader (which passes
1362.Tn AmigaOS
1363.Tn ROM
1364information) claims we have a 68060
1365.Tn CPU
1366without
1367.Tn FPU ,
1368go look into the Processor Configuration Register (PCR) to find out.
1369You need this with
1370.Tn Amiga
1371.Tn ROM Ns s
1372up to (at least) V40.xxx (OS3.1),
1373when you boot via the bootblocks and don't have a DraCo.
1374.It Cd options IOBZCLOCK=frequency
1375The IOBlix boards come with two different serial master clocks: older ones
1376use 24 MHz, newer ones use 22.1184 MHz. The driver normally assumes the latter.
1377If your board uses 24 MHz, you can recompile your kernel with
1378options IOBZCLOCK=24000000
1379or patch the kernel variable
1380.Tn iobzclock
1381to the same value.
1382.It Cd options LIMITMEM=value
1383If there, limit the part of the first memory bank used by
1384.Nx
1385to value megabytes.
1386Default is unlimited.
1387.It Cd options NKPTADD=addvalue
1388.It Cd options NKPTADDSHIFT=shiftvalue
1389The
1390.Tn CPU
1391specific
1392.Tn MMU
1393table for the kernel is pre-allocated at kernel startup time.
1394Part of it is scaled with
1395.Va maxproc ,
1396to have enough room to hold the user program
1397.Tn MMU
1398tables; the second part is a fixed amount for the kernel itself.
1399.Pp
1400The third part accounts for the size of the file buffer cache.
1401Its size is either
1402.Dv NKPTADD
1403pages (if defined) or memory size in bytes divided by two to
1404the power of
1405.Dv NKPTADDSHIFT .
1406The default is undefined
1407.Dv NKPTADD
1408and
1409.Dv NKPTADDSHIFT=24 ,
1410allowing for 16 buffers per megabyte of main memory (while
1411a GENERIC kernel allocates about half of that).
1412When you get "can't get KPT page" panics, you should increase
1413.Dv NKPTADD
1414(if defined), or decrease
1415.Dv NKPTADDSHIFT
1416by one.
1417.It Cd options P5PPC68KBOARD
1418Add special support for Phase5 mixed 68k+PPC boards. Currently, this only
1419affects rebooting from NetBSD and is only needed on 68040+PPC, not on
142068060+PPC; without this, affected machines will hang after NetBSD has shut
1421down and will only restart after a keyboard reset or a power cycle.
1422.El
1423.Ss arm32-specific Options
1424.Bl -ohang
1425.It Cd options FRENCH_KEYBOARD
1426Include translation for French keyboards when using
1427.Xr pccons 4
1428on a Shark.
1429.It Cd options FINNISH_KEYBOARD
1430Include translation for Finnish keyboards when using
1431.Xr pccons 4
1432on a Shark.
1433.It Cd options GERMAN_KEYBOARD
1434Include translation for German keyboards when using
1435.Xr pccons 4
1436on a Shark.
1437.It Cd options NORWEGIAN_KEYBOARD
1438Include translation for French keyboards when using
1439.Xr pccons 4
1440on a Shark.
1441.El
1442.Ss atari-specific Options
1443.Bl -ohang
1444.It Cd options DISKLABEL_AHDI
1445Include support for AHDI (native Atari) disklabels.
1446.It Cd options DISKLABEL_NBDA
1447Include support for
1448.Nx Ns Tn /atari
1449labels.
1450If you don't set this option, it will be set automatically.
1451.Nx Ns Tn /atari
1452will not work without it.
1453.It Cd options FALCON_SCSI
1454Include support for the 5380-SCSI configuration as found on the Falcon.
1455.It Cd options RELOC_KERNEL
1456If set, the kernel will relocate itself to TT-RAM, if possible.
1457This will give you a slightly faster system.
1458.Em Beware
1459that on some TT030 systems,
1460the system will frequently dump with MMU-faults with this option enabled.
1461.It Cd options SERCONSOLE
1462Allow the modem1-port to act as the system-console.
1463A carrier should be active on modem1 during system boot to active
1464the console functionality.
1465.It Cd options TT_SCSI
1466Include support for the 5380-SCSI configuration as found on the TT030
1467and Hades.
1468.El
1469.Ss i386-specific Options
1470.Bl -ohang
1471.It Cd options I386_CPU,I486_CPU,I586_CPU,I686_CPU
1472Include support for a particular class of
1473.Tn CPU
1474.Po
1475.Tn i386 ,
1476.Tn i486 ,
1477.Tn Pentium ,
1478or
1479.Tn Pentium Pro
1480.Pc .
1481If the appropriate class for your
1482.Tn CPU
1483is not configured, the kernel will use the highest class available
1484that will work.
1485In general, using the correct
1486.Tn CPU
1487class will result in the best performance.
1488At least one of these options must be present.
1489.It Cd options CPURESET_DELAY=value
1490specifies the time (in millisecond) to wait before doing a hardware reset
1491in the last phase of a reboot. This gives the user a chance to see error
1492messages from the shutdown operations (like NFS unmounts, buffer cache flush,
1493etc ...). Setting this to 0 will disable the delay. Default is 2 seconds.
1494.It Cd options MATH_EMULATE
1495Include the floating point emulator.
1496This is useful only for
1497.Tn CPU Ns s
1498that lack an
1499internal Floating Point Unit
1500.Pq Tn FPU
1501or co-processor.
1502.It Cd options VM86
1503Include support for virtual 8086 mode, used by
1504.Tn DOS
1505emulators and X servers to run BIOS code, e.g. for some VESA routines.
1506.It Cd options USER_LDT
1507Include i386-specific system calls for modifying the local descriptor table,
1508used by Windows emulators.
1509.It Cd options REALBASEMEM=integer
1510Overrides the base memory size passed in from the boot block.
1511(Value given in kilobytes.)
1512Use this option only if the boot block reports the size incorrectly.
1513(Note that some
1514.Tn BIOS Ns es
1515put the extended
1516.Tn BIOS
1517data area at the top of base memory, and therefore report a smaller
1518base memory size to prevent programs overwriting it.
1519This is correct behavior, and you should not use the
1520.Em REALBASEMEM
1521option to access this memory).
1522.It Cd options REALEXTMEM=integer
1523Overrides the extended memory size passed in from the boot block.
1524(Value given in kilobytes. Extended memory does not include the first megabyte.)
1525Use this option only if the boot block reports the size incorrectly.
1526.It Cd options FRENCH_KBD,FINNISH_KBD,GERMAN_KBD,NORWEGIAN_KBD
1527Select a non-US keyboard layout for the
1528.Em pccons
1529console driver.
1530.It Cd options CYRIX_CACHE_WORKS
1531Relevant only to the Cyrix 486DLC cpu. This option is used to turn on
1532the cache in hold-flush mode. It is not turned on by default because it
1533is known to have problems in certain motherboard implementations.
1534.It Cd options CYRIX_CACHE_REALLY_WORKS
1535Relevant only to the Cyrix 486DLC cpu. This option is used to turn on
1536the cache in write-back mode. It is not turned on by default because it
1537is known to have problems in certain motherboard implementations. In order
1538for this option to take effect, option
1539.Em CYRIX_CACHE_WORKS
1540must also be specified.
1541.It Cd options PCIBIOS
1542Enable support for initializing the
1543.Tn PCI
1544bus using information from the
1545.Tn BIOS .
1546See
1547.Xr pcibios 4
1548for details.
1549.El
1550.Ss isa-specific Options
1551Options specific to
1552.Xr isa 4
1553busses.
1554.Bl -ohang
1555.It Cd options PCIC_ISA_ALLOC_IOBASE=address, PCIC_ISA_ALLOC_IOSIZE=size
1556Control the section of IO bus space used for PCMCIA bus space mapping.
1557Ideally the probed defaults are satisfactory, however in practice
1558that is not always the case. See
1559.Xr pcmcia 4
1560for details.
1561.It Cd options PCIC_ISA_INTR_ALLOC_MASK=mask
1562Controls the allowable interrupts that may be used for
1563.Tn PCMCIA
1564devices. This mask is a logical-or of power-of-2s of allowable
1565interrupts:
1566.Bd -literal -offset 04n
1567.Em "IRQ Val      IRQ Val      IRQ Val       IRQ Val"
1568 0  0x0001    4  0x0010    8  0x0100    12  0x1000
1569 1  0x0002    5  0x0020    9  0x0200    13  0x2000
1570 2  0x0004    6  0x0040   10  0x0400    14  0x4000
1571 3  0x0008    7  0x0080   11  0x0800    15  0x8000
1572.Ed
1573.El
1574.Ss m68k-specific Options
1575.Bl -ohang
1576.It Cd options FPU_EMULATE
1577Include support for MC68881/MC68882 emulator.
1578.It Cd options FPSP
1579Include support for 68040 floating point.
1580.It Cd options M68020,M68030,M68040,M68060
1581Include support for a specific
1582.Tn CPU ,
1583at least one (the one you are using) should be specified.
1584.It Cd options M060SP
1585Include software support for 68060.
1586This provides emulation of unimplemented
1587integer instructions as well as emulation of unimplemented floating point
1588instructions and data types and software support for floating point traps.
1589.El
1590.Ss sparc-specific Options
1591.Bl -ohang
1592.It Cd options AUDIO_DEBUG
1593Enable simple event debugging of the logging of the
1594.Xr audio 4
1595device.
1596.It Cd options BLINK
1597Enable blinking of LED.  Blink rate is full cycle every N seconds for
1598N < then current load average.  See
1599.Xr getloadavg 3 .
1600.\" .It Cd options COLORFONT_CACHE
1601.\" this is totally fucked up.. what does this do?
1602.It Cd options COUNT_SW_LEFTOVERS
1603Count how many times the sw SCSI device has left 3, 2, 1 and 0 in the
1604sw_3_leftover, sw_2_leftover, sw_1_leftover, and sw_0_leftover
1605variables accessable from
1606.Xr ddb 4 .
1607See
1608.Xr sw 4 .
1609.It Cd options DEBUG_ALIGN
1610Adds debugging messages calls when user-requested alignment fault
1611handling happens.
1612.It Cd options DEBUG_EMUL
1613Adds debugging messages calls for emulated floating point and
1614alignment fixing operations.
1615.It Cd options DEBUG_SVR4
1616Prints registers messages calls for emulated SVR4 getcontext and
1617setcontext operations.  See
1618.Em options COMPAT_SVR4 .
1619.It Cd options EXTREME_DEBUG
1620Adds debugging functions callable from
1621.Xr ddb 4 .  The debug_pagetables, test_region and print_fe_map
1622functions print information about page tables for the SUN4M
1623platforms only.
1624.It Cd options EXTREME_EXTREME_DEBUG
1625Adds extra info to
1626.Em options EXTREME_DEBUG .
1627.It Cd options FPU_CONTEXT
1628Make
1629.Em options COMPAT_SVR4
1630getcontext and setcontext include floating point registers.
1631.It Cd options MAGMA_DEBUG
1632Adds debugging messages to the
1633.Xr magma 4
1634device.
1635.It Cd options RASTERCONS_FULLSCREEN
1636Use the entire screen for the console.
1637.It Cd options RASTERCONS_SMALLFONT
1638Use a the fixed font on the console, instead of the normal font.
1639.It Cd options SUN4
1640Support sun4 class machines.
1641.It Cd options SUN4C
1642Support sun4c class machines.
1643.It Cd options SUN4M
1644Support sun4m class machines.
1645.It Cd options SUN4_MMU3L
1646.\" XXX ???
1647Enable support for sun4 3-level MMU machines.
1648.It Cd options V9
1649Enable SPARC V9 assembler in
1650.Xr ddb 4 .
1651.El
1652.Ss x68k-specific Options
1653.Bl -ohang
1654.It Cd options EXTENDED_MEMORY
1655Include support for extended memory e.g. TS-6BE16 and 060turbo on-board.
1656.It Cd options JUPITER
1657Include support for Jupiter-X MPU accelerator
1658.It Cd options ZSCONSOLE,ZSCN_SPEED=value
1659Use the built-in serial port as the system-console.
1660Speed is specified in bps, defaults to 9600.
1661.It Cd options ITE_KERNEL_ATTR=value
1662Set the kernel message attribute for ITE.
1663Value, an integer, is a logical or of the following values:
1664.Bl -tag -width 4n -compact -offset indent
1665.It 1
1666color inversed
1667.It 2
1668underlined
1669.It 4
1670bolded
1671.El
1672.El
1673.\" The following requests should be uncommented and used where appropriate.
1674.\" .Sh FILES
1675.\" .Sh EXAMPLES
1676.Sh SEE ALSO
1677.Xr gdb 1 ,
1678.Xr ktrace 1 ,
1679.Xr quota 1 ,
1680.Xr gettimeofday 2 ,
1681.Xr i386_iopl 2 ,
1682.Xr msgctl 2 ,
1683.Xr msgget 2 ,
1684.Xr msgrcv 2 ,
1685.Xr msgsnd 2 ,
1686.Xr ntp_adjtime 2 ,
1687.Xr ntp_gettime 2 ,
1688.Xr semctl 2 ,
1689.Xr semget 2 ,
1690.Xr semop 2 ,
1691.Xr shmat 2 ,
1692.Xr shmctl 2 ,
1693.Xr shmdt 2 ,
1694.Xr shmget 2 ,
1695.Xr sysctl 3 ,
1696.Xr apm 4 ,
1697.Xr ddb 4 ,
1698.Xr inet 4 ,
1699.Xr iso 4 ,
1700.Xr lkm 4 ,
1701.Xr ns 4 ,
1702.Xr pcibios 4 ,
1703.Xr pcmcia 4 ,
1704.Xr config 8 ,
1705.Xr edquota 8 ,
1706.Xr init 8 ,
1707.Xr mount_cd9660 8 ,
1708.Xr mount_fdesc 8 ,
1709.Xr mount_kernfs 8 ,
1710.Xr mount_lfs 8 ,
1711.Xr mount_mfs 8 ,
1712.Xr mount_msdos 8 ,
1713.Xr mount_nfs 8 ,
1714.Xr mount_ntfs 8 ,
1715.Xr mount_null 8 ,
1716.Xr mount_portal 8 ,
1717.Xr mount_procfs 8 ,
1718.Xr mount_umap 8 ,
1719.Xr mount_union 8 ,
1720.Xr mrouted 8 ,
1721.Xr newfs_lfs 8 ,
1722.Xr quotaon 8 ,
1723.Xr rpc.rquotad 8 ,
1724.Xr sysctl 8 ,
1725.Xr ntpd 8
1726.Sh HISTORY
1727The
1728.Nm
1729man page first appeared in
1730.Nx 1.3 .
1731.Sh BUGS
1732The
1733.Em INET
1734and the
1735.Em VNODEPAGER
1736options should not be required.
1737The
1738.Em EON
1739option should be a pseudo-device, and is also very fragile.
1740