Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 2 Mar 1998 16:33:23 -0500 (EST)
From:      "Alok K. Dhir" <adhir@worldbank.org>
To:        current@FreeBSD.ORG
Subject:   Re: Luigi's sound driver...
Message-ID:  <Pine.NEB.3.96.980302163128.311A-100000@shadow.worldbank.org>
In-Reply-To: <A749CCA065B01A6B852565BB007552EB.00747C9A852565BB@worldbank.org>

next in thread | previous in thread | raw e-mail | index | archive | help

I should have provided more info.  This is on a Dell Workstation 400 with
two 300Mhz PIIs, and 246Mb of RAM.  My kernel config file follows the
quoted message...

Thx

On Mon, 2 Mar 1998 adhir@worldbank.org wrote:

> ...fails on -current supped/made as of March 2, 1998 @ 4pm.  Any programs
> that try to use sound lock up the entire syste, requiring a hard reset.
> 
> The driver was working fine on the same system made as of mid February.
> I'm guessing the latest VM changes (last couple of days) probably threw
> something out of whack.
> 
> Al
> 

#
# LINT -- config file for checking all the sources, tries to pull in
#	as much of the source tree as it can.
#
#	$Id: LINT,v 1.396 1998/01/26 06:33:48 julian Exp $
#
# NB: You probably don't want to try running a kernel built from this
# file.  Instead, you should start from GENERIC, and add options from
# this file as required.
#

#
# This directive is mandatory; it defines the architecture to be
# configured for; in this case, the 386 family based IBM-PC and
# compatibles.
#
machine		"i386"

# 
# This is the ``identification'' of the kernel.  Usually this should
# be the same as the name of your kernel.
#
ident		SHADOW

#
# The `maxusers' parameter controls the static sizing of a number of
# internal system tables by a complicated formula defined in param.c.
#
maxusers	64

#
# Certain applications can grow to be larger than the 128M limit
# that FreeBSD initially imposes.  Below are some options to
# allow that limit to grow to 256MB, and can be increased further
# with changing the parameters.  MAXDSIZ is the maximum that the
# limit can be set to, and the DFLDSIZ is the default value for
# the limit.  You might want to set the default lower than the
# max, and explicitly set the maximum with a shell command for processes
# that regularly exceed the limit like INND.
#
options		"MAXDSIZ=(256*1024*1024)"
options		"DFLDSIZ=(256*1024*1024)"

# When this is set, be extra conservative in various parts of the kernel
# and choose functionality over speed (on the widest variety of systems).
#options		FAILSAFE

# This allows you to actually store this configuration file into
# the kernel binary itself, where it may be later read by saying:
#    strings /kernel | grep ^___ | sed -e 's/^___//' > MYKERNEL
#
options         INCLUDE_CONFIG_FILE     # Include this file in kernel

#
# This directive defines a number of things:
#  - The compiled kernel is to be called `kernel'
#  - The root filesystem might be on partition wd0a
#  - Crash dumps will be written to wd0b, if possible.  Specifying the
#    dump device here is not recommended.  Use dumpon(8).
#
config		kernel	root on sd0 


#####################################################################
# SMP OPTIONS:
#
# SMP enables building of a Symmetric MultiProcessor Kernel.
# APIC_IO enables the use of the IO APIC for Symmetric I/O.
# NCPU sets the number of CPUs, defaults to 2.
# NBUS sets the number of busses, defaults to 4.
# NAPIC sets the number of IO APICs on the motherboard, defaults to 1.
# NINTR sets the total number of INTs provided by the motherboard.
#
# Notes:
#
#  An SMP kernel will ONLY run on an Intel MP spec. qualified motherboard.
#
#  Be sure to disable 'cpu "I386_CPU"' && 'cpu "I486_CPU"' for SMP kernels.
#
#  Check the 'Rogue SMP hardware' section to see if additional options
#   are required by your hardware.
#

# Mandatory:
options		SMP			# Symmetric MultiProcessor Kernel
options		APIC_IO			# Symmetric (APIC) I/O


# Optional (built-in defaults will work in most cases):
options                NCPU=2                  # number of CPUs
options                NBUS=3                  # number of busses
options                NAPIC=1                 # number of IO APICs
options                NINTR=37                # number of INTs

#
# Rogue SMP hardware:
#

# Bridged PCI cards:
#
# The MP tables of most of the current generation MP motherboards
#  do NOT properly support bridged PCI cards.  To use one of these
#  cards you should refer to ???


#####################################################################
# CPU OPTIONS

#
# You must specify at least one CPU (the one you intend to run on);
# deleting the specification for CPUs you don't need to use may make
# parts of the system run faster.  This is especially true removing
# I386_CPU.
#
#cpu		"I386_CPU"
#cpu		"I486_CPU"
cpu		"I586_CPU"		# aka Pentium(tm)
cpu		"I686_CPU"		# aka Pentium Pro(tm)

