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