1999-08-28 01:08:13 +00:00
|
|
|
# $FreeBSD$
|
1998-03-10 15:55:38 +00:00
|
|
|
#
|
1999-11-06 23:51:29 +00:00
|
|
|
# On the handling of kernel options
|
1999-11-22 02:45:11 +00:00
|
|
|
#
|
2001-07-08 01:02:37 +00:00
|
|
|
# All kernel options should be listed in NOTES, with suitable
|
1998-03-10 15:55:38 +00:00
|
|
|
# descriptions. Negative options (options that make some code not
|
2001-07-08 01:04:10 +00:00
|
|
|
# compile) should be commented out; LINT (generated from NOTES) should
|
|
|
|
# compile as much code as possible. Try to structure option-using
|
|
|
|
# code so that a single option only switch code on, or only switch
|
|
|
|
# code off, to make it possible to have a full compile-test. If
|
|
|
|
# necessary, you can check for COMPILING_LINT to get maximum code
|
|
|
|
# coverage.
|
1999-11-22 02:45:11 +00:00
|
|
|
#
|
1998-03-10 15:55:38 +00:00
|
|
|
# All new options shall also be listed in either "conf/options" or
|
2001-07-08 01:04:10 +00:00
|
|
|
# "conf/options.<machine>". Options that affect a single source-file
|
|
|
|
# <xxx>.[c|s] should be directed into "opt_<xxx>.h", while options
|
|
|
|
# that affect multiple files should either go in "opt_global.h" if
|
|
|
|
# this is a kernel-wide option (used just about everywhere), or in
|
|
|
|
# "opt_<option-name-in-lower-case>.h" if it affect only some files.
|
|
|
|
# Note that the effect of listing only an option without a
|
|
|
|
# header-file-name in conf/options (and cousins) is that the last
|
|
|
|
# convention is followed.
|
1999-11-22 02:45:11 +00:00
|
|
|
#
|
1998-03-10 15:55:38 +00:00
|
|
|
# This handling scheme is not yet fully implemented.
|
|
|
|
#
|
|
|
|
#
|
|
|
|
# Format of this file:
|
1996-03-02 18:24:13 +00:00
|
|
|
# Option name filename
|
1998-03-10 15:55:38 +00:00
|
|
|
#
|
|
|
|
# If filename is missing, the default is
|
|
|
|
# opt_<name-of-option-in-lower-case>.h
|
1996-03-29 13:51:30 +00:00
|
|
|
|
2001-03-17 00:09:47 +00:00
|
|
|
# Adaptec Array Controller driver options
|
2001-06-01 22:39:50 +00:00
|
|
|
AAC_COMPAT_LINUX opt_aac.h # Enable the linux ioctl interface
|
2001-03-22 21:34:18 +00:00
|
|
|
|
2001-03-17 00:09:47 +00:00
|
|
|
AAC_DEBUG opt_aac.h # Debugging levels:
|
|
|
|
# 0 - quiet, only emit warnings
|
|
|
|
# 1 - noisy, emit major function
|
|
|
|
# points and things done
|
|
|
|
# 2 - extremely noisy, emit trace
|
|
|
|
# items in loops, etc.
|
|
|
|
|
1998-09-15 09:59:15 +00:00
|
|
|
# Adaptec aic7xxx SCSI controller options
|
|
|
|
AHC_ALLOW_MEMIO opt_aic7xxx.h # Allow PCI devices to use memory
|
1998-10-07 03:30:55 +00:00
|
|
|
# mapped I/O
|
1998-09-15 09:59:15 +00:00
|
|
|
|
|
|
|
AHC_TMODE_ENABLE opt_aic7xxx.h # Bitmap of units to enable
|
|
|
|
# targetmode operations.
|
|
|
|
|
1999-05-25 20:15:54 +00:00
|
|
|
AHC_DUMP_EEPROM opt_aic7xxx.h # Dump the contents of our
|
|
|
|
# configuration prom.
|
|
|
|
|
2000-10-31 18:01:15 +00:00
|
|
|
AHC_DEBUG_SEQUENCER opt_aic7xxx.h # Enable diagnostic sequencer code
|
|
|
|
|
2002-06-06 16:35:58 +00:00
|
|
|
# Adaptec aic79xx SCSI controller options
|
|
|
|
AHD_DEBUG opt_aic79xx.h # Compile in aic79xx debugging code.
|
|
|
|
|
|
|
|
AHD_DEBUG_OPTS opt_aic79xx.h # Aic79xx driver debugging options.
|
|
|
|
# See sys/dev/aic79xx/aic79xx.h
|
|
|
|
|
1998-10-07 03:30:55 +00:00
|
|
|
ADW_ALLOW_MEMIO opt_adw.h # Allow PCI devices to use memory
|
|
|
|
# mapped I/O
|
|
|
|
|
1996-12-23 18:42:02 +00:00
|
|
|
# Miscellaneous options.
|
Add code to make default mutexes adaptive if the ADAPTIVE_MUTEXES kernel
option is used (not on by default).
- In the case of trying to lock a mutex, if the MTX_CONTESTED flag is set,
then we can safely read the thread pointer from the mtx_lock member while
holding sched_lock. We then examine the thread to see if it is currently
executing on another CPU. If it is, then we keep looping instead of
blocking.
- In the case of trying to unlock a mutex, it is now possible for a mutex
to have MTX_CONTESTED set in mtx_lock but to not have any threads
actually blocked on it, so we need to handle that case. In that case,
we just release the lock as if MTX_CONTESTED was not set and return.
- We do not adaptively spin on Giant as Giant is held for long times and
it slows SMP systems down to a crawl (it was taking several minutes,
like 5-10 or so for my test alpha and sparc64 SMP boxes to boot up when
they adaptively spinned on Giant).
- We only compile in the code to do this for SMP kernels, it doesn't make
sense for UP kernels.
Tested on: i386, alpha, sparc64
2002-05-21 20:47:11 +00:00
|
|
|
ADAPTIVE_MUTEXES
|
1998-01-25 04:13:25 +00:00
|
|
|
COMPAT_43 opt_compat.h
|
2002-07-12 06:38:34 +00:00
|
|
|
COMPAT_FREEBSD4 opt_compat.h
|
1998-01-25 04:13:25 +00:00
|
|
|
COMPAT_SUNOS opt_compat.h
|
2000-09-16 18:55:05 +00:00
|
|
|
COMPILING_LINT opt_global.h
|
1999-01-15 10:00:12 +00:00
|
|
|
CY_PCI_FASTINTR
|
2002-06-18 21:30:37 +00:00
|
|
|
CONSPEED opt_comconsole.h
|
1996-01-04 21:13:23 +00:00
|
|
|
DDB
|
2002-05-07 10:59:52 +00:00
|
|
|
DDB_NOKLDSYM opt_ddb.h
|
1996-05-05 02:26:57 +00:00
|
|
|
DDB_UNATTENDED opt_ddb.h
|
1997-06-04 16:44:29 +00:00
|
|
|
GDB_REMOTE_CHAT opt_ddb.h
|
2002-06-18 21:30:37 +00:00
|
|
|
GDBSPEED opt_ddb.h
|
2002-07-15 15:25:08 +00:00
|
|
|
GEOM
|
1998-02-16 23:57:49 +00:00
|
|
|
HW_WDOG
|
1996-03-02 18:24:13 +00:00
|
|
|
KTRACE
|
2002-06-07 14:33:23 +00:00
|
|
|
KTRACE_REQUEST_POOL opt_ktrace.h
|
2001-04-09 09:39:29 +00:00
|
|
|
LIBICONV
|
1999-11-26 20:08:44 +00:00
|
|
|
MD_ROOT opt_md.h
|
|
|
|
MD_ROOT_SIZE opt_md.h
|
2002-07-15 15:18:34 +00:00
|
|
|
NDGBPORTS opt_dgb.h
|
2002-07-15 15:25:08 +00:00
|
|
|
NODEVFS opt_devfs.h
|
1998-11-23 09:59:02 +00:00
|
|
|
NTIMECOUNTER opt_ntp.h
|
1998-01-25 04:13:25 +00:00
|
|
|
NSWAPDEV opt_swap.h
|
1998-01-31 05:00:21 +00:00
|
|
|
PPS_SYNC opt_ntp.h
|
2002-07-15 15:39:10 +00:00
|
|
|
PUC_FASTINTR opt_puc.h
|
1996-12-23 18:42:02 +00:00
|
|
|
QUOTA
|
1998-02-04 04:12:29 +00:00
|
|
|
SPX_HACK
|
1998-01-25 04:13:25 +00:00
|
|
|
SUIDDIR opt_suiddir.h
|
2002-07-15 15:28:16 +00:00
|
|
|
MSGMNB opt_sysvipc.h
|
|
|
|
MSGMNI opt_sysvipc.h
|
|
|
|
MSGSEG opt_sysvipc.h
|
|
|
|
MSGSSZ opt_sysvipc.h
|
|
|
|
MSGTQL opt_sysvipc.h
|
2000-05-01 13:33:56 +00:00
|
|
|
SEMMAP opt_sysvipc.h
|
|
|
|
SEMMNI opt_sysvipc.h
|
|
|
|
SEMMNS opt_sysvipc.h
|
|
|
|
SEMMNU opt_sysvipc.h
|
|
|
|
SEMMSL opt_sysvipc.h
|
|
|
|
SEMOPM opt_sysvipc.h
|
|
|
|
SEMUME opt_sysvipc.h
|
2002-07-15 15:28:16 +00:00
|
|
|
SHMALL opt_sysvipc.h
|
|
|
|
SHMMAX opt_sysvipc.h
|
|
|
|
SHMMAXPGS opt_sysvipc.h
|
|
|
|
SHMMIN opt_sysvipc.h
|
|
|
|
SHMMNI opt_sysvipc.h
|
|
|
|
SHMSEG opt_sysvipc.h
|
|
|
|
SYSVMSG opt_sysvipc.h
|
|
|
|
SYSVSEM opt_sysvipc.h
|
|
|
|
SYSVSHM opt_sysvipc.h
|
2000-02-23 07:44:25 +00:00
|
|
|
VFS_AIO
|
2002-07-15 15:21:51 +00:00
|
|
|
WLCACHE opt_wavelan.h
|
|
|
|
WLDEBUG opt_wavelan.h
|
1996-05-11 04:39:53 +00:00
|
|
|
|
1998-03-28 11:51:01 +00:00
|
|
|
# POSIX kernel options
|
1999-11-06 23:51:29 +00:00
|
|
|
P1003_1B opt_posix.h
|
|
|
|
_KPOSIX_PRIORITY_SCHEDULING opt_posix.h
|
|
|
|
_KPOSIX_VERSION opt_posix.h
|
1998-03-04 10:27:00 +00:00
|
|
|
|
2002-07-27 19:50:28 +00:00
|
|
|
#####################################################################
|
|
|
|
# SECURITY POLICY PARAMETERS
|
|
|
|
|
|
|
|
# Support for Mandatory Access Control (MAC)
|
|
|
|
MAC opt_mac.h
|
|
|
|
MAC_NONE opt_dontuse.h
|
2000-06-07 04:53:49 +00:00
|
|
|
|
1996-12-26 23:38:17 +00:00
|
|
|
# Do we want the config file compiled into the kernel?
|
|
|
|
INCLUDE_CONFIG_FILE opt_config.h
|
|
|
|
|
2002-05-16 21:28:32 +00:00
|
|
|
# Options for static filesystems. These should only be used at config
|
1996-05-11 04:39:53 +00:00
|
|
|
# time, since the corresponding lkms cannot work if there are any static
|
|
|
|
# dependencies. Unusability is enforced by hiding the defines for the
|
|
|
|
# options in a never-included header.
|
2001-02-04 15:35:10 +00:00
|
|
|
CD9660 opt_dontuse.h
|
|
|
|
CODA opt_dontuse.h
|
1997-12-16 23:59:37 +00:00
|
|
|
EXT2FS opt_dontuse.h
|
2001-05-23 09:42:29 +00:00
|
|
|
FDESCFS opt_dontuse.h
|
2001-03-01 23:13:12 +00:00
|
|
|
LINPROCFS opt_dontuse.h
|
1997-12-16 23:59:37 +00:00
|
|
|
MSDOSFS opt_dontuse.h
|
1996-05-11 04:39:53 +00:00
|
|
|
NULLFS opt_dontuse.h
|
2001-02-04 15:35:10 +00:00
|
|
|
NWFS opt_dontuse.h
|
2001-05-23 09:42:29 +00:00
|
|
|
PORTALFS opt_dontuse.h
|
1996-05-11 04:39:53 +00:00
|
|
|
PROCFS opt_dontuse.h
|
2001-06-11 10:58:07 +00:00
|
|
|
PSEUDOFS opt_dontuse.h
|
1996-05-11 04:39:53 +00:00
|
|
|
UMAPFS opt_dontuse.h
|
1999-03-02 20:26:02 +00:00
|
|
|
NTFS opt_dontuse.h
|
2001-01-31 05:33:23 +00:00
|
|
|
HPFS opt_dontuse.h
|
2002-07-15 19:11:21 +00:00
|
|
|
SMBFS opt_dontuse.h
|
2001-05-23 09:42:29 +00:00
|
|
|
UNIONFS opt_dontuse.h
|
2002-04-14 16:36:49 +00:00
|
|
|
UDF opt_dontuse.h
|
1996-05-11 04:39:53 +00:00
|
|
|
|
2001-08-18 03:08:48 +00:00
|
|
|
# Broken - ffs_snapshot() dependency from ufs_lookup() :-(
|
|
|
|
FFS opt_ffs_broken_fixme.h
|
|
|
|
|
1998-01-24 02:54:56 +00:00
|
|
|
# These static filesystems has one slightly bogus static dependency in
|
|
|
|
# sys/i386/i386/autoconf.c. If any of these filesystems are
|
|
|
|
# statically compiled into the kernel, code for mounting them as root
|
2001-02-04 15:35:10 +00:00
|
|
|
# filesystems will be enabled - but look below.
|
2001-09-18 23:32:09 +00:00
|
|
|
NFSCLIENT opt_nfs.h
|
|
|
|
NFSSERVER opt_nfs.h
|
1997-05-04 15:24:23 +00:00
|
|
|
|
1999-11-22 02:45:11 +00:00
|
|
|
# If you are following the conditions in the copyright,
|
|
|
|
# you can enable soft-updates which will speed up a lot of thigs
|
1998-03-08 09:59:44 +00:00
|
|
|
# and make the system safer from crashes at the same time.
|
|
|
|
# otherwise a STUB module will be compiled in.
|
|
|
|
SOFTUPDATES opt_ffs.h
|
|
|
|
|
Introduce support for POSIX.1e ACLs on UFS-based file systems. This
implementation is still experimental, and while fairly broadly tested,
is not yet intended for production use. Support for POSIX.1e ACLs on
UFS will not be MFC'd to RELENG_4.
This implementation works by providing implementations of VOP_[GS]ETACL()
for FFS, as well as modifying the appropriate access control and file
creation routines. In this implementation, ACLs are backed into extended
attributes; the base ACL (owner, group, other) permissions remain in the
inode for performance and compatibility reasons, so only the extended and
default ACLs are placed in extended attributes. The logic for ACL
evaluation is provided by the fs-independent kern/kern_acl.c.
o Introduce UFS_ACL, a compile-time configuration option that enables
support for ACLs on FFS (and potentially other UFS-based file systems).
o Introduce ufs_getacl(), ufs_setacl(), ufs_aclcheck(), which
respectively get, set, and check the ACLs on the passed vnode.
o Introduce ufs_sync_acl_from_inode(), ufs_sync_inode_from_acl() to
maintain access control information between inode permissions and
extended attribute data.
o Modify ufs_access() to load a file access ACL and invoke
vaccess_acl_posix1e() if ACLs are available on the file system
o Modify ufs_mkdir() and ufs_makeinode() to associate ACLs with newly
created directories and files, inheriting from the parent directory's
default ACL.
o Enable these new vnode operations and conditionally compiled code
paths if UFS_ACL is defined.
A few notes:
o This implementation is fairly widely tested, but still should be
considered experimental.
o Currently, ACLs are not exported via NFS, instead, the summarizing
file mode/etc from the inode is. This results in conservative
protection behavior, similar to the behavior of ACL-nonaware programs
acting locally.
o It is possible that underlying binary data formats associated with
this implementation may change. Consumers of the implementation
should expect to find their local configuration obsoleted in the
next few months, resulting in possible loss of ACL data during an
upgrade.
o The extended attributes interface and implementation is still
undergoing modification to address portable interface concerns, as
well as performance.
o Many applications do not yet correctly handle ACLs. In general,
due to the POSIX.1e ACL model, behavior of ACL-unaware applications
will be conservative with respects to file protection; some caution
is recommended.
o Instructions for configuring and maintaining ACLs on UFS will be
committed in the near future; in the mean time it is possible to
reference the README included in the last UFS ACL distribution
placed in the TrustedBSD web site:
http://www.TrustedBSD.org/downloads/
Substantial debugging, hardware, travel, or connectivity support for this
project was provided by: BSDi, Safeport Network Services, and NAI Labs.
Significant coding contributions were made by Chris Faulhaber. Additional
support was provided by Brian Feldman, Thomas Moestl, and Ilmar Habibulin.
Reviewed by: jedgar, keichii, mckusick, trustedbsd-discuss, freebsd-fs
Obtained from: TrustedBSD Project
2001-03-26 17:53:19 +00:00
|
|
|
# Enabling this option turns on support for Access Control Lists in UFS,
|
|
|
|
# which can be used to support high security configurations. Depends on
|
|
|
|
# UFS_EXTATTR.
|
|
|
|
UFS_ACL opt_ufs.h
|
|
|
|
|
2001-03-19 04:35:40 +00:00
|
|
|
# Enabling this option turns on support for extended attributes in UFS-based
|
2002-05-16 21:28:32 +00:00
|
|
|
# filesystems, which can be used to support high security configurations
|
|
|
|
# as well as new filesystem features.
|
2001-03-19 04:35:40 +00:00
|
|
|
UFS_EXTATTR opt_ufs.h
|
|
|
|
UFS_EXTATTR_AUTOSTART opt_ufs.h
|
Introduce extended attribute support for FFS, allowing arbitrary
(name, value) pairs to be associated with inodes. This support is
used for ACLs, MAC labels, and Capabilities in the TrustedBSD
security extensions, which are currently under development.
In this implementation, attributes are backed to data vnodes in the
style of the quota support in FFS. Support for FFS extended
attributes may be enabled using the FFS_EXTATTR kernel option
(disabled by default). Userland utilities and man pages will be
committed in the next batch. VFS interfaces and man pages have
been in the repo since 4.0-RELEASE and are unchanged.
o ufs/ufs/extattr.h: UFS-specific extattr defines
o ufs/ufs/ufs_extattr.c: bulk of support routines
o ufs/{ufs,ffs,mfs}/*.[ch]: hooks and extattr.h includes
o contrib/softupdates/ffs_softdep.c: extattr.h includes
o conf/options, conf/files, i386/conf/LINT: added FFS_EXTATTR
o coda/coda_vfsops.c: XXX required extattr.h due to ufsmount.h
(This should not be the case, and will be fixed in a future commit)
Currently attributes are not supported in MFS. This will be fixed.
Reviewed by: adrian, bp, freebsd-fs, other unthanked souls
Obtained from: TrustedBSD Project
2000-04-15 03:34:27 +00:00
|
|
|
|
2001-07-10 21:21:29 +00:00
|
|
|
# Enable fast hash lookups for large directories on UFS-based filesystems.
|
|
|
|
UFS_DIRHASH opt_ufs.h
|
|
|
|
|
1998-01-24 02:54:56 +00:00
|
|
|
# The above static dependencies are planned removed, with a
|
|
|
|
# <filesystem>_ROOT option to control if it usable as root. This list
|
|
|
|
# allows these options to be present in config files already (though
|
|
|
|
# they won't make any difference yet).
|
1998-06-30 03:01:37 +00:00
|
|
|
NFS_ROOT opt_nfsroot.h
|
1998-01-24 02:54:56 +00:00
|
|
|
|
2002-07-15 19:11:21 +00:00
|
|
|
# SMB/CIFS requester
|
|
|
|
NETSMB opt_netsmb.h
|
|
|
|
NETSMBCRYPTO opt_netsmb.h
|
|
|
|
|
2001-07-26 23:05:35 +00:00
|
|
|
# Options used only in subr_param.c.
|
1999-01-14 03:30:48 +00:00
|
|
|
HZ opt_param.h
|
1999-04-09 16:28:11 +00:00
|
|
|
MAXFILES opt_param.h
|
1996-12-23 18:42:02 +00:00
|
|
|
NBUF opt_param.h
|
1996-03-02 18:24:13 +00:00
|
|
|
NMBCLUSTERS opt_param.h
|
1998-11-05 14:28:26 +00:00
|
|
|
NSFBUFS opt_param.h
|
2001-08-20 00:41:12 +00:00
|
|
|
VM_BCACHE_SIZE_MAX opt_param.h
|
|
|
|
VM_SWZONE_SIZE_MAX opt_param.h
|
2001-07-26 23:05:35 +00:00
|
|
|
MAXUSERS
|
2001-10-10 23:06:54 +00:00
|
|
|
DFLDSIZ opt_param.h
|
|
|
|
MAXDSIZ opt_param.h
|
|
|
|
MAXSSIZ opt_param.h
|
1996-03-29 13:51:30 +00:00
|
|
|
|
|
|
|
# Generic SCSI options.
|
1998-09-15 09:59:15 +00:00
|
|
|
CAM_MAX_HIGHPOWER opt_cam.h
|
|
|
|
CAMDEBUG opt_cam.h
|
1999-08-16 22:39:53 +00:00
|
|
|
CAM_DEBUG_DELAY opt_cam.h
|
1998-09-15 09:59:15 +00:00
|
|
|
CAM_DEBUG_BUS opt_cam.h
|
|
|
|
CAM_DEBUG_TARGET opt_cam.h
|
|
|
|
CAM_DEBUG_LUN opt_cam.h
|
|
|
|
CAM_DEBUG_FLAGS opt_cam.h
|
2001-06-24 18:15:58 +00:00
|
|
|
CAM_NEW_TRAN_CODE opt_cam.h
|
1996-12-23 18:42:02 +00:00
|
|
|
SCSI_DELAY opt_scsi.h
|
1998-09-15 09:59:15 +00:00
|
|
|
SCSI_NO_SENSE_STRINGS opt_scsi.h
|
|
|
|
SCSI_NO_OP_STRINGS opt_scsi.h
|
|
|
|
|
2001-06-24 18:15:58 +00:00
|
|
|
|
|
|
|
|
1998-09-15 09:59:15 +00:00
|
|
|
# Options used only in cam/scsi/scsi_cd.c
|
|
|
|
CHANGER_MIN_BUSY_SECONDS opt_cd.h
|
|
|
|
CHANGER_MAX_BUSY_SECONDS opt_cd.h
|
1996-03-29 13:51:30 +00:00
|
|
|
|
1999-08-20 03:48:11 +00:00
|
|
|
# Options used only in cam/scsi/scsi_sa.c.
|
2001-07-02 17:48:59 +00:00
|
|
|
SA_IO_TIMEOUT opt_sa.h
|
1998-10-02 05:15:51 +00:00
|
|
|
SA_SPACE_TIMEOUT opt_sa.h
|
|
|
|
SA_REWIND_TIMEOUT opt_sa.h
|
|
|
|
SA_ERASE_TIMEOUT opt_sa.h
|
1999-10-02 20:23:52 +00:00
|
|
|
SA_1FM_AT_EOD opt_sa.h
|
1996-06-16 19:58:24 +00:00
|
|
|
|
1999-08-20 03:48:11 +00:00
|
|
|
# Options used only in cam/scsi/scsi_pt.c
|
|
|
|
SCSI_PT_DEFAULT_TIMEOUT opt_pt.h
|
|
|
|
|
2000-01-15 07:12:09 +00:00
|
|
|
# Options used only in cam/scsi/scsi_ses.c
|
|
|
|
SES_ENABLE_PASSTHROUGH opt_ses.h
|
|
|
|
|
1999-12-16 16:09:57 +00:00
|
|
|
# Options used in dev/sym/ (Symbios SCSI driver).
|
|
|
|
SYM_SETUP_LP_PROBE_MAP opt_sym.h #-Low Priority Probe Map (bits)
|
|
|
|
# Allows the ncr to take precedence
|
|
|
|
# 1 (1<<0) -> 810a, 860
|
|
|
|
# 2 (1<<1) -> 825a, 875, 885, 895
|
|
|
|
# 4 (1<<2) -> 895a, 896, 1510d
|
|
|
|
SYM_SETUP_SCSI_DIFF opt_sym.h #-HVD support for 825a, 875, 885
|
|
|
|
# disabled:0 (default), enabled:1
|
|
|
|
SYM_SETUP_PCI_PARITY opt_sym.h #-PCI parity checking
|
|
|
|
# disabled:0, enabled:1 (default)
|
|
|
|
SYM_SETUP_MAX_LUN opt_sym.h #-Number of LUNs supported
|
|
|
|
# default:8, range:[1..64]
|
|
|
|
|
1996-12-15 16:35:54 +00:00
|
|
|
# Options used only in pci/ncr.c
|
1996-12-23 18:42:02 +00:00
|
|
|
SCSI_NCR_DEBUG opt_ncr.h
|
1996-12-23 18:40:40 +00:00
|
|
|
SCSI_NCR_MAX_SYNC opt_ncr.h
|
|
|
|
SCSI_NCR_MAX_WIDE opt_ncr.h
|
1996-12-23 18:42:02 +00:00
|
|
|
SCSI_NCR_MYADDR opt_ncr.h
|
1996-12-15 16:35:54 +00:00
|
|
|
|
2002-04-04 23:54:58 +00:00
|
|
|
# Options used only in dev/isp/*
|
1999-11-21 03:00:19 +00:00
|
|
|
ISP_TARGET_MODE opt_isp.h
|
2002-04-04 23:54:58 +00:00
|
|
|
ISP_FW_CRASH_DUMP opt_isp.h
|
1999-02-09 01:02:37 +00:00
|
|
|
|
1999-10-09 20:22:01 +00:00
|
|
|
# Options used in the 'ata' ATA/ATAPI driver
|
2001-01-14 19:03:53 +00:00
|
|
|
ACD_DEBUG opt_ata.h
|
|
|
|
AST_DEBUG opt_ata.h
|
|
|
|
ATAPI_DEBUG opt_ata.h
|
|
|
|
ATA_DEBUG opt_ata.h
|
1999-10-09 20:22:01 +00:00
|
|
|
ATA_STATIC_ID opt_ata.h
|
2002-07-21 21:37:09 +00:00
|
|
|
ATA_NOPCI opt_ata.h
|
2001-01-29 10:01:11 +00:00
|
|
|
DEV_ATADISK opt_ata.h
|
|
|
|
DEV_ATAPICD opt_ata.h
|
|
|
|
DEV_ATAPIST opt_ata.h
|
|
|
|
DEV_ATAPIFD opt_ata.h
|
1999-10-09 20:22:01 +00:00
|
|
|
|
1996-03-29 13:51:30 +00:00
|
|
|
# Net stuff.
|
2000-06-20 01:09:23 +00:00
|
|
|
ACCEPT_FILTER_DATA
|
|
|
|
ACCEPT_FILTER_HTTP
|
1998-01-09 03:21:07 +00:00
|
|
|
BOOTP opt_bootp.h
|
|
|
|
BOOTP_COMPAT opt_bootp.h
|
|
|
|
BOOTP_NFSROOT opt_bootp.h
|
|
|
|
BOOTP_NFSV3 opt_bootp.h
|
1998-03-14 04:13:56 +00:00
|
|
|
BOOTP_WIRED_TO opt_bootp.h
|
1998-12-14 17:46:15 +00:00
|
|
|
BRIDGE opt_bdg.h
|
2000-01-23 03:35:11 +00:00
|
|
|
ETHER_II opt_ef.h
|
|
|
|
ETHER_8023 opt_ef.h
|
|
|
|
ETHER_8022 opt_ef.h
|
|
|
|
ETHER_SNAP opt_ef.h
|
1996-06-12 19:34:33 +00:00
|
|
|
MROUTING opt_mrouting.h
|
1998-01-08 23:42:31 +00:00
|
|
|
INET opt_inet.h
|
1999-12-07 17:39:16 +00:00
|
|
|
INET6 opt_inet6.h
|
1999-12-22 19:13:38 +00:00
|
|
|
IPSEC opt_ipsec.h
|
|
|
|
IPSEC_ESP opt_ipsec.h
|
|
|
|
IPSEC_DEBUG opt_ipsec.h
|
1997-11-05 20:17:23 +00:00
|
|
|
IPDIVERT
|
1998-12-14 17:46:15 +00:00
|
|
|
DUMMYNET opt_ipdn.h
|
1999-11-23 21:44:59 +00:00
|
|
|
IPFILTER opt_ipfilter.h
|
|
|
|
IPFILTER_LOG opt_ipfilter.h
|
2000-05-16 08:58:39 +00:00
|
|
|
IPFILTER_DEFAULT_BLOCK opt_ipfilter.h
|
2000-05-10 13:43:27 +00:00
|
|
|
PFIL_HOOKS opt_pfil_hooks.h
|
1996-06-12 19:34:33 +00:00
|
|
|
IPFIREWALL opt_ipfw.h
|
|
|
|
IPFIREWALL_VERBOSE opt_ipfw.h
|
1996-06-23 14:43:55 +00:00
|
|
|
IPFIREWALL_VERBOSE_LIMIT opt_ipfw.h
|
1997-09-10 03:07:14 +00:00
|
|
|
IPFIREWALL_DEFAULT_TO_ACCEPT opt_ipfw.h
|
1998-07-06 04:55:22 +00:00
|
|
|
IPFIREWALL_FORWARD opt_ipfw.h
|
2000-01-29 13:54:44 +00:00
|
|
|
IPV6FIREWALL opt_ip6fw.h
|
|
|
|
IPV6FIREWALL_VERBOSE opt_ip6fw.h
|
|
|
|
IPV6FIREWALL_VERBOSE_LIMIT opt_ip6fw.h
|
|
|
|
IPV6FIREWALL_DEFAULT_TO_ACCEPT opt_ip6fw.h
|
1999-02-22 18:19:57 +00:00
|
|
|
IPSTEALTH
|
1997-12-15 20:31:25 +00:00
|
|
|
IPX opt_ipx.h
|
|
|
|
IPXIP opt_ipx.h
|
|
|
|
IPTUNNEL opt_ipx.h
|
2001-02-24 15:44:30 +00:00
|
|
|
LIBMCHAIN
|
1999-10-02 05:30:40 +00:00
|
|
|
NCP opt_ncp.h
|
1998-01-09 00:51:57 +00:00
|
|
|
NETATALK opt_atalk.h
|
1997-08-19 17:05:26 +00:00
|
|
|
PPP_BSDCOMP opt_ppp.h
|
|
|
|
PPP_DEFLATE opt_ppp.h
|
1997-10-18 01:15:32 +00:00
|
|
|
PPP_FILTER opt_ppp.h
|
2001-06-01 10:02:28 +00:00
|
|
|
RANDOM_IP_ID
|
1999-08-10 09:42:32 +00:00
|
|
|
SLIP_IFF_OPTS opt_slip.h
|
1997-09-16 18:36:06 +00:00
|
|
|
TCPDEBUG
|
1999-09-12 17:22:08 +00:00
|
|
|
TCP_DROP_SYNFIN opt_tcp_input.h
|
2000-07-20 00:35:37 +00:00
|
|
|
XBONEHACK
|
1998-01-26 18:31:18 +00:00
|
|
|
|
1999-10-21 09:06:11 +00:00
|
|
|
# Netgraph(4). Use option NETGRAPH to enable the base netgraph code.
|
|
|
|
# Each netgraph node type can be either be compiled into the kernel
|
|
|
|
# or loaded dynamically. To get the former, include the corresponding
|
2000-09-01 01:37:13 +00:00
|
|
|
# option below. Each type has its own man page, e.g. ng_async(4).
|
1999-10-21 09:06:11 +00:00
|
|
|
NETGRAPH
|
|
|
|
NETGRAPH_ASYNC opt_netgraph.h
|
1999-12-03 21:21:49 +00:00
|
|
|
NETGRAPH_BPF opt_netgraph.h
|
2000-09-01 01:37:13 +00:00
|
|
|
NETGRAPH_BRIDGE opt_netgraph.h
|
1999-10-21 09:06:11 +00:00
|
|
|
NETGRAPH_CISCO opt_netgraph.h
|
|
|
|
NETGRAPH_ECHO opt_netgraph.h
|
2000-06-26 23:34:54 +00:00
|
|
|
NETGRAPH_ETHER opt_netgraph.h
|
1999-10-21 09:06:11 +00:00
|
|
|
NETGRAPH_FRAME_RELAY opt_netgraph.h
|
2001-09-26 23:50:17 +00:00
|
|
|
NETGRAPH_GIF opt_netgraph.h
|
|
|
|
NETGRAPH_GIF_DEMUX opt_netgraph.h
|
1999-10-21 09:06:11 +00:00
|
|
|
NETGRAPH_HOLE opt_netgraph.h
|
|
|
|
NETGRAPH_IFACE opt_netgraph.h
|
2001-09-27 21:54:27 +00:00
|
|
|
NETGRAPH_IP_INPUT opt_netgraph.h
|
1999-11-16 23:49:07 +00:00
|
|
|
NETGRAPH_KSOCKET opt_netgraph.h
|
1999-10-21 09:06:11 +00:00
|
|
|
NETGRAPH_LMI opt_netgraph.h
|
2000-04-09 21:15:23 +00:00
|
|
|
# MPPC compression requires proprietary files (not included)
|
|
|
|
NETGRAPH_MPPC_COMPRESSION opt_netgraph.h
|
|
|
|
NETGRAPH_MPPC_ENCRYPTION opt_netgraph.h
|
2000-11-16 16:59:26 +00:00
|
|
|
NETGRAPH_ONE2MANY opt_netgraph.h
|
1999-11-02 22:36:09 +00:00
|
|
|
NETGRAPH_PPP opt_netgraph.h
|
|
|
|
NETGRAPH_PPPOE opt_netgraph.h
|
1999-12-08 18:55:39 +00:00
|
|
|
NETGRAPH_PPTPGRE opt_netgraph.h
|
1999-10-21 09:06:11 +00:00
|
|
|
NETGRAPH_RFC1490 opt_netgraph.h
|
|
|
|
NETGRAPH_SOCKET opt_netgraph.h
|
2001-07-25 00:15:02 +00:00
|
|
|
NETGRAPH_SPLIT opt_netgraph.h
|
1999-10-21 09:06:11 +00:00
|
|
|
NETGRAPH_TEE opt_netgraph.h
|
|
|
|
NETGRAPH_TTY opt_netgraph.h
|
|
|
|
NETGRAPH_UI opt_netgraph.h
|
1999-10-25 22:07:30 +00:00
|
|
|
NETGRAPH_VJC opt_netgraph.h
|
1999-10-21 09:06:11 +00:00
|
|
|
|
2002-04-28 04:58:40 +00:00
|
|
|
# DRM options
|
|
|
|
DRM_LINUX opt_drm.h
|
|
|
|
DRM_DEBUG opt_drm.h
|
|
|
|
|
At long last, commit the zero copy sockets code.
MAKEDEV: Add MAKEDEV glue for the ti(4) device nodes.
ti.4: Update the ti(4) man page to include information on the
TI_JUMBO_HDRSPLIT and TI_PRIVATE_JUMBOS kernel options,
and also include information about the new character
device interface and the associated ioctls.
man9/Makefile: Add jumbo.9 and zero_copy.9 man pages and associated
links.
jumbo.9: New man page describing the jumbo buffer allocator
interface and operation.
zero_copy.9: New man page describing the general characteristics of
the zero copy send and receive code, and what an
application author should do to take advantage of the
zero copy functionality.
NOTES: Add entries for ZERO_COPY_SOCKETS, TI_PRIVATE_JUMBOS,
TI_JUMBO_HDRSPLIT, MSIZE, and MCLSHIFT.
conf/files: Add uipc_jumbo.c and uipc_cow.c.
conf/options: Add the 5 options mentioned above.
kern_subr.c: Receive side zero copy implementation. This takes
"disposable" pages attached to an mbuf, gives them to
a user process, and then recycles the user's page.
This is only active when ZERO_COPY_SOCKETS is turned on
and the kern.ipc.zero_copy.receive sysctl variable is
set to 1.
uipc_cow.c: Send side zero copy functions. Takes a page written
by the user and maps it copy on write and assigns it
kernel virtual address space. Removes copy on write
mapping once the buffer has been freed by the network
stack.
uipc_jumbo.c: Jumbo disposable page allocator code. This allocates
(optionally) disposable pages for network drivers that
want to give the user the option of doing zero copy
receive.
uipc_socket.c: Add kern.ipc.zero_copy.{send,receive} sysctls that are
enabled if ZERO_COPY_SOCKETS is turned on.
Add zero copy send support to sosend() -- pages get
mapped into the kernel instead of getting copied if
they meet size and alignment restrictions.
uipc_syscalls.c:Un-staticize some of the sf* functions so that they
can be used elsewhere. (uipc_cow.c)
if_media.c: In the SIOCGIFMEDIA ioctl in ifmedia_ioctl(), avoid
calling malloc() with M_WAITOK. Return an error if
the M_NOWAIT malloc fails.
The ti(4) driver and the wi(4) driver, at least, call
this with a mutex held. This causes witness warnings
for 'ifconfig -a' with a wi(4) or ti(4) board in the
system. (I've only verified for ti(4)).
ip_output.c: Fragment large datagrams so that each segment contains
a multiple of PAGE_SIZE amount of data plus headers.
This allows the receiver to potentially do page
flipping on receives.
if_ti.c: Add zero copy receive support to the ti(4) driver. If
TI_PRIVATE_JUMBOS is not defined, it now uses the
jumbo(9) buffer allocator for jumbo receive buffers.
Add a new character device interface for the ti(4)
driver for the new debugging interface. This allows
(a patched version of) gdb to talk to the Tigon board
and debug the firmware. There are also a few additional
debugging ioctls available through this interface.
Add header splitting support to the ti(4) driver.
Tweak some of the default interrupt coalescing
parameters to more useful defaults.
Add hooks for supporting transmit flow control, but
leave it turned off with a comment describing why it
is turned off.
if_tireg.h: Change the firmware rev to 12.4.11, since we're really
at 12.4.11 plus fixes from 12.4.13.
Add defines needed for debugging.
Remove the ti_stats structure, it is now defined in
sys/tiio.h.
ti_fw.h: 12.4.11 firmware.
ti_fw2.h: 12.4.11 firmware, plus selected fixes from 12.4.13,
and my header splitting patches. Revision 12.4.13
doesn't handle 10/100 negotiation properly. (This
firmware is the same as what was in the tree previously,
with the addition of header splitting support.)
sys/jumbo.h: Jumbo buffer allocator interface.
sys/mbuf.h: Add a new external mbuf type, EXT_DISPOSABLE, to
indicate that the payload buffer can be thrown away /
flipped to a userland process.
socketvar.h: Add prototype for socow_setup.
tiio.h: ioctl interface to the character portion of the ti(4)
driver, plus associated structure/type definitions.
uio.h: Change prototype for uiomoveco() so that we'll know
whether the source page is disposable.
ufs_readwrite.c:Update for new prototype of uiomoveco().
vm_fault.c: In vm_fault(), check to see whether we need to do a page
based copy on write fault.
vm_object.c: Add a new function, vm_object_allocate_wait(). This
does the same thing that vm_object allocate does, except
that it gives the caller the opportunity to specify whether
it should wait on the uma_zalloc() of the object structre.
This allows vm objects to be allocated while holding a
mutex. (Without generating WITNESS warnings.)
vm_object_allocate() is implemented as a call to
vm_object_allocate_wait() with the malloc flag set to
M_WAITOK.
vm_object.h: Add prototype for vm_object_allocate_wait().
vm_page.c: Add page-based copy on write setup, clear and fault
routines.
vm_page.h: Add page based COW function prototypes and variable in
the vm_page structure.
Many thanks to Drew Gallatin, who wrote the zero copy send and receive
code, and to all the other folks who have tested and reviewed this code
over the years.
2002-06-26 03:37:47 +00:00
|
|
|
|
|
|
|
ZERO_COPY_SOCKETS opt_zero.h
|
|
|
|
TI_PRIVATE_JUMBOS opt_ti.h
|
|
|
|
TI_JUMBO_HDRSPLIT opt_ti.h
|
|
|
|
|
(this is an extract from src/share/examples/atm/README)
===================================
HARP | Host ATM Research Platform
===================================
HARP 3
What is this stuff?
-------------------
The Advanced Networking Group (ANG) at the Minnesota Supercomputer Center,
Inc. (MSCI), as part of its work on the MAGIC Gigabit Testbed, developed
the Host ATM Research Platform (HARP) software, which allows IP hosts to
communicate over ATM networks using standard protocols. It is intended to
be a high-quality platform for IP/ATM research.
HARP provides a way for IP hosts to connect to ATM networks. It supports
standard methods of communication using IP over ATM. A host's standard IP
software sends and receives datagrams via a HARP ATM interface. HARP provides
functionality similar to (and typically replaces) vendor-provided ATM device
driver software.
HARP includes full source code, making it possible for researchers to
experiment with different approaches to running IP over ATM. HARP is
self-contained; it requires no other licenses or commercial software packages.
HARP implements support for the IETF Classical IP model for using IP over ATM
networks, including:
o IETF ATMARP address resolution client
o IETF ATMARP address resolution server
o IETF SCSP/ATMARP server
o UNI 3.1 and 3.0 signalling protocols
o Fore Systems's SPANS signalling protocol
What's supported
----------------
The following are supported by HARP 3:
o ATM Host Interfaces
- FORE Systems, Inc. SBA-200 and SBA-200E ATM SBus Adapters
- FORE Systems, Inc. PCA-200E ATM PCI Adapters
- Efficient Networks, Inc. ENI-155p ATM PCI Adapters
o ATM Signalling Protocols
- The ATM Forum UNI 3.1 signalling protocol
- The ATM Forum UNI 3.0 signalling protocol
- The ATM Forum ILMI address registration
- FORE Systems's proprietary SPANS signalling protocol
- Permanent Virtual Channels (PVCs)
o IETF "Classical IP and ARP over ATM" model
- RFC 1483, "Multiprotocol Encapsulation over ATM Adaptation Layer 5"
- RFC 1577, "Classical IP and ARP over ATM"
- RFC 1626, "Default IP MTU for use over ATM AAL5"
- RFC 1755, "ATM Signaling Support for IP over ATM"
- RFC 2225, "Classical IP and ARP over ATM"
- RFC 2334, "Server Cache Synchronization Protocol (SCSP)"
- Internet Draft draft-ietf-ion-scsp-atmarp-00.txt,
"A Distributed ATMARP Service Using SCSP"
o ATM Sockets interface
- The file atm-sockets.txt contains further information
What's not supported
--------------------
The following major features of the above list are not currently supported:
o UNI point-to-multipoint support
o Driver support for Traffic Control/Quality of Service
o SPANS multicast and MPP support
o SPANS signalling using Efficient adapters
This software was developed under the sponsorship of the Defense Advanced
Research Projects Agency (DARPA).
Reviewed (lightly) by: phk
Submitted by: Network Computing Services, Inc.
1998-09-15 11:44:44 +00:00
|
|
|
# ATM (HARP version)
|
|
|
|
ATM_CORE opt_atm.h
|
|
|
|
ATM_IP opt_atm.h
|
|
|
|
ATM_SIGPVC opt_atm.h
|
|
|
|
ATM_SPANS opt_atm.h
|
|
|
|
ATM_UNI opt_atm.h
|
|
|
|
|
1998-01-31 05:00:21 +00:00
|
|
|
# XXX Conflict: # of devices vs network protocol (Native ATM).
|
|
|
|
# This makes "atm.h" unusable.
|
|
|
|
NATM opt_natm.h
|
|
|
|
|
1998-10-07 03:30:55 +00:00
|
|
|
DPT_ALLOW_MEMIO opt_dpt.h # Allow PCI devices to use memory
|
|
|
|
# mapped I/O
|
1998-01-26 18:31:18 +00:00
|
|
|
# DPT driver debug flags
|
1998-08-05 00:54:38 +00:00
|
|
|
DPT_MEASURE_PERFORMANCE opt_dpt.h
|
|
|
|
DPT_HANDLE_TIMEOUTS opt_dpt.h
|
|
|
|
DPT_TIMEOUT_FACTOR opt_dpt.h
|
1998-01-26 18:31:18 +00:00
|
|
|
DPT_LOST_IRQ opt_dpt.h
|
1998-08-05 00:54:38 +00:00
|
|
|
DPT_RESET_HBA opt_dpt.h
|
1998-01-31 07:23:16 +00:00
|
|
|
|
2000-09-01 22:16:33 +00:00
|
|
|
# Adaptec ASR and DPT V/VI controller options
|
|
|
|
ASR_MEASURE_PERFORMANCE opt_asr.h
|
|
|
|
|
1998-01-31 07:23:16 +00:00
|
|
|
# Misc debug flags. Most of these should probably be replaced with
|
|
|
|
# 'DEBUG', and then let people recompile just the interesting modules
|
1999-02-14 12:00:00 +00:00
|
|
|
# with 'make CC="cc -DDEBUG"'.
|
1998-01-31 07:23:16 +00:00
|
|
|
CLUSTERDEBUG opt_debug_cluster.h
|
1999-01-10 17:41:33 +00:00
|
|
|
DEBUG_1284 opt_ppb_1284.h
|
|
|
|
VP0_DEBUG opt_vpo.h
|
1999-02-14 12:00:00 +00:00
|
|
|
LPT_DEBUG opt_lpt.h
|
1999-01-23 17:07:49 +00:00
|
|
|
PLIP_DEBUG opt_plip.h
|
1998-01-31 07:23:16 +00:00
|
|
|
LOCKF_DEBUG opt_debug_lockf.h
|
|
|
|
NPX_DEBUG opt_debug_npx.h
|
|
|
|
NETATALKDEBUG opt_atalk.h
|
|
|
|
SI_DEBUG opt_debug_si.h
|
|
|
|
|
1999-11-06 23:41:10 +00:00
|
|
|
# Fb options
|
|
|
|
FB_DEBUG opt_fb.h
|
|
|
|
FB_INSTALL_CDEV opt_fb.h
|
|
|
|
|
1999-01-25 19:34:27 +00:00
|
|
|
# ppbus related options
|
|
|
|
PERIPH_1284 opt_ppb_1284.h
|
|
|
|
DONTPROBE_1284 opt_ppb_1284.h
|
|
|
|
|
|
|
|
# smbus related options
|
|
|
|
ENABLE_ALART opt_intpm.h
|
1998-01-31 07:23:16 +00:00
|
|
|
|
1998-02-06 12:41:39 +00:00
|
|
|
# These cause changes all over the kernel
|
1999-11-06 23:41:10 +00:00
|
|
|
BLKDEV_IOSIZE opt_global.h
|
1998-02-06 12:41:39 +00:00
|
|
|
DEBUG opt_global.h
|
1999-01-20 14:49:12 +00:00
|
|
|
DEBUG_LOCKS opt_global.h
|
1999-01-08 17:31:30 +00:00
|
|
|
DEBUG_VFS_LOCKS opt_global.h
|
2002-05-14 21:59:49 +00:00
|
|
|
LOOKUP_SHARED opt_global.h
|
1998-02-06 12:41:39 +00:00
|
|
|
DIAGNOSTIC opt_global.h
|
1998-03-19 22:37:37 +00:00
|
|
|
ENABLE_VFS_IOOPT opt_global.h
|
2001-02-24 19:03:18 +00:00
|
|
|
INVARIANT_SUPPORT opt_global.h
|
1999-01-08 17:31:30 +00:00
|
|
|
INVARIANTS opt_global.h
|
2002-07-11 04:15:53 +00:00
|
|
|
MCLSHIFT opt_global.h
|
|
|
|
MSIZE opt_global.h
|
2001-04-11 19:29:24 +00:00
|
|
|
REGRESSION opt_global.h
|
2001-08-23 20:32:21 +00:00
|
|
|
RESTARTABLE_PANICS opt_global.h
|
1999-01-08 17:31:30 +00:00
|
|
|
VFS_BIO_DEBUG opt_global.h
|
1998-02-23 07:42:43 +00:00
|
|
|
|
|
|
|
# These are VM related options
|
1999-11-06 23:51:29 +00:00
|
|
|
VM_KMEM_SIZE opt_vm.h
|
|
|
|
VM_KMEM_SIZE_SCALE opt_vm.h
|
1998-02-23 07:42:43 +00:00
|
|
|
VM_KMEM_SIZE_MAX opt_vm.h
|
1999-11-06 23:51:29 +00:00
|
|
|
NO_SWAPPING opt_vm.h
|
2002-04-09 05:14:17 +00:00
|
|
|
MALLOC_PROFILE opt_vm.h
|
1999-11-06 23:51:29 +00:00
|
|
|
PQ_NOOPT opt_vmpage.h
|
|
|
|
PQ_NORMALCACHE opt_vmpage.h
|
|
|
|
PQ_MEDIUMCACHE opt_vmpage.h
|
|
|
|
PQ_LARGECACHE opt_vmpage.h
|
|
|
|
PQ_HUGECACHE opt_vmpage.h
|
2000-07-04 08:55:18 +00:00
|
|
|
PQ_CACHESIZE opt_vmpage.h
|
1998-06-30 08:01:30 +00:00
|
|
|
|
1998-12-19 23:07:16 +00:00
|
|
|
# Standard SMP options
|
|
|
|
SMP opt_global.h
|
1998-02-27 10:02:49 +00:00
|
|
|
|
1998-05-19 08:58:53 +00:00
|
|
|
# Size of the kernel message buffer
|
|
|
|
MSGBUF_SIZE opt_msgbuf.h
|
1998-06-07 17:13:14 +00:00
|
|
|
|
1998-06-30 08:13:27 +00:00
|
|
|
# PCI related options
|
2002-01-15 06:46:59 +00:00
|
|
|
PCI_ALLOW_UNSUPPORTED_IO_RANGE opt_pci.h
|
1998-06-30 08:13:27 +00:00
|
|
|
|
1998-06-30 03:01:37 +00:00
|
|
|
# NFS options
|
|
|
|
NFS_MINATTRTIMO opt_nfs.h
|
|
|
|
NFS_MAXATTRTIMO opt_nfs.h
|
|
|
|
NFS_MINDIRATTRTIMO opt_nfs.h
|
|
|
|
NFS_MAXDIRATTRTIMO opt_nfs.h
|
|
|
|
NFS_GATHERDELAY opt_nfs.h
|
|
|
|
NFS_WDELAYHASHSIZ opt_nfs.h
|
|
|
|
NFS_DEBUG opt_nfs.h
|
|
|
|
|
1999-05-26 13:24:35 +00:00
|
|
|
# For the Bt848/Bt848A/Bt849/Bt878/Bt879 driver
|
1999-11-06 23:51:29 +00:00
|
|
|
OVERRIDE_CARD opt_bktr.h
|
|
|
|
OVERRIDE_TUNER opt_bktr.h
|
|
|
|
OVERRIDE_DBX opt_bktr.h
|
|
|
|
OVERRIDE_MSP opt_bktr.h
|
|
|
|
BROOKTREE_SYSTEM_DEFAULT opt_bktr.h
|
2000-10-17 07:59:56 +00:00
|
|
|
BROOKTREE_ALLOC_PAGES opt_bktr.h
|
|
|
|
BKTR_OVERRIDE_CARD opt_bktr.h
|
|
|
|
BKTR_OVERRIDE_TUNER opt_bktr.h
|
|
|
|
BKTR_OVERRIDE_DBX opt_bktr.h
|
|
|
|
BKTR_OVERRIDE_MSP opt_bktr.h
|
|
|
|
BKTR_SYSTEM_DEFAULT opt_bktr.h
|
|
|
|
BKTR_ALLOC_PAGES opt_bktr.h
|
1999-11-06 23:51:29 +00:00
|
|
|
BKTR_USE_PLL opt_bktr.h
|
|
|
|
BKTR_GPIO_ACCESS opt_bktr.h
|
|
|
|
BKTR_NO_MSP_RESET opt_bktr.h
|
|
|
|
BKTR_430_FX_MODE opt_bktr.h
|
|
|
|
BKTR_SIS_VIA_MODE opt_bktr.h
|
2002-03-23 15:49:15 +00:00
|
|
|
BKTR_USE_FREEBSD_SMBUS opt_bktr.h
|
1998-08-31 18:35:06 +00:00
|
|
|
|
1998-08-08 19:26:08 +00:00
|
|
|
# meteor opt_meteor.h
|
|
|
|
METEOR_ALLOC_PAGES opt_meteor.h
|
|
|
|
METEOR_TEST_VIDEO opt_meteor.h
|
|
|
|
METEOR_SYSTEM_DEFAULT opt_meteor.h
|
|
|
|
METEOR_DEALLOC_PAGES opt_meteor.h
|
|
|
|
METEOR_DEALLOC_ABOVE opt_meteor.h
|
|
|
|
|
1999-05-09 13:10:49 +00:00
|
|
|
# Various mi ISA bus flags
|
1999-11-06 23:51:29 +00:00
|
|
|
COM_ESP opt_sio.h
|
|
|
|
COM_MULTIPORT opt_sio.h
|
1999-11-06 23:41:10 +00:00
|
|
|
BREAK_TO_DEBUGGER opt_comconsole.h
|
2000-06-14 06:41:33 +00:00
|
|
|
ALT_BREAK_TO_DEBUGGER opt_comconsole.h
|
2001-01-29 09:38:39 +00:00
|
|
|
DEV_ISA opt_isa.h
|
1999-05-09 13:10:49 +00:00
|
|
|
|
1998-06-07 17:13:14 +00:00
|
|
|
# Include tweaks for running under the SimOS machine simulator.
|
|
|
|
SIMOS opt_simos.h
|
1998-10-28 08:37:10 +00:00
|
|
|
|
|
|
|
# options for bus/device framework
|
|
|
|
BUS_DEBUG opt_bus.h
|
1998-11-26 23:13:13 +00:00
|
|
|
|
|
|
|
# options for USB support
|
1999-04-11 20:53:50 +00:00
|
|
|
UHCI_DEBUG opt_usb.h
|
|
|
|
OHCI_DEBUG opt_usb.h
|
1998-11-26 23:13:13 +00:00
|
|
|
USB_DEBUG opt_usb.h
|
1999-04-11 20:53:50 +00:00
|
|
|
UGEN_DEBUG opt_usb.h
|
|
|
|
UHID_DEBUG opt_usb.h
|
|
|
|
UHUB_DEBUG opt_usb.h
|
|
|
|
UKBD_DEBUG opt_usb.h
|
|
|
|
ULPT_DEBUG opt_usb.h
|
|
|
|
UMASS_DEBUG opt_usb.h
|
|
|
|
UMS_DEBUG opt_usb.h
|
2000-03-16 09:16:14 +00:00
|
|
|
URIO_DEBUG opt_usb.h
|
2000-05-09 18:23:38 +00:00
|
|
|
UKBD_DFLT_KEYMAP opt_ukbd.h
|
1998-12-28 16:31:26 +00:00
|
|
|
|
|
|
|
# Vinum options
|
|
|
|
VINUMDEBUG opt_vinum.h
|
1999-05-05 11:24:15 +00:00
|
|
|
|
|
|
|
# Embedded system options
|
|
|
|
INIT_PATH opt_init_path.h
|
1999-05-09 16:46:01 +00:00
|
|
|
|
|
|
|
ROOTDEVNAME opt_rootdevname.h
|
1999-06-05 13:57:10 +00:00
|
|
|
|
|
|
|
FDC_DEBUG opt_fdc.h
|
2000-01-19 18:17:25 +00:00
|
|
|
PCFCLOCK_VERBOSE opt_pcfclock.h
|
|
|
|
PCFCLOCK_MAX_RETRIES opt_pcfclock.h
|
2000-06-22 05:41:21 +00:00
|
|
|
TDFX_LINUX opt_tdfx.h
|
2000-08-31 15:34:54 +00:00
|
|
|
|
2000-09-07 01:33:02 +00:00
|
|
|
KTR opt_global.h
|
2000-11-07 01:49:48 +00:00
|
|
|
KTR_MASK opt_ktr.h
|
|
|
|
KTR_CPUMASK opt_ktr.h
|
2000-09-07 01:33:02 +00:00
|
|
|
KTR_COMPILE opt_global.h
|
|
|
|
KTR_ENTRIES opt_global.h
|
2000-11-07 01:49:48 +00:00
|
|
|
KTR_VERBOSE opt_ktr.h
|
- Make the mutex code almost completely machine independent. This greatly
reducues the maintenance load for the mutex code. The only MD portions
of the mutex code are in machine/mutex.h now, which include the assembly
macros for handling mutexes as well as optionally overriding the mutex
micro-operations. For example, we use optimized micro-ops on the x86
platform #ifndef I386_CPU.
- Change the behavior of the SMP_DEBUG kernel option. In the new code,
mtx_assert() only depends on INVARIANTS, allowing other kernel developers
to have working mutex assertiions without having to include all of the
mutex debugging code. The SMP_DEBUG kernel option has been renamed to
MUTEX_DEBUG and now just controls extra mutex debugging code.
- Abolish the ugly mtx_f hack. Instead, we dynamically allocate
seperate mtx_debug structures on the fly in mtx_init, except for mutexes
that are initiated very early in the boot process. These mutexes
are declared using a special MUTEX_DECLARE() macro, and use a new
flag MTX_COLD when calling mtx_init. This is still somewhat hackish,
but it is less evil than the mtx_f filler struct, and the mtx struct is
now the same size with and without mutex debugging code.
- Add some micro-micro-operation macros for doing the actual atomic
operations on the mutex mtx_lock field to make it easier for other archs
to override/optimize mutex ops if needed. These new tiny ops also clean
up the code in some places by replacing long atomic operation function
calls that spanned 2-3 lines with a short 1-line macro call.
- Don't call mi_switch() from mtx_enter_hard() when we block while trying
to obtain a sleep mutex. Calling mi_switch() would bogusly release
Giant before switching to the next process. Instead, inline most of the
code from mi_switch() in the mtx_enter_hard() function. Note that when
we finally kill Giant we can back this out and go back to calling
mi_switch().
2000-10-20 07:26:37 +00:00
|
|
|
MUTEX_DEBUG opt_global.h
|
2000-09-07 01:33:02 +00:00
|
|
|
WITNESS opt_global.h
|
2000-10-27 03:00:28 +00:00
|
|
|
WITNESS_DDB opt_witness.h
|
|
|
|
WITNESS_SKIPSPIN opt_witness.h
|
2000-09-07 01:33:02 +00:00
|
|
|
|
2000-08-31 15:34:54 +00:00
|
|
|
# options for ACPI support
|
|
|
|
ACPI_DEBUG opt_acpi.h
|
2001-12-22 16:05:41 +00:00
|
|
|
ACPI_NO_SEMAPHORES opt_acpi.h
|
|
|
|
ACPI_MAX_THREADS opt_acpi.h
|
2000-09-06 11:26:43 +00:00
|
|
|
|
|
|
|
# options for DEVFS, see sys/fs/devfs/devfs.h
|
|
|
|
NDEVFSINO opt_devfs.h
|
|
|
|
NDEVFSOVERFLOW opt_devfs.h
|
2001-01-29 09:43:36 +00:00
|
|
|
|
|
|
|
# various 'device presence' options.
|
2001-01-29 11:57:27 +00:00
|
|
|
DEV_MCA opt_mca.h
|
2001-01-29 13:26:14 +00:00
|
|
|
DEV_BPF opt_bpf.h
|
2001-09-29 22:32:03 +00:00
|
|
|
|
|
|
|
# ed driver
|
|
|
|
ED_NO_MIIBUS opt_ed.h
|
2002-02-12 00:26:06 +00:00
|
|
|
|
|
|
|
# Polling device handling
|
|
|
|
DEVICE_POLLING opt_global.h
|
2002-04-02 00:01:49 +00:00
|
|
|
|
|
|
|
# Mutex profiling
|
|
|
|
MUTEX_PROFILING opt_global.h
|