#
#
# NO_F00F_HACK disables the hack that prevents Pentiums (and ONLY
# Pentiums) from locking up when a LOCK CMPXCHG8B instruction is
# executed.  This should be included for ALL kernels that won't run
# on a Pentium.

options	"NO_F00F_HACK"

#
# A math emulator is mandatory if you wish to run on hardware which
# does not have a floating-point processor.  Pick either the original,
# bogus (but freely-distributable) math emulator, or a much more
# fully-featured but GPL-licensed emulator taken from Linux.
#
#options		MATH_EMULATE		#Support for x87 emulation
# Don't enable both of these in a real config.
#options		GPL_MATH_EMULATE	#Support for x87 emulation via
					#new math emulator 


#####################################################################
# COMPATIBILITY OPTIONS                                             

#
# Implement system calls compatible with 4.3BSD and older versions of
# FreeBSD.  You probably do NOT want to remove this as much current code
# still relies on the 4.3 emulation.
#
options		"COMPAT_43"

#
# Allow user-mode programs to manipulate their local descriptor tables.
# This option is required for the WINE Windows(tm) emulator, and is
# not used by anything else (that we know of).
#
options		USER_LDT		#allow user-level control of i386 ldt

#
# These three options provide support for System V Interface
# Definition-style interprocess communication, in the form of shared
# memory, semaphores, and message queues, respectively.
#
options		SYSVSHM
options		SYSVSEM
options		SYSVMSG

#
# This option includes a MD5 routine in the kernel, this is used for
# various authentication and privacy uses.
#
options		"MD5"

#
# Allow processes to switch to vm86 mode, as well as enabling direct
# user-mode access to the I/O port space.  This option is necessary for 
# the doscmd emulator to run.
#
options		"VM86"


#####################################################################
# DEBUGGING OPTIONS

#
# Enable the kernel debugger.
#
#options		DDB

#
# Don't drop into DDB for a panic. Intended for unattended operation
# where you may want to drop to DDB from the console, but still want
# the machine to recover from a panic
#
#options		DDB_UNATTENDED

#
# If using GDB remote mode to debug the kernel, there's a non-standard
# extension to the remote protocol that can be used to use the serial
# port as both the debugging port and the system console.  It's non-
# standard and you're on your own if you enable it.  See also the
# "remotechat" variables in the FreeBSD specific version of gdb.
#
#options		GDB_REMOTE_CHAT

# 
# KTRACE enables the system-call tracing facility ktrace(2).
#
options		KTRACE			#kernel tracing

#
# The DIAGNOSTIC option is used in a number of source files to enable
# extra sanity checking of internal structures.  This support is not
# enabled by default because of the extra time it would take to check
# for these conditions, which can only occur as a result of
# programming errors.
#
#options		DIAGNOSTIC

#
# PERFMON causes the driver for Pentium/Pentium Pro performance counters
# to be compiled.  See perfmon(4) for more information.
#
options		PERFMON

# XXX - this doesn't belong here.
# Allow ordinary users to take the console - this is useful for X.
options		UCONSOLE

# XXX - this doesn't belong here either
options		USERCONFIG		#boot -c editor
#options		USERCONFIG_BOOT		#imply -c and parse info area
options		VISUAL_USERCONFIG	#visual boot -c editor

#####################################################################
# NETWORKING OPTIONS

#
# Protocol families:
#  Only the INET (Internet) family is officially supported in FreeBSD.
#  Source code for the NS (Xerox Network Service) is provided for amusement
#  value.
#
options		INET			#Internet communications protocols

options		IPX			#IPX/SPX communications protocols
#options		IPXIP			#IPX in IP encapsulation (not available)
#options		IPTUNNEL		#IP in IPX encapsulation (not available)

#options		NETATALK		#Appletalk communications protocols


