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