NOTES revision 112840
1#
2# NOTES -- Lines that can be cut/pasted into kernel and hints configs.
3#
4# This file contains machine dependent kernel configuration notes.  For
5# machine independent notes, look in /sys/conf/NOTES.
6#
7# $FreeBSD: head/sys/pc98/conf/NOTES 112840 2003-03-30 05:06:15Z mdodd $
8#
9
10#
11# This directive is mandatory; it defines the architecture to be
12# configured for; in this case, the 386 family based PC-98 and
13# compatibles.
14#
15machine		pc98
16options 	PC98
17
18# 
19# We want LINT to cover profiling as well
20profile         2
21
22
23#####################################################################
24# SMP OPTIONS:
25#
26# APIC_IO enables the use of the IO APIC for Symmetric I/O.
27#
28# Notes:
29#
30#  An SMP kernel will ONLY run on an Intel MP spec. qualified motherboard.
31#
32#  Be sure to disable 'cpu I386_CPU' && 'cpu I486_CPU' for SMP kernels.
33#
34#  Check the 'Rogue SMP hardware' section to see if additional options
35#   are required by your hardware.
36#
37
38# Mandatory:
39options 	APIC_IO			# Symmetric (APIC) I/O
40
41#
42# Rogue SMP hardware:
43#
44
45# Bridged PCI cards:
46#
47# The MP tables of most of the current generation MP motherboards
48#  do NOT properly support bridged PCI cards.  To use one of these
49#  cards you should refer to ???
50
51
52#####################################################################
53# CPU OPTIONS
54
55#
56# You must specify at least one CPU (the one you intend to run on);
57# deleting the specification for CPUs you don't need to use may make
58# parts of the system run faster.
59# I386_CPU is mutually exclusive with the other CPU types.
60#
61#cpu		I386_CPU		
62cpu		I486_CPU
63cpu		I586_CPU		# aka Pentium(tm)
64cpu		I686_CPU		# aka Pentium Pro(tm)
65
66#
67# Options for CPU features.
68#
69# CPU_ATHLON_SSE_HACK tries to enable SSE instructions when the BIOS has
70# forgotten to enable them.
71#
72# CPU_BLUELIGHTNING_FPU_OP_CACHE enables FPU operand cache on IBM
73# BlueLightning CPU.  It works only with Cyrix FPU, and this option
74# should not be used with Intel FPU.
75#
76# CPU_BLUELIGHTNING_3X enables triple-clock mode on IBM Blue Lightning
77# CPU if CPU supports it. The default is double-clock mode on
78# BlueLightning CPU box.
79#
80# CPU_BTB_EN enables branch target buffer on Cyrix 5x86 (NOTE 1).
81#
82# CPU_DIRECT_MAPPED_CACHE sets L1 cache of Cyrix 486DLC CPU in direct
83# mapped mode.  Default is 2-way set associative mode.
84#
85# CPU_CYRIX_NO_LOCK enables weak locking for the entire address space
86# of Cyrix 6x86 and 6x86MX CPUs by setting the NO_LOCK bit of CCR1.
87# Otherwise, the NO_LOCK bit of CCR1 is cleared.  (NOTE 3)
88#
89# CPU_DISABLE_5X86_LSSER disables load store serialize (i.e. enables
90# reorder).  This option should not be used if you use memory mapped
91# I/O device(s).
92#
93# CPU_ENABLE_SSE enables SSE/MMX2 instructions support.  This is default
94# on I686_CPU and above.
95# CPU_DISABLE_SSE explicitly prevent I686_CPU from turning on SSE.
96#
97# CPU_FASTER_5X86_FPU enables faster FPU exception handler.
98#
99# CPU_I486_ON_386 enables CPU cache on i486 based CPU upgrade products
100# for i386 machines.
101#
102# CPU_IORT defines I/O clock delay time (NOTE 1).  Default values of
103# I/O clock delay time on Cyrix 5x86 and 6x86 are 0 and 7,respectively
104# (no clock delay).
105#
106# CPU_L2_LATENCY specifed the L2 cache latency value.  This option is used
107# only when CPU_PPRO2CELERON is defined and Mendocino Celeron is detected.
108# The default value is 5.
109#
110# CPU_LOOP_EN prevents flushing the prefetch buffer if the destination
111# of a jump is already present in the prefetch buffer on Cyrix 5x86(NOTE
112# 1).
113#
114# CPU_PPRO2CELERON enables L2 cache of Mendocino Celeron CPUs.  This option
115# is useful when you use Socket 8 to Socket 370 converter, because most Pentium
116# Pro BIOSs do not enable L2 cache of Mendocino Celeron CPUs.
117#
118# CPU_RSTK_EN enables return stack on Cyrix 5x86 (NOTE 1).
119#
120# CPU_SUSP_HLT enables suspend on HALT.  If this option is set, CPU
121# enters suspend mode following execution of HALT instruction.
122#
123# CPU_UPGRADE_HW_CACHE eliminates unneeded cache flush instruction(s).
124#
125# CPU_WT_ALLOC enables write allocation on Cyrix 6x86/6x86MX and AMD
126# K5/K6/K6-2 cpus.
127#
128# CYRIX_CACHE_WORKS enables CPU cache on Cyrix 486 CPUs with cache
129# flush at hold state.
130#
131# CYRIX_CACHE_REALLY_WORKS enables (1) CPU cache on Cyrix 486 CPUs
132# without cache flush at hold state, and (2) write-back CPU cache on
133# Cyrix 6x86 whose revision < 2.7 (NOTE 2).
134#
135# NO_F00F_HACK disables the hack that prevents Pentiums (and ONLY
136# Pentiums) from locking up when a LOCK CMPXCHG8B instruction is
137# executed.  This option is only needed if I586_CPU is also defined,
138# and should be included for any non-Pentium CPU that defines it.
139#
140# NO_MEMORY_HOLE is an optimisation for systems with AMD K6 processors
141# which indicates that the 15-16MB range is *definitely* not being
142# occupied by an ISA memory hole.
143#
144# CPU_DISABLE_CMPXCHG disables the CMPXCHG instruction on > i386 IA32 
145# machines.  VmWare seems to emulate this instruction poorly, causing 
146# the guest OS to run very slowly.  Enabling this with a SMP kernel
147# will cause the kernel to be unusable.
148#
149# NOTE 1: The options, CPU_BTB_EN, CPU_LOOP_EN, CPU_IORT,
150# CPU_LOOP_EN and CPU_RSTK_EN should not be used because of CPU bugs.
151# These options may crash your system.
152#
153# NOTE 2: If CYRIX_CACHE_REALLY_WORKS is not set, CPU cache is enabled
154# in write-through mode when revision < 2.7.  If revision of Cyrix
155# 6x86 >= 2.7, CPU cache is always enabled in write-back mode.
156#
157# NOTE 3: This option may cause failures for software that requires
158# locked cycles in order to operate correctly.
159#
160options 	CPU_ATHLON_SSE_HACK
161options 	CPU_BLUELIGHTNING_FPU_OP_CACHE
162options 	CPU_BLUELIGHTNING_3X
163options 	CPU_BTB_EN
164options 	CPU_DIRECT_MAPPED_CACHE
165options 	CPU_DISABLE_5X86_LSSER
166options 	CPU_ENABLE_SSE
167#options 	CPU_DISABLE_SSE
168options 	CPU_FASTER_5X86_FPU
169options 	CPU_I486_ON_386
170options 	CPU_IORT
171options 	CPU_L2_LATENCY=5
172options 	CPU_LOOP_EN
173options 	CPU_PPRO2CELERON
174options 	CPU_RSTK_EN
175options 	CPU_SUSP_HLT
176options 	CPU_UPGRADE_HW_CACHE
177options 	CPU_WT_ALLOC
178options 	CYRIX_CACHE_WORKS
179options 	CYRIX_CACHE_REALLY_WORKS
180#options 	NO_F00F_HACK
181options 	CPU_DISABLE_CMPXCHG
182
183#
184# A math emulator is mandatory if you wish to run on hardware which
185# does not have a floating-point processor.  Pick either the original,
186# bogus (but freely-distributable) math emulator, or a much more
187# fully-featured but GPL-licensed emulator taken from Linux.
188#
189options 	MATH_EMULATE		#Support for x87 emulation
190# Don't enable both of these in a real config.
191options 	GPL_MATH_EMULATE	#Support for x87 emulation via
192
193# Debug options
194options 	NPX_DEBUG	# enable npx debugging (FPU/math emu)
195					#new math emulator
196
197#
198# PERFMON causes the driver for Pentium/Pentium Pro performance counters
199# to be compiled.  See perfmon(4) for more information.
200#
201options 	PERFMON
202
203
204#####################################################################
205# NETWORKING OPTIONS
206
207#
208# DEVICE_POLLING adds support for mixed interrupt-polling handling
209# of network device drivers, which has significant benefits in terms
210# of robustness to overloads and responsivity, as well as permitting
211# accurate scheduling of the CPU time between kernel network processing
212# and other activities. The drawback is a moderate (up to 1/HZ seconds)
213# potential increase in response times.
214# It is strongly recommended to use HZ=1000 or 2000 with DEVICE_POLLING
215# to achieve smoother behaviour.
216# Additionally, you can enable/disable polling at runtime with the
217# sysctl variable kern.polling.enable (defaults off), and select
218# the CPU fraction reserved to userland with the sysctl variable
219# kern.polling.user_frac (default 50, range 0..100).
220#
221# Only the "dc" "fxp" and "sis" devices support this mode of operation at
222# the time of this writing.
223
224options 	DEVICE_POLLING
225
226
227#####################################################################
228# CLOCK OPTIONS
229
230# The following options are used for debugging clock behavior only, and
231# should not be used for production systems.
232#
233# CLK_CALIBRATION_LOOP will run the clock calibration loop at startup
234# until the user presses a key.
235
236options 	CLK_CALIBRATION_LOOP
237
238# The following two options measure the frequency of the corresponding
239# clock relative to the RTC (onboard mc146818a).
240
241options 	CLK_USE_I8254_CALIBRATION
242options 	CLK_USE_TSC_CALIBRATION
243
244
245#####################################################################
246# MISCELLANEOUS DEVICES AND OPTIONS
247
248device		speaker		#Play IBM BASIC-style noises out your speaker
249hint.speaker.0.at="isa"
250hint.speaker.0.port="0x35"
251device		gzip		#Exec gzipped a.out's. REQUIRES COMPAT_AOUT!
252device		apm_saver	# Requires APM
253
254
255#####################################################################
256# HARDWARE BUS CONFIGURATION
257
258#
259# ISA bus
260#
261device		isa
262
263#
264# Options for `isa':
265#
266# AUTO_EOI_1 enables the `automatic EOI' feature for the master 8259A
267# interrupt controller.  This saves about 0.7-1.25 usec for each interrupt.
268# This option breaks suspend/resume on some portables.
269#
270# AUTO_EOI_2 enables the `automatic EOI' feature for the slave 8259A
271# interrupt controller.  This saves about 0.7-1.25 usec for each interrupt.
272# Automatic EOI is documented not to work for for the slave with the
273# original i8259A, but it works for some clones and some integrated
274# versions.
275#
276# MAXMEM specifies the amount of RAM on the machine; if this is not
277# specified, FreeBSD will first read the amount of memory from the CMOS
278# RAM, so the amount of memory will initially be limited to 64MB or 16MB
279# depending on the BIOS.  If the BIOS reports 64MB, a memory probe will
280# then attempt to detect the installed amount of RAM.  If this probe
281# fails to detect >64MB RAM you will have to use the MAXMEM option.
282# The amount is in kilobytes, so for a machine with 128MB of RAM, it would
283# be 131072 (128 * 1024).
284#
285# BROKEN_KEYBOARD_RESET disables the use of the keyboard controller to
286# reset the CPU for reboot.  This is needed on some systems with broken
287# keyboard controllers.
288
289options 	COMPAT_OLDISA	#Use ISA shims and glue for old drivers
290options 	AUTO_EOI_1
291#options 	AUTO_EOI_2
292
293options 	MAXMEM=(128*1024)
294#options 	BROKEN_KEYBOARD_RESET
295options 	EPSON_BOUNCEDMA
296options 	EPSON_MEMWIN
297
298#
299# PCI bus & PCI options:
300#
301device		pci
302
303#
304# AGP GART support
305device		agp
306
307
308#####################################################################
309# HARDWARE DEVICE CONFIGURATION
310
311#
312# Mandatory devices:
313#
314
315# PC98 keyboard
316device		pckbd
317hint.pckbd.0.at="isa"
318hint.pckbd.0.port="0x041"
319hint.pckbd.0.irq="1"
320
321# These options are valid for other keyboard drivers as well.
322options 	KBD_DISABLE_KEYMAP_LOAD	# refuse to load a keymap
323options 	KBD_INSTALL_CDEV	# install a CDEV entry in /dev
324
325# GDC screen
326device		gdc
327hint.gdc.0.at="isa"
328options 	LINE30
329
330#
331# The Numeric Processing eXtension driver.  In addition to this, you
332# may configure a math emulator (see above).  If your machine has a
333# hardware FPU and the kernel configuration includes the npx device
334# *and* a math emulator compiled into the kernel, the hardware FPU
335# will be used, unless it is found to be broken or unless "flags" to
336# npx0 includes "0x08", which requests preference for the emulator.
337device		npx
338
339#
340# `flags' for npx0:
341#	0x01	don't use the npx registers to optimize bcopy.
342#	0x02	don't use the npx registers to optimize bzero.
343#	0x04	don't use the npx registers to optimize copyin or copyout.
344#	0x08	use emulator even if hardware FPU is available.
345# The npx registers are normally used to optimize copying and zeroing when
346# all of the following conditions are satisfied:
347#	I586_CPU is an option
348#	the cpu is an i586 (perhaps not a Pentium)
349#	the probe for npx0 succeeds
350#	INT 16 exception handling works.
351# Then copying and zeroing using the npx registers is normally 30-100% faster.
352# The flags can be used to control cases where it doesn't work or is slower.
353# Setting them at boot time using userconfig works right (the optimizations
354# are not used until later in the bootstrap when npx0 is attached).
355# Flag 0x08 automatically disables the i586 optimized routines.
356#
357
358#
359# Optional devices:
360#
361
362# 3Dfx Voodoo Graphics, Voodoo II /dev/3dfx CDEV support. This will create
363# the /dev/3dfx0 device to work with glide implementations. This should get
364# linked to /dev/3dfx and /dev/voodoo. Note that this is not the same as
365# the tdfx DRI module from XFree86 and is completely unrelated.
366#
367# To enable Linuxulator support, one must also include COMPAT_LINUX in the
368# config as well, or you will not have the dependencies. The other option
369# is to load both as modules.
370
371device 		tdfx			# Enable 3Dfx Voodoo support
372options 	TDFX_LINUX		# Enable Linuxulator support
373
374# DRM options:
375# mgadrm:    AGP Matrox G200, G400, G450, G550
376# tdfxdrm:   3dfx Voodoo 3/4/5 and Banshee
377# r128drm:   ATI Rage 128
378# radeondrm: ATI Radeon up to 9000/9100
379# DRM_LINUX: include linux compatibility, requires COMPAT_LINUX
380# DRM_DEBUG: include debug printfs, very slow
381#
382# mga requires AGP in the kernel, and it is recommended
383# for AGP r128 and radeon cards.
384
385device		mgadrm
386device		"r128drm"
387device		radeondrm
388device		tdfxdrm
389
390options 	DRM_DEBUG
391options 	DRM_LINUX
392
393#
394# Bus mouse
395#
396device		mse
397hint.mse.0.at="isa"
398hint.mse.0.port="0x7fd9"
399hint.mse.0.irq="13"
400
401#
402# Network interfaces:
403#
404
405# ar:   Arnet SYNC/570i hdlc sync 2/4 port V.35/X.21 serial driver
406#       (requires sppp)
407# cx:   Cronyx/Sigma multiport sync/async (with Cisco or PPP framing)
408# ed:   Western Digital and SMC 80xx; Novell NE1000 and NE2000; 3Com 3C503
409#       HP PC Lan+, various PC Card devices (refer to etc/defauls/pccard.conf)
410#       (requires miibus)
411# el:   3Com 3C501 (slow!)
412# ie:   AT&T StarLAN 10 and EN100; 3Com 3C507; unknown NI5210;
413#       Intel EtherExpress
414# le:   Digital Equipment EtherWorks 2 and EtherWorks 3 (DEPCA, DE100,
415#       DE101, DE200, DE201, DE202, DE203, DE204, DE205, DE422)
416# lnc:  Lance/PCnet cards (Isolan, Novell NE2100, NE32-VL, AMD Am7990 and
417#       Am79C960)
418# oltr: Olicom ISA token-ring adapters OC-3115, OC-3117, OC-3118 and OC-3133
419#       (no hints needed).
420#       Olicom PCI token-ring adapters OC-3136, OC-3137, OC-3139, OC-3140,
421#       OC-3141, OC-3540, OC-3250
422# rdp:  RealTek RTL 8002-based pocket ethernet adapters
423# sbni:	Granch SBNI12-xx ISA and PCI adapters
424# sr:   RISCom/N2 hdlc sync 1/2 port V.35/X.21 serial driver (requires sppp)
425# wl:	Lucent Wavelan (ISA card only).
426
427# Order for ISA/EISA devices is important here
428
429device		ar
430hint.ar.0.at="isa"
431hint.ar.0.port="0x300"
432hint.ar.0.irq="10"
433hint.ar.0.maddr="0xd0000"
434device		cx	1
435hint.cx.0.at="isa"
436hint.cx.0.port="0x240"
437hint.cx.0.irq="15"
438hint.cx.0.drq="7"
439device		ed
440#options 	ED_NO_MIIBUS		# Disable ed miibus support
441hint.ed.0.at="isa"
442hint.ed.0.port="0x280"
443hint.ed.0.irq="5"
444hint.ed.0.maddr="0xd8000"
445device		el	1
446hint.el.0.at="isa"
447hint.el.0.port="0x300"
448hint.el.0.irq="9"
449device		ie			# Hints only required for Starlan
450hint.ie.2.at="isa"
451hint.ie.2.port="0x300"
452hint.ie.2.irq="5"
453hint.ie.2.maddr="0xd0000"
454device		le	1
455hint.le.0.at="isa"
456hint.le.0.port="0x300"
457hint.le.0.irq="5"
458hint.le.0.maddr="0xd0000"
459device		lnc
460hint.lnc.0.at="isa"
461hint.lnc.0.port="0x280"
462hint.lnc.0.irq="10"
463hint.lnc.0.drq="0"
464device		rdp	1
465hint.rdp.0.at="isa"
466hint.rdp.0.port="0x378"
467hint.rdp.0.irq="7"
468hint.rdp.0.flags="2"
469device		sbni
470hint.sbni.0.at="isa"
471hint.sbni.0.port="0x210"
472hint.sbni.0.irq="0xefdead"
473hint.sbni.0.flags="0"
474device		snc
475hint.snc.0.at="isa"
476hint.snc.0.port="0x888"
477hint.snc.0.irq="6"
478hint.snc.0.maddr="0xc0000"
479device		sr
480hint.sr.0.at="isa"
481hint.sr.0.port="0x300"
482hint.sr.0.irq="5"
483hint.sr.0.maddr="0xd0000"
484device		oltr
485hint.oltr.0.at="isa"
486device		wl
487hint.wl.0.at="isa"
488hint.wl.0.port="0x300"
489options 	WLCACHE		# enables the signal-strength cache
490options 	WLDEBUG		# enables verbose debugging output
491
492#
493# Audio drivers: `pca'
494#
495# pca: PCM audio through your PC speaker
496
497device		pca
498hint.pca.0.at="isa"
499hint.pca.0.port="0x040"
500
501# 
502# SCSI host adapters:
503# 
504# ct: WD33C93[ABC] based SCSI host adapters.
505# ncv: NCR 53C500 based SCSI host adapters.
506# nsp: Workbit Ninja SCSI-3 based PC Card SCSI host adapters.
507# stg: TMC 18C30, 18C50 based SCSI host adapters.
508
509device		ct
510hint.ct.0.at="isa"
511device          ncv
512device          nsp
513device          stg
514hint.stg.0.at="isa"
515hint.stg.0.port="0x140"
516hint.stg.0.port="11"
517
518#
519# Miscellaneous hardware:
520#
521# wt: Wangtek and Archive QIC-02/QIC-36 tape drives
522# ctx: Cortex-I frame grabber
523# apm: Laptop Advanced Power Management (experimental)
524# pmtimer: Timer device driver for power management events (APM or ACPI)
525# spigot: The Creative Labs Video Spigot video-acquisition board
526# dgb: Digiboard PC/Xi and PC/Xe series driver (ALPHA QUALITY!)
527# digi: Digiboard driver
528# gp:  National Instruments AT-GPIB and AT-GPIB/TNT board, PCMCIA-GPIB
529# tw: TW-523 power line interface for use with X-10 home control products
530# stl: Stallion EasyIO and EasyConnection 8/32 (cd1400 based)
531# stli: Stallion EasyConnection 8/64, ONboard, Brumby (intelligent)
532
533# Notes on APM
534#  The flags takes the following meaning for apm0:
535#    0x0020  Statclock is broken.
536#  If apm is omitted, some systems require sysctl kern.timecounter.method=1
537#  for correct timekeeping.
538
539# Notes on the spigot:
540#  The video spigot is at 0xad6.  This port address can not be changed.
541#  The irq values may only be 10, 11, or 15
542#  I/O memory is an 8kb region.  Possible values are:
543#    0a0000, 0a2000, ..., 0fffff, f00000, f02000, ..., ffffff
544#    The start address must be on an even boundary.
545#  Add the following option if you want to allow non-root users to be able
546#  to access the spigot.  This option is not secure because it allows users
547#  direct access to the I/O page.
548#  	options SPIGOT_UNSECURE
549
550# Notes on the Specialix SI/XIO driver:
551#  The host card is memory, not IO mapped.
552#  The Rev 1 host cards use a 64K chunk, on a 32K boundary.
553#  The Rev 2 host cards use a 32K chunk, on a 32K boundary.
554#  The cards can use an IRQ of 11, 12 or 15.
555
556# Notes on the Sony Programmable I/O controller
557#  This is a temporary driver that should someday be replaced by something
558#  that hooks into the ACPI layer. The device is hooked to the PIIX4's
559#  General Device 10 decoder, which means you have to fiddle with PCI
560#  registers to map it in, even though it is otherwise treated here as
561#  an ISA device. At the moment, the driver polls, although the device
562#  is capable of generating interrupts. It largely undocumented.
563#  The port location in the hint is where you WANT the device to be
564#  mapped. 0x10a0 seems to be traditional. At the moment the jogdial
565#  is the only thing truly supported, but aparently a fair percentage
566#  of the Vaio extra features are controlled by this device.
567
568# Notes on the Stallion stl and stli drivers:
569#  See src/i386/isa/README.stl for complete instructions.
570#  This is version 0.0.5alpha, unsupported by Stallion.
571#  The stl driver has a secondary IO port hard coded at 0x280.  You need
572#     to change src/i386/isa/stallion.c if you reconfigure this on the boards.
573#  The "flags" and "msize" settings on the stli driver depend on the board:
574#	EasyConnection 8/64 ISA:     flags 23         msize 0x1000
575#	EasyConnection 8/64 EISA:    flags 24         msize 0x10000
576#	EasyConnection 8/64 MCA:     flags 25         msize 0x1000
577#	ONboard ISA:                 flags 4          msize 0x10000
578#	ONboard EISA:                flags 7          msize 0x10000
579#	ONboard MCA:                 flags 3          msize 0x10000
580#	Brumby:                      flags 2          msize 0x4000
581#	Stallion:                    flags 1          msize 0x10000
582
583# Notes on the Digiboard PC/Xi and PC/Xe series driver
584#               
585# The NDGBPORTS option specifies the number of ports controlled by the
586# dgb(4) driver.  The default value is 16 ports per device.
587#
588# The following flag values have special meanings in dgb:
589#	0x01 - alternate layout of pins
590#	0x02 - use the windowed PC/Xe in 64K mode
591
592device		wt	1
593hint.wt.0.at="isa"
594hint.wt.0.port="0x300"
595hint.wt.0.irq="5"
596hint.wt.0.drq="1"
597device		ctx	1
598hint.ctx.0.at="isa"
599hint.ctx.0.port="0x230"
600hint.ctx.0.maddr="0xd0000"
601device		spigot	1
602hint.spigot.0.at="isa"
603hint.spigot.0.port="0xad6"
604hint.spigot.0.irq="15"
605hint.spigot.0.maddr="0xee000"
606device		apm
607hint.apm.0.flags="0x20"
608device		pmc
609device		canbus
610device		canbepm
611hint.pmc.0.at="isa"
612hint.pmc.0.port="0x8f0"
613device		pmtimer			# Adjust system timer at wakeup time
614device		gp
615hint.gp.0.at="isa"
616hint.gp.0.port="0x2c0"
617device		dgb	1   
618options		NDGBPORTS=17
619hint.dgb.0.at="isa"
620hint.dgb.0.port="0x220"
621hint.dgb.0.maddr="0xfc000"
622device		digi
623hint.digi.0.at="isa"
624hint.digi.0.port="0x104"
625hint.digi.0.maddr="0xd0000"
626# BIOS & FEP/OS components of device digi.
627device		digi_CX
628device		digi_CX_PCI
629device		digi_EPCX
630device		digi_EPCX_PCI
631device		digi_Xe
632device		digi_Xem
633device		digi_Xr
634# the port and irq for tw0 are fictitious
635device		tw	1
636hint.tw.0.at="isa"
637hint.tw.0.port="0x380"
638hint.tw.0.irq="11"
639device		stl
640hint.stl.0.at="isa"
641hint.stl.0.port="0x2a0"
642hint.stl.0.irq="10"
643device		stli
644hint.stli.0.at="isa"
645hint.stli.0.port="0x2a0"
646hint.stli.0.maddr="0xcc000"
647hint.stli.0.flags="23"
648hint.stli.0.msize="0x1000"
649device		olpt
650hint.olpt.0.at="isa"
651hint.olpt.0.port="0x040"
652
653#
654# Laptop/Notebook options:
655#
656# See also:
657#  apm under `Miscellaneous hardware'
658# above.
659
660# For older notebooks that signal a powerfail condition (external
661# power supply dropped, or battery state low) by issuing an NMI:
662
663options 	POWERFAIL_NMI	# make it beep instead of panicing
664
665#
666# PC Card/PCMCIA
667# (OLDCARD)
668#
669# card: pccard slots
670# pcic: isa/pccard bridge
671device		pcic
672hint.pcic.0.at="isa"
673#hint.pcic.1.at="isa"
674device		card	1
675
676#
677# PC Card/PCMCIA and Cardbus
678# (NEWCARD)
679#
680# Note that NEWCARD and OLDCARD are incompatible.  Do not use both at the same
681# time.
682#
683# pccbb: pci/cardbus bridge implementing YENTA interface
684# pccard: pccard slots
685# cardbus: cardbus slots
686#device		cbb
687#device		pccard
688#device		cardbus
689#device		pcic		ISA attachment currently busted
690#hint.pcic.0.at="isa"
691#hint.pcic.1.at="isa"
692
693#---------------------------------------------------------------------------
694# ISDN4BSD
695#
696# See /usr/share/examples/isdn/ROADMAP for an introduction to isdn4bsd.
697#
698# i4b passive ISDN cards support contains the following hardware drivers:
699#
700#	isic  - Siemens/Infineon ISDN ISAC/HSCX/IPAC chipset driver
701#	iwic  - Winbond W6692 PCI bus ISDN S/T interface controller
702#	ifpi  - AVM Fritz!Card PCI driver
703#	ifpi2  - AVM Fritz!Card PCI version 2 driver
704#	ihfc  - Cologne Chip HFC ISA/ISA-PnP chipset driver
705#	ifpnp - AVM Fritz!Card PnP driver 
706#	itjc  - Siemens ISAC / TJNet Tiger300/320 chipset
707#
708# i4b active ISDN cards support contains the following hardware drivers:
709#
710#	iavc  - AVM B1 PCI, AVM B1 ISA, AVM T1
711#
712# Note that the ``options'' (if given) and ``device'' lines must BOTH
713# be uncommented to enable support for a given card !
714#
715# In addition to a hardware driver (and probably an option) the mandatory
716# ISDN protocol stack devices and the mandatory support device must be 
717# enabled as well as one or more devices from the optional devices section.
718#
719#---------------------------------------------------------------------------
720#	isic driver (Siemens/Infineon chipsets)
721#
722device	isic
723#
724# PCI bus Cards:
725# --------------
726#
727# Cyclades Cyclom-Y PCI serial driver
728device		cy	1
729options 	CY_PCI_FASTINTR		# Use with cy_pci unless irq is shared
730hint.cy.0.at="isa"
731hint.cy.0.irq="10"
732hint.cy.0.maddr="0xd4000"
733hint.cy.0.msize="0x2000"
734#
735#---------------------------------------------------------------------------
736# ELSA MicroLink ISDN/PCI (same as ELSA QuickStep 1000pro PCI)
737options 	ELSA_QS1PCI
738#
739#
740#---------------------------------------------------------------------------
741#	ifpnp driver for AVM Fritz!Card PnP
742#
743# AVM Fritz!Card PnP
744device ifpnp
745#
746#---------------------------------------------------------------------------
747#	ihfc driver for Cologne Chip ISA chipsets (experimental!)
748#
749# Teles 16.3c ISA PnP
750# AcerISDN P10 ISA PnP
751# TELEINT ISDN SPEED No.1
752device ihfc
753#
754#---------------------------------------------------------------------------
755#	ifpi driver for AVM Fritz!Card PCI
756#
757# AVM Fritz!Card PCI
758device  ifpi
759#
760#---------------------------------------------------------------------------
761#	ifpi2 driver for AVM Fritz!Card PCI version 2
762#
763# AVM Fritz!Card PCI version 2
764device  "ifpi2"
765#
766#---------------------------------------------------------------------------
767#	iwic driver for Winbond W6692 chipset
768#
769# ASUSCOM P-IN100-ST-D (and other Winbond W6692 based cards)
770device  iwic
771#
772#---------------------------------------------------------------------------
773#	itjc driver for Simens ISAC / TJNet Tiger300/320 chipset
774#
775# Traverse Technologies NETjet-S
776# Teles PCI-TJ
777device  itjc
778#
779#---------------------------------------------------------------------------
780#	iavc driver (AVM active cards, needs i4bcapi driver!)
781#
782device	iavc
783#
784# AVM B1 ISA bus (PnP mode not supported!)
785# ----------------------------------------
786hint.iavc.0.at="isa"
787hint.iavc.0.port="0x150"
788hint.iavc.0.irq="5"
789#
790#---------------------------------------------------------------------------
791#	ISDN Protocol Stack - mandatory for all hardware drivers
792#
793# Q.921 / layer 2 - i4b passive cards D channel handling
794device		"i4bq921"
795#
796# Q.931 / layer 3 - i4b passive cards D channel handling
797device		"i4bq931"
798#
799# layer 4 - i4b common passive and active card handling
800device		"i4b"
801#
802#---------------------------------------------------------------------------
803#	ISDN devices - mandatory for all hardware drivers
804#
805# userland driver to do ISDN tracing (for passive cards only)
806device		"i4btrc"	4
807#
808# userland driver to control the whole thing
809device		"i4bctl"
810#
811#---------------------------------------------------------------------------
812#	ISDN devices - optional
813#
814# userland driver for access to raw B channel
815device		"i4brbch"	4
816#
817# userland driver for telephony
818device		"i4btel"	2
819#
820# network driver for IP over raw HDLC ISDN
821device		"i4bipr"	4
822# enable VJ header compression detection for ipr i/f
823options 	IPR_VJ
824# enable logging of the first n IP packets to isdnd (n=32 here)
825options 	IPR_LOG=32
826#
827# network driver for sync PPP over ISDN; requires an equivalent
828# number of sppp device to be configured
829device		"i4bisppp"	4
830#
831# B-channel interface to the netgraph subsystem
832device		"i4bing"	2
833#
834# CAPI driver needed for active ISDN cards (see iavc driver above)
835device		"i4bcapi"
836#
837#---------------------------------------------------------------------------
838
839#
840# Set the number of PV entries per process.  Increasing this can
841# stop panics related to heavy use of shared memory. However, that can
842# (combined with large amounts of physical memory) cause panics at
843# boot time due the kernel running out of VM space.
844#
845# If you're tweaking this, you might also want to increase the sysctls
846# "vm.v_free_min", "vm.v_free_reserved", and "vm.v_free_target".
847#
848# The value below is the one more than the default.
849#
850options 	PMAP_SHPGPERPROC=201
851
852#
853# Change the size of the kernel virtual address space.  Due to
854# constraints in loader(8) on i386, this must be a multiple of 4.
855# 256 = 1 GB of kernel address space.  Increasing this also causes
856# a reduction of the address space in user processes.  512 splits
857# the 4GB cpu address space in half (2GB user, 2GB kernel).
858#
859options 	KVA_PAGES=260
860
861
862#####################################################################
863# ABI Emulation
864
865# Enable iBCS2 runtime support for SCO and ISC binaries
866options 	IBCS2
867
868# Emulate spx device for client side of SVR3 local X interface
869options 	SPX_HACK
870
871# Enable Linux ABI emulation
872options 	COMPAT_LINUX
873
874# Enable i386 a.out binary support
875options 	COMPAT_AOUT
876
877# Enable the linux-like proc filesystem support (requires COMPAT_LINUX
878# and PSEUDOFS)
879options 	LINPROCFS
880
881#
882# SysVR4 ABI emulation
883#
884# The svr4 ABI emulator can be statically compiled into the kernel or loaded as
885# a KLD module.  
886# The STREAMS network emulation code can also be compiled statically or as a 
887# module.  If loaded as a module, it must be loaded before the svr4 module
888# (the /usr/sbin/svr4 script does this for you).  If compiling statically,
889# the `streams' device must be configured into any kernel which also
890# specifies COMPAT_SVR4.  It is possible to have a statically-configured 
891# STREAMS device and a dynamically loadable svr4 emulator;  the /usr/sbin/svr4
892# script understands that it doesn't need to load the `streams' module under
893# those circumstances.
894# Caveat:  At this time, `options KTRACE' is required for the svr4 emulator
895# (whether static or dynamic).  
896# 
897options 	COMPAT_SVR4	# build emulator statically
898options 	DEBUG_SVR4	# enable verbose debugging
899device		streams		# STREAMS network driver (required for svr4).
900
901
902#####################################################################
903# VM OPTIONS
904
905# Disable the 4 MByte page PSE CPU feature.  The PSE feature allows the
906# kernel to use a 4 MByte pages to map the kernel instead of 4k pages.
907# This saves on the amount of memory needed for page tables needed to
908# map the kernel.  You should only disable this feature as a temporary
909# workaround if you are having problems with it enabled.
910#
911#options 	DISABLE_PSE
912
913# Disable the global pages PGE CPU feature.  The PGE feature allows pages
914# to be marked with the PG_G bit.  TLB entries for these pages are not
915# flushed from the cache when %cr3 is reloaded.  This can make context
916# switches less expensive.  You should only disable this feature as a
917# temporary workaround if you are having problems with it enabled.
918#
919#options 	DISABLE_PG_G
920
921# KSTACK_PAGES is the number of memory pages to assign to the kernel
922# stack of each thread.
923
924options 	KSTACK_PAGES=3
925
926#####################################################################
927
928# More undocumented options for linting.
929# Note that documenting these are not considered an affront.
930
931options 	FB_INSTALL_CDEV		# install a CDEV entry in /dev
932
933# PECOFF module (Win32 Execution Format)
934options 	PECOFF_SUPPORT
935options 	PECOFF_DEBUG
936
937options 	ENABLE_ALART
938options 	I4B_SMP_WORKAROUND
939options 	I586_PMC_GUPROF=0x70000
940options 	KBDIO_DEBUG=2
941options 	KBD_MAXRETRY=4
942options 	KBD_MAXWAIT=6
943options 	KBD_RESETDELAY=201
944
945options 	TIMER_FREQ=((14318182+6)/12)
946
947options 	VM_KMEM_SIZE
948options 	VM_KMEM_SIZE_MAX
949options 	VM_KMEM_SIZE_SCALE
950
951# Yet more undocumented options for linting.
952options 	COMPAT_SUNOS
953
954
955#####################################################################
956# Devices we don't want to deal with
957
958nodevice	atkbdc
959nodevice	atkbd
960nodevice	psm
961nodevice	vga
962nodevice	aha
963nodevice	bt
964nodevice	wds
965nodevice	asr
966nodevice	dpt
967nodevice	ciss
968nodevice	iir
969nodevice	mly
970nodevice	ida		# Compaq Smart RAID
971nodevice	mlx		# Mylex DAC960
972nodevice	amr		# AMI MegaRAID
973nodevice	twe		# 3ware ATA RAID
974nodevice	cbb
975nodevice	pccard
976nodevice	cardbus
977
978
979#####################################################################
980# Options we don't want to deal with
981
982nooption	VGA_DEBUG
983nooption	VGA_WIDTH90
984nooption	VGA_SLOW_IOACCESS
985nooption	VGA_ALT_SEQACCESS
986nooption	PSM_RESETAFTERSUSPEND
987nooption	PSM_HOOKRESUME
988nooption	ATKBD_DFLT_KEYMAP
989nooption	DPT_ALLOW_MEMIO
990nooption	DPT_LOST_IRQ
991nooption	DPT_RESET_HBA
992nooption	DPT_TIMEOUT_FACTOR
993
994
995#####################################################################
996# Make options we don't want to deal with
997
998nomakeoption	ATKBD_DFLT_KEYMAP
999