# Network interfaces:
#  The `loop' pseudo-device is MANDATORY when networking is enabled.
#  The `ether' pseudo-device provides generic code to handle
#  Ethernets; it is MANDATORY when a Ethernet device driver is
#  configured.
#  The 'fddi' pseudo-device provides generic code to support FDDI.
#  The `sppp' pseudo-device serves a similar role for certain types
#  of synchronous PPP links (like `cx', `ar').
#  The `sl' pseudo-device implements the Serial Line IP (SLIP) service.
#  The `ppp' pseudo-device implements the Point-to-Point Protocol.
#  The `bpfilter' pseudo-device enables the Berkeley Packet Filter.  Be
#  aware of the legal and administrative consequences of enabling this
#  option.  The number of devices determines the maximum number of
#  simultaneous BPF clients programs runnable.
#  The `disc' pseudo-device implements a minimal network interface,
#  which throws away all packets sent and never receives any.  It is
#  included for testing purposes.
#  The `tun' pseudo-device implements the User Process PPP (iijppp)
#
# The PPP_BSDCOMP option enables support for compress(1) style entire
# packet compression, the PPP_DEFLATE is for zlib/gzip style compression.
# PPP_FILTER enables code for filtering the ppp data stream and selecting
# events for resetting the demand dial activity timer - requires bpfilter.
# See pppd(8) for more details.
#
pseudo-device	ether			#Generic Ethernet
#pseudo-device	fddi			#Generic FDDI
pseudo-device	sppp			#Generic Synchronous PPP
pseudo-device	loop			#Network loopback device
pseudo-device	bpfilter	4	#Berkeley packet filter
pseudo-device	disc			#Discard device
#pseudo-device	tun	1		#Tunnel driver (user process ppp(8))
pseudo-device	sl	2		#Serial Line IP
pseudo-device	ppp	2		#Point-to-point protocol
options PPP_BSDCOMP			#PPP BSD-compress support
options PPP_DEFLATE			#PPP zlib/deflate/gzip support
options PPP_FILTER			#enable bpf filtering (needs bpfilter)

#
# Internet family options:
#
# TCP_COMPAT_42 causes the TCP code to emulate certain bugs present in
# 4.2BSD.  This option should not be used unless you have a 4.2BSD
# machine and TCP connections fail.
#
# MROUTING enables the kernel multicast packet forwarder, which works
# with mrouted(8).
#
# IPFIREWALL enables support for IP firewall construction, in
# conjunction with the `ipfw' program.  IPFIREWALL_VERBOSE sends
# logged packets to the system logger.  IPFIREWALL_VERBOSE_LIMIT
# limits the number of times a matching entry can be logged.
#
# WARNING:  IPFIREWALL defaults to a policy of "deny ip from any to any"
# and if you do not add other rules during startup to allow access,
# YOU WILL LOCK YOURSELF OUT.  It is suggested that you set firewall=open
# in /etc/rc.conf when first enabling this feature, then refining the
# firewall rules in /etc/rc.firewall after you've tested that the new kernel
# feature works properly.
#
# IPFIREWALL_DEFAULT_TO_ACCEPT causes the default rule (at boot) to
# allow everything.  Use with care, if a cracker can crash your
# firewall machine, they can get to your protected machines.  However,
# if you are using it as an as-needed filter for specific problems as
# they arise, then this may be for you.  Changing the default to 'allow'
# means that you won't get stuck if the kernel and /sbin/ipfw binary get
# out of sync.
#
# IPDIVERT enables the divert IP sockets, used by ``ipfw divert''
#
# TCPDEBUG is undocumented.
#
#options		"TCP_COMPAT_42"		#emulate 4.2BSD TCP bugs
#options		MROUTING		# Multicast routing
#options         IPFIREWALL              #firewall
#options         IPFIREWALL_VERBOSE      #print information about
					# dropped packets
#options		"IPFIREWALL_VERBOSE_LIMIT=100" #limit verbosity
#options		IPFIREWALL_DEFAULT_TO_ACCEPT #allow everything by default
#options		IPDIVERT		#divert sockets
#options		TCPDEBUG


#####################################################################
# FILESYSTEM OPTIONS

#
# Only the root, /usr, and /tmp filesystems need be statically
# compiled; everything else will be automatically loaded at mount
# time.  (Exception: the UFS family---FFS, MFS, and LFS---cannot
# currently be demand-loaded.)  Some people still prefer to statically
# compile other filesystems as well.
#
# NB: The LFS, PORTAL, and UNION filesystems are known to be buggy,
# and WILL panic your system if you attempt to do anything with them.
# They are included here as an incentive for some enterprising soul to
# sit down and fix them.
#

# One of these is mandatory:
options		FFS			#Fast filesystem
options		NFS			#Network File System

# The rest are optional:
# options	NFS_NOSERVER		#Disable the NFS-server code.
options		"CD9660"		#ISO 9660 filesystem
options		FDESC			#File descriptor filesystem
options		KERNFS			#Kernel filesystem
#options	LFS			#Log filesystem
options		MFS			#Memory File System
options		MSDOSFS			#MS DOS File System
#options		NULLFS			#NULL filesystem
#options		PORTAL			#Portal filesystem
options		PROCFS			#Process filesystem
#options		UMAPFS			#UID map filesystem
#options		UNION			#Union filesystem
options		"CD9660_ROOT"		#CD-ROM usable as root device
options		FFS_ROOT		#FFS usable as root device
#options	LFS_ROOT		#LFS usable as root device
options		NFS_ROOT		#NFS usable as root device
# This DEVFS is experimental but seems to work
#options		DEVFS			#devices filesystem

# Make space in the kernel for a MFS root filesystem.  Define to the number
# of kilobytes to reserve for the filesystem.
#options		MFS_ROOT=10
# Allow the MFS_ROOT code to load the MFS image from floppy if it is missing.
#options		MFS_AUTOLOAD

# Allow this many swap-devices.
options		NSWAPDEV=5

# Disk quotas are supported when this option is enabled.  If you
# change the value of this option, you must do a `make clean' in your
# kernel compile directory in order to get a working kernel.
#
#options		QUOTA			#enable disk quotas

# Add more checking code to various filesystems
#options		NULLFS_DIAGNOSTIC
#options		KERNFS_DIAGNOSTIC
#options		UMAPFS_DIAGNOSTIC
#options		UNION_DIAGNOSTIC

# In particular multi-session CD-Rs might require a huge amount of
# time in order to "settle".  If we are about mounting them as the
# root f/s, we gotta wait a little.
#
# The number is supposed to be in seconds.
#options		"CD9660_ROOTDELAY=20"

# Add some error checking code to the null_bypass routine
# in the NULL filesystem
##options		SAFETY


#####################################################################
# SCSI DEVICES

# SCSI DEVICE CONFIGURATION

# The SCSI subsystem consists of the `base' SCSI code, a number of
# high-level SCSI device `type' drivers, and the low-level host-adapter
# device drivers.  The host adapters are listed in the ISA and PCI
# device configuration sections below.
#
# Beginning with FreeBSD 2.0.5 you can wire down your SCSI devices so
# that a given bus, target, and LUN always come on line as the same
# device unit.  In earlier versions the unit numbers were assigned
# in the order that the devices were probed on the SCSI bus.  This
# means that if you removed a disk drive, you may have had to rewrite
# your /etc/fstab file, and also that you had to be careful when adding
# a new disk as it may have been probed earlier and moved your device
# configuration around.

# This old behavior is maintained as the default behavior.  The unit
# assignment begins with the first non-wired down unit for a device
# type.  For example, if you wire a disk as "sd3" then the first
# non-wired disk will be assigned sd4.

# The syntax for wiring down devices is:

# controller	scbus0 at ahc0		# Single bus device
# controller	scbus1 at ahc1 bus 0	# Single bus device
# controller	scbus3 at ahc2 bus 0	# Twin bus device
# controller	scbus2 at ahc2 bus 1	# Twin bus device
# disk 		sd0 at scbus0 target 0 unit 0
# disk		sd1 at scbus3 target 1
# disk		sd2 at scbus2 target 3
# tape		st1 at scbus1 target 6
# device	cd0 at scbus?

# "units" (SCSI logical unit number) that are not specified are
# treated as if specified as LUN 0.

# All SCSI devices allocate as many units as are required.

# The "unknown" device (uk? in pre-2.0.5) is now part of the base SCSI
# configuration and doesn't have to be explicitly configured.

controller	scbus0	#base SCSI code
device		ch0	#SCSI media changers
device		sd0	#SCSI disks
device		st0	#SCSI tapes
device		cd0	#SCSI CD-ROMs
device		od0	#SCSI optical disk

# The previous devices (ch, sd, st, cd) are recognized by config.
# config doesn't (and shouldn't) know about these newer ones,
# so we have to specify that they are on a SCSI bus with the "at scbus?"
# clause.

device worm0 at scbus?	# SCSI worm
#device pt0 at scbus?	# SCSI processor type
#device sctarg0 at scbus? # SCSI target

# SCSI OPTIONS:

# SCSIDEBUG: When defined enables debugging macros
# NO_SCSI_SENSE: When defined disables sense descriptions (about 4k)
# SCSI_REPORT_GEOMETRY: Always report disk geometry at boot up instead
#                       of only when booting verbosely.
#options		SCSIDEBUG
#options	NO_SCSI_SENSE
options		SCSI_REPORT_GEOMETRY

# Options for the `od' optical disk driver:
#
# If drive returns sense key as 0x02 with vendor specific additional
# sense code (ASC) and additional sense code qualifier (ASCQ), or
# illegal ASC and ASCQ. This cause an error (NOT READY) and retrying.
# To suppress this, use the following option.
#
#options		OD_BOGUS_NOT_READY
#
# For an automatic spindown, try this.  Again, preferably as an
# option in your config file.
# WARNING!  Use at your own risk.  Joerg's ancient SONY SMO drive
# groks it fine, while Shunsuke's Fujitsu chokes on it and times
# out.
#
#options		OD_AUTO_TURNOFF



#####################################################################
# MISCELLANEOUS DEVICES AND OPTIONS

# The `pty' device usually turns out to be ``effectively mandatory'',
# as it is required for `telnetd', `rlogind', `screen', `emacs', and
# `xterm', among others.

pseudo-device	pty	64	#Pseudo ttys - can go as high as 256
pseudo-device	speaker		#Play IBM BASIC-style noises out your speaker
pseudo-device	gzip		#Exec gzipped a.out's
pseudo-device	vn		#Vnode driver (turns a file into a device)
pseudo-device	snp	3	#Snoop device - to look at pty/vty/etc..
pseudo-device	ccd	4	#Concatenated disk driver

# These are only for watching for bitrot in old tty code.
# broken
#pseudo-device	tb

# These are only for watching for bitrot in old SCSI code.
#pseudo-device	su		#scsi user
#pseudo-device	ssc		#super scsi


#####################################################################
# HARDWARE DEVICE CONFIGURATION

# ISA and EISA devices:
# EISA support is available for some device, so they can be auto-probed.
# Micro Channel is not supported at all.

#
# Mandatory ISA devices: isa, npx
#
controller	isa0

#
# Options for `isa':
#
# AUTO_EOI_1 enables the `automatic EOI' feature for the master 8259A
# interrupt controller.  This saves about 0.7-1.25 usec for each interrupt.
# This option breaks suspend/resume on some portables.
#
# AUTO_EOI_2 enables the `automatic EOI' feature for the slave 8259A
# interrupt controller.  This saves about 0.7-1.25 usec for each interrupt.
# Automatic EOI is documented not to work for for the slave with the
# original i8259A, but it works for some clones and some integrated
# versions.
#
# BOUNCE_BUFFERS provides support for ISA DMA on machines with more
# than 16 megabytes of memory.  It doesn't hurt on other machines.
# Some broken EISA and VLB hardware may need this, too.
#
# MAXMEM specifies the amount of RAM on the machine; if this is not
# specified, FreeBSD will first read the amount of memory from the CMOS
# RAM, so the amount of memory will initially be limited to 64MB or 16MB
# depending on the BIOS.  If the BIOS reports 64MB, a memory probe will
# then attempt to detect the installed amount of RAM.  If this probe
# fails to detect >64MB RAM you will have to use the MAXMEM option.
# The amount is in kilobytes, so for a machine with 128MB of RAM, it would
# be 131072 (128 * 1024).
#
# TUNE_1542 enables the automatic ISA bus speed selection for the
# Adaptec 1542 boards. Does not work for all boards, use it with caution.
#
# BROKEN_KEYBOARD_RESET disables the use of the keyboard controller to
# reset the CPU for reboot.  This is needed on some systems with broken
# keyboard controllers.
#
# PAS_JOYSTICK_ENABLE enables the gameport on the ProAudio Spectrum

options		"AUTO_EOI_1"
#options	"AUTO_EOI_2"
options		BOUNCE_BUFFERS
#options		"MAXMEM=(128*1024)"
#options        "TUNE_1542"
#options	BROKEN_KEYBOARD_RESET
#options	PAS_JOYSTICK_ENABLE

# Enable support for the kernel PLL to use an external PPS signal,
# under supervision of [x]ntpd(8)
# More info in ftp://ftp.udel.edu/pub/ntp/kernel.tar.Z

#options		PPS_SYNC

# Enable PnP support in the kernel.  This allows you to automaticly
# attach to PnP cards for drivers that support it and allows you to
# configure cards from USERCONFIG.  See pnp(4) for more info.
controller	pnp0

# The syscons console driver (sco color console compatible) - default.
device		sc0	at isa? port "IO_KBD" tty irq 1 vector scintr
options		MAXCONS=12		# number of virtual consoles
#options		SLOW_VGA		# do byte-wide i/o's to TS and GDC regs
#options		"STD8X16FONT"		# Compile font in
#makeoptions	"STD8X16FONT"="cp850"
options		SC_HISTORY_SIZE=500	# number of history buffer lines

#
# `flags' for sc0:
#       0x01    Use a 'visual' bell
#       0x02    Use a 'blink' cursor
#       0x04    Use a 'underline' cursor
#       0x06    Use a 'blinking underline' (destructive) cursor
#       0x08    Force detection of keyboard, else we always assume a keyboard
#       0x10    Old-style (XT) keyboard support, useful for older ThinkPads
#       0x20    Don't reset keyboard, useful for some newer ThinkPads

#
# The Numeric Processing eXtension driver.  This should be configured if
# your machine has a math co-processor, unless the coprocessor is very
# buggy. If it is not configured then you *must* configure math emulation
# (see above).  If both npx0 and emulation are configured, then only npx0
# is used (provided it works).
device		npx0	at isa? port "IO_NPX" iosiz 0x0 flags 0x0 irq 13 vector npxintr

#
# `flags' for npx0:
#	0x01	don't use the npx registers to optimize bcopy
#	0x02	don't use the npx registers to optimize bzero
#	0x04	don't use the npx registers to optimize copyin or copyout.
# The npx registers are normally used to optimize copying and zeroing when
# all of the following conditions are satisfied:
#	"I586_CPU" is an option
#	the cpu is an i586 (perhaps not a Pentium)
#	the probe for npx0 succeeds
#	INT 16 exception handling works.
# Then copying and zeroing using the npx registers is normally 30-100% faster.
# The flags can be used to control cases where it doesn't work or is slower.
# Setting them at boot time using userconfig works right (the optimizations
# are not used until later in the bootstrap when npx0 is attached).
#

#
# `iosiz' for npx0:
# This can be used instead of the MAXMEM option to set the memory size.  If
# it is nonzero, then it overrides both the MAXMEM option and the memory
# size reported by the BIOS.  Setting it at boot time using userconfig takes
# effect on the next reboot after the change has been recorded in the kernel
# binary (the size is used early in the boot before userconfig has a chance
# to change it).
#

#
# Optional ISA and EISA devices:
#

#
# SCSI host adapters: `aha', `aic', `bt', `nca'
#
# aha: Adaptec 154x
# ahc: Adaptec 274x/284x/294x
# aic: Adaptec 152x and sound cards using the Adaptec AIC-6360 (slow!)
# bt: Most Buslogic controllers
# nca: ProAudioSpectrum cards using the NCR 5380 or Trantor T130
# uha: UltraStore 14F and 34F
# sea: Seagate ST01/02 8 bit controller (slow!)
# wds: Western Digital WD7000 controller (no scatter/gather!).
#
# Note that the order is important in order for Buslogic cards to be
# probed correctly.
#

controller      aic0    at isa? port 0x340 bio irq 11 vector aicintr

# ST-506, ESDI, and IDE hard disks: `wdc' and `wd'
#
# The flags fields are used to enable the multi-sector I/O and
# the 32BIT I/O modes.  The flags may be used in either the controller
# definition or in the individual disk definitions.  The controller
# definition is supported for the boot configuration stuff.
#
# Each drive has a 16 bit flags value defined:
#	The low 8 bits are the maximum value for the multi-sector I/O,
#	where 0xff defaults to the maximum that the drive can handle.
#	The high bit of the 16 bit flags (0x8000) allows probing for
#	32 bit transfers.  Bit 14 (0x4000) enables a hack to wake
#	up powered-down laptop drives.  Bit 13 (0x2000) allows
#	probing for PCI IDE DMA controllers, such as Intel's PIIX
#	south bridges.  See the wd.4 man page.
#
# The flags field for the drives can be specified in the controller
# specification with the low 16 bits for drive 0, and the high 16 bits
# for drive 1.
# e.g.:
#controller	wdc0	at isa? port "IO_WD1" bio irq 14 flags 0x00ff8004 vector wdintr
#
# specifies that drive 0 will be allowed to probe for 32 bit transfers and
# a maximum multi-sector transfer of 4 sectors, and drive 1 will not be
# allowed to probe for 32 bit transfers, but will allow multi-sector
# transfers up to the maximum that the drive supports.
#
# If you are using a PCI controller that is not running in compatibility
# mode (for example, it is a 2nd IDE PCI interface), then use config line(s)
# such as:
#
#controller	wdc2	at isa? port "0" bio irq ? flags 0xa0ffa0ff vector wdintr
#disk		wd4	at wdc2 drive 0
#disk		wd5	at wdc2 drive 1
#
#controller	wdc3	at isa? port "0" bio irq ? flags 0xa0ffa0ff vector wdintr
#disk		wd6	at wdc3 drive 0
#disk		wd7	at wdc3 drive 1
#
# Note that the above config would be useful for a Promise card, when used
# on a MB that already has a PIIX controller.  Note the bogus irq and port
# entries.  These are automatically filled in by the IDE/PCI support.
#

controller	wdc0	at isa? port "IO_WD1" bio irq 14 vector wdintr
disk		wd0	at wdc0 drive 0
disk		wd1	at wdc0 drive 1
controller	wdc1	at isa? port "IO_WD2" bio irq 15 vector wdintr
disk		wd2	at wdc1 drive 0
disk		wd3	at wdc1 drive 1

#
# Options for `wdc':
#
# CMD640 enables serializing access to primary and secondary channel
# of the CMD640B IDE Chip. The serializing will only take place
# if this option is set *and* the chip is probed by the pci-system.
#
#options         "CMD640"	#Enable work around for CMD640 h/w bug
#
# ATAPI enables the support for ATAPI-compatible IDE devices
#
options         ATAPI   #Enable ATAPI support for IDE bus
options		ATAPI_STATIC	#Don't do it as an LKM

# IDE CD-ROM driver - requires wdc controller and ATAPI option
device          wcd0

# IDE floppy driver - requires wdc controller and ATAPI option
#device          wfd0


#
# Standard floppy disk controllers and floppy tapes: `fdc', `fd', and `ft'
#
controller	fdc0	at isa? port "IO_FD1" bio irq 6 drq 2 vector fdintr
#
# FDC_DEBUG enables floppy debugging.  Since the debug output is huge, you
# gotta turn it actually on by setting the variable fd_debug with DDB,
# however.
#options		FDC_DEBUG
# This option is undocumented on purpose.
#options		FDC_PRINT_BOGUS_CHIPTYPE
#
# Activate this line instead of the fdc0 line above if you happen to
# have an Insight floppy tape.  Probing them proved to be dangerous
# for people with floppy disks only, so it's "hidden" behind a flag:
#controller fdc0 at isa? port "IO_FD1" bio flags 1 irq 6 drq 2 vector fdintr

disk		fd0	at fdc0 drive 0
#disk		fd1	at fdc0 drive 1
#tape		ft0	at fdc0 drive 2


#
# Other standard PC hardware: `lpt', `mse', `psm', `sio', etc.
#
# lpt: printer port
#	lpt specials:
#		port can be specified as ?, this will cause the driver to scan
#		the BIOS port list;
#		the irq and vector clauses may be omitted, this
#		will force the port into polling mode.
# mse: Logitech and ATI InPort bus mouse ports
# psm: PS/2 mouse port [note: conflicts with sc0/vt0, thus "conflicts" keywd]
# sio: serial ports (see sio(4))

device		lpt0	at isa? port? tty irq 7 vector lptintr
#device		lpt1	at isa? port "IO_LPT3" tty irq 5 vector lptintr
#device		mse0	at isa? port 0x23c tty irq 5 vector mseintr
device		psm0	at isa? port "IO_KBD" conflicts tty irq 12 vector psmintr

#
# `flags' for psm:
#	0x000R	set resolution to R (1..4). Some MouseSystems PS/2 mice
#		require this value to be 4.
#	0x00N0	set accelaration factor to N (1..15).
#	0x0100	disable synchronization check. This replaces the option
#		PSM_CHECKSYNC in previous versions.
#

# Options for psm:
##options		PSM_HOOKAPM		#hook the APM resume event, useful
					#for some laptops
#options		PSM_RESETAFTERSUSPEND	#reset the device at the resume event

device		sio0	at isa? port "IO_COM1" tty flags 0x10 irq 4 vector siointr
device		sio1	at isa? port "IO_COM2" tty flags 0x10 irq 3 vector siointr
#device		sio2	at isa? port "IO_COM3" tty flags 0x10 irq 4 vector siointr 

#
# `flags' for serial drivers that support consoles (only for sio now):
#	0x10	enable console support for this unit.  The other console flags
#		are ignored unless this is set.  Enabling console support does
#		not make the unit the preferred console - boot with -h or set
#		the 0x20 flag for that.  Currently, at most one unit can have
#		console support; the first one (in config file order) with
#		this flag set is preferred.  Setting this flag for sio0 gives
#		the old behaviour.
#	0x20	force this unit to be the console (unless there is another
#		higher priority console).  This replaces the COMCONSOLE option.
#	0x40	reserve this unit for low level console operations.  Do not
#
# PnP `flags' (set via userconfig using pnp x flags y)
#	0x1	disable probing of this device.  Used to prevent your modem
#		from being attached as a PnP modem.
#

# Options for serial drivers that support consoles (only for sio now):
#options		BREAK_TO_DEBUGGER	#a BREAK on a comconsole goes to 
					#DDB, if available.
#options		CONSPEED=9600		#default speed for serial console (default 9600)

# Options for sio:
#options		COM_ESP			#code for Hayes ESP
#options		COM_MULTIPORT		#code for some cards with shared IRQs
#options		DSI_SOFT_MODEM		#code for DSI Softmodems
#options		"EXTRA_SIO=2"		#number of extra sio ports to allocate

# Other flags for sio that aren't documented in the man page.
#	0x20000	enable hardware RTS/CTS and larger FIFOs.  Only works for
#		ST16650A-compatible UARTs.


#
# Audio drivers: `snd', `sb', `pas', `gus', `pca'
#
# snd: Voxware sound support code
# sb: SoundBlaster PCM - SoundBlaster, SB Pro, SB16, ProAudioSpectrum
# css: Crystal Sound System (CSS 423x PnP)
# opl: Yamaha OPL-2 and OPL-3 FM - SB, SB Pro, SB 16, ProAudioSpectrum
# uart: stand-alone 6850 UART for MIDI
# mpu: Roland MPU-401 stand-alone card
# 
# Beware!  The addresses specified below are also hard-coded in
# i386/isa/sound/sound_config.h.  If you change the values here, you
# must also change the values in the include file.
#
# pcm: PCM audio through various sound cards.
#
# This is the work in progress from Luigi Rizzo.  This has support for
# CS423x based cards, OPTi931, SB16 PnP, GusPnP.  For more information
# about this driver, take a look at sys/i386/isa/snd/README.
#
# The flags of the device tells the device a bit more info about the
# device that normally is obtained through the PnP interface.
#	bit  2..0   secondary DMA channel;
#	bit  4      set if the board uses two dma channels;
#	bit 15..8   board type, overrides autodetection; leave it
#		    zero if don't know what to put in (and you don't,
#		    since this is unsupported at the moment...).
#
# This driver will use the new PnP code if it's available.
#
# pca: PCM audio through your PC speaker
#
# The i386/isa/sound/sound.doc has more information.

# Controls all sound devices
#controller	snd0
#device sb0      at isa? port 0x220 irq 5 drq 1 vector sbintr
#device css0	at isa? port 0x534 irq 5 drq 1 flags 0x08 vector adintr
#device opl0     at isa? port 0x388
#device mpu0     at isa? port 0x330 #irq 6 drq 0
#device uart0 at isa? port 0x330 irq 5 vector "m6850intr"

# Luigi's snd code
device pcm0 at isa ? port? tty irq 7 drq 1 vector pcmintr

# Not controlled by `snd'
device pca0 at isa? port IO_TIMER1 tty

#
# Miscellaneous hardware:
#
# bktr: Bt848 capture boards (http://www.freebsd.org/~fsmp/HomeAuto/Bt848.html)

#device		qcam0	at isa? port "IO_LPT1" tty


# enable tagged command queuing, which is a major performance win on
# devices that support it (and controllers with enough SCB's)
options	AHC_TAGENABLE

# enable SCB paging - See the ahc.4 man page
options	AHC_SCBPAGING_ENABLE

# The aic7xxx driver will attempt to use memory mapped I/O for all PCI
# controllers that have it configured only if this option is set. Unfortunately,
# this doesn't work on some motherboards, which prevents it from being the
# default.
options AHC_ALLOW_MEMIO


# PCI devices:
#
# The main PCI bus device is `pci'.  It provides auto-detection and
# configuration support for all devices on the PCI bus, using either
# configuration mode defined in the PCI specification.
#
# The `ahc' device provides support for the Adaptec 29/3940(U)(W)
# and motherboard based AIC7870/AIC7880 adapters.
#
# The `ncr' device provides support for the NCR 53C810 and 53C825
# self-contained SCSI host adapters.
#
# The `amd' device provides support for the Tekram DC-390 and 390T
# SCSI host adapters, but is expected to work with any AMD 53c974
# PCI SCSI chip and the AMD Ethernet+SCSI Combo chip, after some
# local patches were applied to the sources (that had originally
# been written by Tekram and limited to work with their SCSI cards).
#
# The `de' device provides support for the Digital Equipment DC21040
# self-contained Ethernet adapter.
#
# The `fxp' device provides support for the Intel EtherExpress Pro/100B
# PCI Fast Ethernet adapters.
#
# The `tx' device provides support for the SMC 9432TX cards.
#
# The `vx' device provides support for the 3Com 3C590 and 3C595
# early support
#
# The `fpa' device provides support for the Digital DEFPA PCI FDDI
# adapter. pseudo-device fddi is also needed.
#
# The `meteor' device is a PCI video capture board. It can also have the
# following options:
#   options METEOR_ALLOC_PAGES=xxx	preallocate kernel pages for data entry
#	figure (ROWS*COLUMN*BYTES_PER_PIXEL*FRAME+PAGE_SIZE-1)/PAGE_SIZE
#   options METEOR_DEALLOC_PAGES	remove all allocated pages on close(2)
#   options METEOR_DEALLOC_ABOVE=xxx	remove all allocated pages above the
#	specified amount. If this value is below the allocated amount no action
#	taken
#   option METEOR_SYSTEM_DEFAULT={METEOR_PAL|METEOR_NTSC|METEOR_SECAM}, used
#	for initialization of fps routine when a signal is not present.
#
# The 'bktr' device is a PCI video capture board. It also has a TV tuner
# on board.
#
controller	pci0
controller	ahc0
device		de0
device		fxp0
device		vx0
#device		bktr0


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.NEB.3.96.980302163128.311A-100000>