NOTES revision 125234
1229997Sken#
2229997Sken# NOTES -- Lines that can be cut/pasted into kernel and hints configs.
3229997Sken#
4229997Sken# This file contains machine dependent kernel configuration notes.  For
5229997Sken# machine independent notes, look in /sys/conf/NOTES.
6229997Sken#
7229997Sken# $FreeBSD: head/sys/pc98/conf/NOTES 125234 2004-01-30 13:06:57Z nyan $
8229997Sken#
9229997Sken
10229997Sken#
11229997Sken# This directive is mandatory; it defines the architecture to be
12229997Sken# configured for; in this case, the 386 family based PC-98 and
13229997Sken# compatibles.
14229997Sken#
15229997Skenmachine		pc98
16229997Skenoptions 	PC98
17229997Sken
18229997Sken#
19229997Sken# We want LINT to cover profiling as well
20229997Skenprofile         2
21229997Sken
22229997Sken
23229997Sken#####################################################################
24229997Sken# SMP OPTIONS:
25229997Sken#
26229997Sken# The apic device enables the use of the I/O APIC for interrupt delivery.
27229997Sken# The apic device can be used in both UP and SMP kernels, but is required
28229997Sken# for SMP kernels.  Thus, the apic device is not strictly an SMP option,
29229997Sken# but it is a prerequisite for SMP.
30229997Sken#
31229997Sken# Notes:
32229997Sken#
33229997Sken# Be sure to disable 'cpu I386_CPU' for SMP kernels.
34229997Sken#
35229997Sken# By default, mixed mode is used to route IRQ0 from the AT timer via
36229997Sken# the 8259A master PIC through the ExtINT pin on the first I/O APIC.
37229997Sken# This can be disabled via the NO_MIXED_MODE option.  In that case,
38229997Sken# IRQ0 will be routed via an intpin on the first I/O APIC.  Not all
39229997Sken# motherboards hook IRQ0 up to the first I/O APIC even though their
40229997Sken# MP table or MADT may claim to do so.  That is why mixed mode is
41229997Sken# enabled by default.
42229997Sken#
43229997Sken
44229997Sken# Mandatory:
45229997Skendevice		apic			# I/O apic
46229997Sken
47229997Sken# Optional:
48229997Skenoptions 	NO_MIXED_MODE		# Disable use of mixed mode
49229997Sken
50229997Sken
51229997Sken#####################################################################
52229997Sken# CPU OPTIONS
53229997Sken
54229997Sken#
55229997Sken# You must specify at least one CPU (the one you intend to run on);
56229997Sken# deleting the specification for CPUs you don't need to use may make
57229997Sken# parts of the system run faster.
58229997Sken# I386_CPU is mutually exclusive with the other CPU types.
59229997Sken#
60229997Sken#cpu		I386_CPU
61229997Skencpu		I486_CPU
62229997Skencpu		I586_CPU		# aka Pentium(tm)
63229997Skencpu		I686_CPU		# aka Pentium Pro(tm)
64229997Sken
65229997Sken#
66229997Sken# Options for CPU features.
67229997Sken#
68229997Sken# CPU_BLUELIGHTNING_3X enables triple-clock mode on IBM Blue Lightning
69229997Sken# CPU if CPU supports it.  The default is double-clock mode on
70229997Sken# BlueLightning CPU box.
71229997Sken#
72229997Sken# CPU_BLUELIGHTNING_FPU_OP_CACHE enables FPU operand cache on IBM
73229997Sken# BlueLightning CPU.  It works only with Cyrix FPU, and this option
74229997Sken# should not be used with Intel FPU.
75229997Sken#
76229997Sken# CPU_BTB_EN enables branch target buffer on Cyrix 5x86 (NOTE 1).
77229997Sken#
78229997Sken# CPU_CYRIX_NO_LOCK enables weak locking for the entire address space
79229997Sken# of Cyrix 6x86 and 6x86MX CPUs by setting the NO_LOCK bit of CCR1.
80229997Sken# Otherwise, the NO_LOCK bit of CCR1 is cleared.  (NOTE 3)
81229997Sken#
82229997Sken# CPU_DIRECT_MAPPED_CACHE sets L1 cache of Cyrix 486DLC CPU in direct
83229997Sken# mapped mode.  Default is 2-way set associative mode.
84229997Sken#
85229997Sken# CPU_DISABLE_5X86_LSSER disables load store serialize (i.e. enables
86229997Sken# reorder).  This option should not be used if you use memory mapped
87229997Sken# I/O device(s).
88229997Sken#
89229997Sken# CPU_DISABLE_CMPXCHG disables the CMPXCHG instruction on > i386 IA32
90229997Sken# machines.  VmWare seems to emulate this instruction poorly, causing
91229997Sken# the guest OS to run very slowly.  Enabling this with a SMP kernel
92229997Sken# will cause the kernel to be unusable.
93229997Sken#
94229997Sken# CPU_DISABLE_SSE explicitly prevent I686_CPU from turning on SSE.
95229997Sken#
96229997Sken# CPU_ENABLE_SSE enables SSE/MMX2 instructions support.  This is default
97229997Sken# on I686_CPU and above.
98229997Sken#
99229997Sken# CPU_FASTER_5X86_FPU enables faster FPU exception handler.
100229997Sken#
101229997Sken# CPU_I486_ON_386 enables CPU cache on i486 based CPU upgrade products
102229997Sken# for i386 machines.
103229997Sken#
104229997Sken# CPU_IORT defines I/O clock delay time (NOTE 1).  Default values of
105229997Sken# I/O clock delay time on Cyrix 5x86 and 6x86 are 0 and 7,respectively
106229997Sken# (no clock delay).
107229997Sken#
108229997Sken# CPU_L2_LATENCY specifies the L2 cache latency value.  This option is used
109229997Sken# only when CPU_PPRO2CELERON is defined and Mendocino Celeron is detected.
110229997Sken# The default value is 5.
111229997Sken#
112229997Sken# CPU_LOOP_EN prevents flushing the prefetch buffer if the destination
113229997Sken# of a jump is already present in the prefetch buffer on Cyrix 5x86(NOTE
114229997Sken# 1).
115229997Sken#
116229997Sken# CPU_PPRO2CELERON enables L2 cache of Mendocino Celeron CPUs.  This option
117229997Sken# is useful when you use Socket 8 to Socket 370 converter, because most Pentium
118229997Sken# Pro BIOSs do not enable L2 cache of Mendocino Celeron CPUs.
119229997Sken#
120229997Sken# CPU_RSTK_EN enables return stack on Cyrix 5x86 (NOTE 1).
121229997Sken#
122229997Sken# CPU_SUSP_HLT enables suspend on HALT.  If this option is set, CPU
123229997Sken# enters suspend mode following execution of HALT instruction.
124229997Sken#
125229997Sken# CPU_UPGRADE_HW_CACHE eliminates unneeded cache flush instruction(s).
126229997Sken#
127229997Sken# CPU_WT_ALLOC enables write allocation on Cyrix 6x86/6x86MX and AMD
128229997Sken# K5/K6/K6-2 CPUs.
129229997Sken#
130229997Sken# CYRIX_CACHE_WORKS enables CPU cache on Cyrix 486 CPUs with cache
131229997Sken# flush at hold state.
132229997Sken#
133229997Sken# CYRIX_CACHE_REALLY_WORKS enables (1) CPU cache on Cyrix 486 CPUs
134229997Sken# without cache flush at hold state, and (2) write-back CPU cache on
135229997Sken# Cyrix 6x86 whose revision < 2.7 (NOTE 2).
136229997Sken#
137229997Sken# NO_F00F_HACK disables the hack that prevents Pentiums (and ONLY
138229997Sken# Pentiums) from locking up when a LOCK CMPXCHG8B instruction is
139229997Sken# executed.  This option is only needed if I586_CPU is also defined,
140229997Sken# and should be included for any non-Pentium CPU that defines it.
141229997Sken#
142229997Sken# NO_MEMORY_HOLE is an optimisation for systems with AMD K6 processors
143229997Sken# which indicates that the 15-16MB range is *definitely* not being
144229997Sken# occupied by an ISA memory hole.
145229997Sken#
146229997Sken# NOTE 1: The options, CPU_BTB_EN, CPU_LOOP_EN, CPU_IORT,
147229997Sken# CPU_LOOP_EN and CPU_RSTK_EN should not be used because of CPU bugs.
148229997Sken# These options may crash your system.
149229997Sken#
150229997Sken# NOTE 2: If CYRIX_CACHE_REALLY_WORKS is not set, CPU cache is enabled
151229997Sken# in write-through mode when revision < 2.7.  If revision of Cyrix
152229997Sken# 6x86 >= 2.7, CPU cache is always enabled in write-back mode.
153229997Sken#
154229997Sken# NOTE 3: This option may cause failures for software that requires
155229997Sken# locked cycles in order to operate correctly.
156229997Sken#
157229997Skenoptions 	CPU_BLUELIGHTNING_3X
158229997Skenoptions 	CPU_BLUELIGHTNING_FPU_OP_CACHE
159229997Skenoptions 	CPU_BTB_EN
160229997Skenoptions 	CPU_DIRECT_MAPPED_CACHE
161229997Skenoptions 	CPU_DISABLE_5X86_LSSER
162229997Skenoptions 	CPU_DISABLE_CMPXCHG
163229997Sken#options 	CPU_DISABLE_SSE
164229997Skenoptions 	CPU_ENABLE_SSE
165229997Skenoptions 	CPU_FASTER_5X86_FPU
166229997Skenoptions 	CPU_I486_ON_386
167229997Skenoptions 	CPU_IORT
168229997Skenoptions 	CPU_L2_LATENCY=5
169229997Skenoptions 	CPU_LOOP_EN
170229997Skenoptions 	CPU_PPRO2CELERON
171229997Skenoptions 	CPU_RSTK_EN
172229997Skenoptions 	CPU_SUSP_HLT
173229997Skenoptions 	CPU_UPGRADE_HW_CACHE
174229997Skenoptions 	CPU_WT_ALLOC
175229997Skenoptions 	CYRIX_CACHE_WORKS
176229997Skenoptions 	CYRIX_CACHE_REALLY_WORKS
177229997Sken#options 	NO_F00F_HACK
178229997Sken
179229997Sken# Debug options
180229997Skenoptions 	NPX_DEBUG	# enable npx debugging
181229997Sken
182229997Sken#
183229997Sken# PERFMON causes the driver for Pentium/Pentium Pro performance counters
184229997Sken# to be compiled.  See perfmon(4) for more information.
185229997Sken#
186229997Skenoptions 	PERFMON
187229997Sken
188229997Sken
189229997Sken#####################################################################
190229997Sken# NETWORKING OPTIONS
191229997Sken
192229997Sken#
193229997Sken# DEVICE_POLLING adds support for mixed interrupt-polling handling
194229997Sken# of network device drivers, which has significant benefits in terms
195229997Sken# of robustness to overloads and responsivity, as well as permitting
196229997Sken# accurate scheduling of the CPU time between kernel network processing
197229997Sken# and other activities.  The drawback is a moderate (up to 1/HZ seconds)
198229997Sken# potential increase in response times.
199229997Sken# It is strongly recommended to use HZ=1000 or 2000 with DEVICE_POLLING
200229997Sken# to achieve smoother behaviour.
201229997Sken# Additionally, you can enable/disable polling at runtime with the
202229997Sken# sysctl variable kern.polling.enable (defaults off), and select
203229997Sken# the CPU fraction reserved to userland with the sysctl variable
204229997Sken# kern.polling.user_frac (default 50, range 0..100).
205229997Sken#
206229997Sken# Not all device drivers support this mode of operation at the time of
207229997Sken# this writing.  See polling(4) for more details.
208229997Sken
209229997Skenoptions 	DEVICE_POLLING
210229997Sken
211229997Sken
212229997Sken#####################################################################
213229997Sken# CLOCK OPTIONS
214229997Sken
215229997Sken# The following options are used for debugging clock behavior only, and
216229997Sken# should not be used for production systems.
217229997Sken
218229997Sken# CLK_CALIBRATION_LOOP causes clock calibration to be run in a loop at
219229997Sken# startup until the user presses a key.  (The i8254 clock is always
220229997Sken# calibrated relative to the RTC (mc146818a) and this option causes the
221229997Sken# calibration to be repeated.)
222229997Skenoptions 	CLK_CALIBRATION_LOOP
223229997Sken
224229997Sken# CLK_USE_I8254_CALIBRATION causes the calibrated frequency of the i8254
225229997Sken# clock to actually be used.
226229997Skenoptions 	CLK_USE_I8254_CALIBRATION
227229997Sken
228229997Sken
229229997Sken#####################################################################
230229997Sken# MISCELLANEOUS DEVICES AND OPTIONS
231229997Sken
232229997Skendevice		speaker		#Play IBM BASIC-style noises out your speaker
233229997Skenhint.speaker.0.at="isa"
234229997Skenhint.speaker.0.port="0x35"
235229997Skendevice		gzip		#Exec gzipped a.out's.  REQUIRES COMPAT_AOUT!
236229997Skendevice		apm_saver	# Requires APM
237229997Sken
238229997Sken
239229997Sken#####################################################################
240229997Sken# HARDWARE BUS CONFIGURATION
241229997Sken
242229997Sken#
243229997Sken# ISA bus
244229997Sken#
245229997Skendevice		isa
246229997Sken
247229997Sken#
248229997Sken# Options for `isa':
249229997Sken#
250229997Sken# AUTO_EOI_1 enables the `automatic EOI' feature for the master 8259A
251229997Sken# interrupt controller.  This saves about 0.7-1.25 usec for each interrupt.
252229997Sken# This option breaks suspend/resume on some portables.
253229997Sken#
254229997Sken# MAXMEM specifies the amount of RAM on the machine; if this is not
255229997Sken# specified, FreeBSD will first read the amount of memory from the CMOS
256229997Sken# RAM, so the amount of memory will initially be limited to 64MB or 16MB
257229997Sken# depending on the BIOS.  If the BIOS reports 64MB, a memory probe will
258229997Sken# then attempt to detect the installed amount of RAM.  If this probe
259229997Sken# fails to detect >64MB RAM you will have to use the MAXMEM option.
260229997Sken# The amount is in kilobytes, so for a machine with 128MB of RAM, it would
261229997Sken# be 131072 (128 * 1024).
262229997Sken#
263229997Sken# BROKEN_KEYBOARD_RESET disables the use of the keyboard controller to
264229997Sken# reset the CPU for reboot.  This is needed on some systems with broken
265229997Sken# keyboard controllers.
266229997Sken
267229997Skenoptions 	COMPAT_OLDISA	#Use ISA shims and glue for old drivers
268229997Skenoptions 	AUTO_EOI_1
269229997Sken
270229997Skenoptions 	MAXMEM=(128*1024)
271#options 	BROKEN_KEYBOARD_RESET
272options 	EPSON_BOUNCEDMA
273options 	EPSON_MEMWIN
274
275#
276# PCI bus & PCI options:
277#
278device		pci
279
280#
281# AGP GART support
282device		agp
283
284
285#####################################################################
286# HARDWARE DEVICE CONFIGURATION
287
288# PC98 keyboard
289device		pckbd
290hint.pckbd.0.at="isa"
291hint.pckbd.0.port="0x041"
292hint.pckbd.0.irq="1"
293
294# These options are valid for other keyboard drivers as well.
295options 	KBD_DISABLE_KEYMAP_LOAD	# refuse to load a keymap
296options 	KBD_INSTALL_CDEV	# install a CDEV entry in /dev
297
298# GDC screen
299device		gdc
300hint.gdc.0.at="isa"
301options 	LINE30
302
303#
304# The Numeric Processing eXtension driver.  In addition to this, you
305# may configure a math emulator (see above).  If your machine has a
306# hardware FPU and the kernel configuration includes the npx device
307# *and* a math emulator compiled into the kernel, the hardware FPU
308# will be used, unless it is found to be broken or unless "flags" to
309# npx0 includes "0x08", which requests preference for the emulator.
310device		npx
311
312#
313# `flags' for npx0:
314#	0x01	don't use the npx registers to optimize bcopy.
315#	0x02	don't use the npx registers to optimize bzero.
316#	0x04	don't use the npx registers to optimize copyin or copyout.
317#	0x08	use emulator even if hardware FPU is available.
318# The npx registers are normally used to optimize copying and zeroing when
319# all of the following conditions are satisfied:
320#	I586_CPU is an option
321#	the cpu is an i586 (perhaps not a Pentium)
322#	the probe for npx0 succeeds
323#	INT 16 exception handling works.
324# Then copying and zeroing using the npx registers is normally 30-100% faster.
325# The flags can be used to control cases where it doesn't work or is slower.
326# Setting them at boot time using userconfig works right (the optimizations
327# are not used until later in the bootstrap when npx0 is attached).
328# Flag 0x08 automatically disables the i586 optimized routines.
329#
330
331#
332# Optional devices:
333#
334
335# 3Dfx Voodoo Graphics, Voodoo II /dev/3dfx CDEV support.  This will create
336# the /dev/3dfx0 device to work with glide implementations.  This should get
337# linked to /dev/3dfx and /dev/voodoo.  Note that this is not the same as
338# the tdfx DRI module from XFree86 and is completely unrelated.
339#
340# To enable Linuxulator support, one must also include COMPAT_LINUX in the
341# config as well, or you will not have the dependencies.  The other option
342# is to load both as modules.
343
344device 		tdfx			# Enable 3Dfx Voodoo support
345options 	TDFX_LINUX		# Enable Linuxulator support
346
347# DRM options:
348# mgadrm:    AGP Matrox G200, G400, G450, G550
349# r128drm:   ATI Rage 128
350# radeondrm: ATI Radeon up to 9000/9100
351# sisdrm:    SiS 300/305,540,630
352# tdfxdrm:   3dfx Voodoo 3/4/5 and Banshee
353# DRM_DEBUG: include debug printfs, very slow
354#
355# mga requires AGP in the kernel, and it is recommended
356# for AGP r128 and radeon cards.
357
358device		mgadrm
359device		"r128drm"
360device		radeondrm
361device		sisdrm
362device		tdfxdrm
363
364options 	DRM_DEBUG
365
366#
367# Bus mouse
368#
369device		mse
370hint.mse.0.at="isa"
371hint.mse.0.port="0x7fd9"
372hint.mse.0.irq="13"
373
374#
375# Network interfaces:
376#
377
378# ar:   Arnet SYNC/570i hdlc sync 2/4 port V.35/X.21 serial driver
379#       (requires sppp)
380# ed:   Western Digital and SMC 80xx; Novell NE1000 and NE2000; 3Com 3C503
381#       HP PC Lan+, various PC Card devices (refer to etc/defaults/pccard.conf)
382#       (requires miibus)
383# el:   3Com 3C501 (slow!)
384# ie:   AT&T StarLAN 10 and EN100; 3Com 3C507; unknown NI5210;
385#       Intel EtherExpress
386# le:   Digital Equipment EtherWorks 2 and EtherWorks 3 (DEPCA, DE100,
387#       DE101, DE200, DE201, DE202, DE203, DE204, DE205, DE422)
388# lnc:  Lance/PCnet cards (Isolan, Novell NE2100, NE32-VL, AMD Am7990 and
389#       Am79C960)
390# oltr: Olicom ISA token-ring adapters OC-3115, OC-3117, OC-3118 and OC-3133
391#       (no hints needed).
392#       Olicom PCI token-ring adapters OC-3136, OC-3137, OC-3139, OC-3140,
393#       OC-3141, OC-3540, OC-3250
394# rdp:  RealTek RTL 8002-based pocket ethernet adapters
395# sbni:	Granch SBNI12-xx ISA and PCI adapters
396# sr:   RISCom/N2 hdlc sync 1/2 port V.35/X.21 serial driver (requires sppp)
397# wl:	Lucent Wavelan (ISA card only).
398
399# Order for ISA/EISA devices is important here
400
401device		ar
402hint.ar.0.at="isa"
403hint.ar.0.port="0x300"
404hint.ar.0.irq="10"
405hint.ar.0.maddr="0xd0000"
406device		ed
407#options 	ED_NO_MIIBUS		# Disable ed miibus support
408hint.ed.0.at="isa"
409hint.ed.0.port="0x280"
410hint.ed.0.irq="5"
411hint.ed.0.maddr="0xd8000"
412device		el	1
413hint.el.0.at="isa"
414hint.el.0.port="0x300"
415hint.el.0.irq="9"
416device		ie			# Hints only required for Starlan
417hint.ie.2.at="isa"
418hint.ie.2.port="0x300"
419hint.ie.2.irq="5"
420hint.ie.2.maddr="0xd0000"
421device		le	1
422hint.le.0.at="isa"
423hint.le.0.port="0x300"
424hint.le.0.irq="5"
425hint.le.0.maddr="0xd0000"
426device		lnc
427hint.lnc.0.at="isa"
428hint.lnc.0.port="0x280"
429hint.lnc.0.irq="10"
430hint.lnc.0.drq="0"
431device		rdp	1
432hint.rdp.0.at="isa"
433hint.rdp.0.port="0x378"
434hint.rdp.0.irq="7"
435hint.rdp.0.flags="2"
436device		sbni
437hint.sbni.0.at="isa"
438hint.sbni.0.port="0x210"
439hint.sbni.0.irq="0xefdead"
440hint.sbni.0.flags="0"
441device		snc
442hint.snc.0.at="isa"
443hint.snc.0.port="0x888"
444hint.snc.0.irq="6"
445hint.snc.0.maddr="0xc0000"
446device		sr
447hint.sr.0.at="isa"
448hint.sr.0.port="0x300"
449hint.sr.0.irq="5"
450hint.sr.0.maddr="0xd0000"
451device		oltr
452hint.oltr.0.at="isa"
453device		wl
454hint.wl.0.at="isa"
455hint.wl.0.port="0x300"
456options 	WLCACHE		# enables the signal-strength cache
457options 	WLDEBUG		# enables verbose debugging output
458
459#
460# SCSI host adapters:
461#
462# ct: WD33C93[ABC] based SCSI host adapters.
463# ncv: NCR 53C500 based SCSI host adapters.
464# nsp: Workbit Ninja SCSI-3 based PC Card SCSI host adapters.
465# stg: TMC 18C30, 18C50 based SCSI host adapters.
466
467device		ct
468hint.ct.0.at="isa"
469device          ncv
470device          nsp
471device          stg
472hint.stg.0.at="isa"
473hint.stg.0.port="0x140"
474hint.stg.0.port="11"
475
476#
477# SafeNet crypto driver: can be moved to the MI NOTES as soon as
478# it's tested on a big-endian machine
479#
480device		safe		# SafeNet 1141
481options		SAFE_DEBUG	# enable debugging support: hw.safe.debug
482options		SAFE_RNDTEST	# enable rndtest support
483
484#####################################################################
485
486#
487# Miscellaneous hardware:
488#
489# wt: Wangtek and Archive QIC-02/QIC-36 tape drives
490# ctx: Cortex-I frame grabber
491# apm: Laptop Advanced Power Management (experimental)
492# pmtimer: Timer device driver for power management events (APM or ACPI)
493# spigot: The Creative Labs Video Spigot video-acquisition board
494# cy: Cyclades serial driver
495# digi: Digiboard driver
496# gp:  National Instruments AT-GPIB and AT-GPIB/TNT board, PCMCIA-GPIB
497# stl: Stallion EasyIO and EasyConnection 8/32 (cd1400 based)
498# stli: Stallion EasyConnection 8/64, ONboard, Brumby (intelligent)
499
500# Notes on APM
501#  The flags takes the following meaning for apm0:
502#    0x0020  Statclock is broken.
503
504# Notes on the spigot:
505#  The video spigot is at 0xad6.  This port address can not be changed.
506#  The irq values may only be 10, 11, or 15
507#  I/O memory is an 8kb region.  Possible values are:
508#    0a0000, 0a2000, ..., 0fffff, f00000, f02000, ..., ffffff
509#    The start address must be on an even boundary.
510#  Add the following option if you want to allow non-root users to be able
511#  to access the spigot.  This option is not secure because it allows users
512#  direct access to the I/O page.
513#  	options SPIGOT_UNSECURE
514
515# Notes on the Specialix SI/XIO driver:
516#  The host card is memory, not IO mapped.
517#  The Rev 1 host cards use a 64K chunk, on a 32K boundary.
518#  The Rev 2 host cards use a 32K chunk, on a 32K boundary.
519#  The cards can use an IRQ of 11, 12 or 15.
520
521# Notes on the Sony Programmable I/O controller
522#  This is a temporary driver that should someday be replaced by something
523#  that hooks into the ACPI layer.  The device is hooked to the PIIX4's
524#  General Device 10 decoder, which means you have to fiddle with PCI
525#  registers to map it in, even though it is otherwise treated here as
526#  an ISA device.  At the moment, the driver polls, although the device
527#  is capable of generating interrupts.  It largely undocumented.
528#  The port location in the hint is where you WANT the device to be
529#  mapped.  0x10a0 seems to be traditional.  At the moment the jogdial
530#  is the only thing truly supported, but apparently a fair percentage
531#  of the Vaio extra features are controlled by this device.
532
533# Notes on the Stallion stl and stli drivers:
534#  See src/i386/isa/README.stl for complete instructions.
535#  This is version 0.0.5alpha, unsupported by Stallion.
536#  The stl driver has a secondary IO port hard coded at 0x280.  You need
537#     to change src/i386/isa/stallion.c if you reconfigure this on the boards.
538#  The "flags" and "msize" settings on the stli driver depend on the board:
539#	EasyConnection 8/64 ISA:     flags 23         msize 0x1000
540#	EasyConnection 8/64 EISA:    flags 24         msize 0x10000
541#	EasyConnection 8/64 MCA:     flags 25         msize 0x1000
542#	ONboard ISA:                 flags 4          msize 0x10000
543#	ONboard EISA:                flags 7          msize 0x10000
544#	ONboard MCA:                 flags 3          msize 0x10000
545#	Brumby:                      flags 2          msize 0x4000
546#	Stallion:                    flags 1          msize 0x10000
547
548device		wt	1
549hint.wt.0.at="isa"
550hint.wt.0.port="0x300"
551hint.wt.0.irq="5"
552hint.wt.0.drq="1"
553device		ctx
554hint.ctx.0.at="isa"
555hint.ctx.0.port="0x230"
556hint.ctx.0.maddr="0xd0000"
557device		spigot	1
558hint.spigot.0.at="isa"
559hint.spigot.0.port="0xad6"
560hint.spigot.0.irq="15"
561hint.spigot.0.maddr="0xee000"
562device		apm
563hint.apm.0.flags="0x20"
564device		canbus
565device		canbepm
566device		pmc
567hint.pmc.0.at="isa"
568hint.pmc.0.port="0x8f0"
569device		pmtimer			# Adjust system timer at wakeup time
570device		cy	1
571options 	CY_PCI_FASTINTR		# Use with cy_pci unless irq is shared
572hint.cy.0.at="isa"
573hint.cy.0.irq="10"
574hint.cy.0.maddr="0xd4000"
575hint.cy.0.msize="0x2000"
576device		digi
577hint.digi.0.at="isa"
578hint.digi.0.port="0x104"
579hint.digi.0.maddr="0xd0000"
580# BIOS & FEP/OS components of device digi.
581device		digi_CX
582device		digi_CX_PCI
583device		digi_EPCX
584device		digi_EPCX_PCI
585device		digi_Xe
586device		digi_Xem
587device		digi_Xr
588device		gp
589hint.gp.0.at="isa"
590hint.gp.0.port="0x2c0"
591device		olpt
592hint.olpt.0.at="isa"
593hint.olpt.0.port="0x040"
594device		stl
595hint.stl.0.at="isa"
596hint.stl.0.port="0x2a0"
597hint.stl.0.irq="10"
598device		stli
599hint.stli.0.at="isa"
600hint.stli.0.port="0x2a0"
601hint.stli.0.maddr="0xcc000"
602hint.stli.0.flags="23"
603hint.stli.0.msize="0x1000"
604
605#
606# Laptop/Notebook options:
607#
608# See also:
609#  apm under `Miscellaneous hardware'
610# above.
611
612# For older notebooks that signal a powerfail condition (external
613# power supply dropped, or battery state low) by issuing an NMI:
614
615options 	POWERFAIL_NMI	# make it beep instead of panicing
616
617#
618# PC Card/PCMCIA
619# (OLDCARD)
620#
621# card: pccard slots
622# pcic: isa/pccard bridge
623device		pcic
624hint.pcic.0.at="isa"
625#hint.pcic.1.at="isa"
626device		card	1
627
628#---------------------------------------------------------------------------
629# ISDN4BSD
630#
631# See /usr/share/examples/isdn/ROADMAP for an introduction to isdn4bsd.
632#
633# i4b passive ISDN cards support contains the following hardware drivers:
634#
635#	isic  - Siemens/Infineon ISDN ISAC/HSCX/IPAC chipset driver
636#	iwic  - Winbond W6692 PCI bus ISDN S/T interface controller
637#	ifpi  - AVM Fritz!Card PCI driver
638#	ifpi2  - AVM Fritz!Card PCI version 2 driver
639#	ihfc  - Cologne Chip HFC ISA/ISA-PnP chipset driver
640#	ifpnp - AVM Fritz!Card PnP driver
641#	itjc  - Siemens ISAC / TJNet Tiger300/320 chipset
642#
643# i4b active ISDN cards support contains the following hardware drivers:
644#
645#	iavc  - AVM B1 PCI, AVM B1 ISA, AVM T1
646#
647# Note that the ``options'' (if given) and ``device'' lines must BOTH
648# be uncommented to enable support for a given card !
649#
650# In addition to a hardware driver (and probably an option) the mandatory
651# ISDN protocol stack devices and the mandatory support device must be
652# enabled as well as one or more devices from the optional devices section.
653#
654#---------------------------------------------------------------------------
655#	isic driver (Siemens/Infineon chipsets)
656#
657device	isic
658#
659# PCI bus Cards:
660# --------------
661#
662# ELSA MicroLink ISDN/PCI (same as ELSA QuickStep 1000pro PCI)
663options 	ELSA_QS1PCI
664#
665#---------------------------------------------------------------------------
666#	ifpnp driver for AVM Fritz!Card PnP
667#
668# AVM Fritz!Card PnP
669device ifpnp
670#
671#---------------------------------------------------------------------------
672#	ihfc driver for Cologne Chip ISA chipsets (experimental!)
673#
674# Teles 16.3c ISA PnP
675# AcerISDN P10 ISA PnP
676# TELEINT ISDN SPEED No.1
677device ihfc
678#
679#---------------------------------------------------------------------------
680#	ifpi driver for AVM Fritz!Card PCI
681#
682# AVM Fritz!Card PCI
683device  ifpi
684#
685#---------------------------------------------------------------------------
686#	ifpi2 driver for AVM Fritz!Card PCI version 2
687#
688# AVM Fritz!Card PCI version 2
689device  "ifpi2"
690#
691#---------------------------------------------------------------------------
692#	iwic driver for Winbond W6692 chipset
693#
694# ASUSCOM P-IN100-ST-D (and other Winbond W6692 based cards)
695device  iwic
696#
697#---------------------------------------------------------------------------
698#	itjc driver for Siemens ISAC / TJNet Tiger300/320 chipset
699#
700# Traverse Technologies NETjet-S
701# Teles PCI-TJ
702device  itjc
703#
704#---------------------------------------------------------------------------
705#	iavc driver (AVM active cards, needs i4bcapi driver!)
706#
707device	iavc
708#
709# AVM B1 ISA bus (PnP mode not supported!)
710# ----------------------------------------
711hint.iavc.0.at="isa"
712hint.iavc.0.port="0x150"
713hint.iavc.0.irq="5"
714#
715#---------------------------------------------------------------------------
716#	ISDN Protocol Stack - mandatory for all hardware drivers
717#
718# Q.921 / layer 2 - i4b passive cards D channel handling
719device		"i4bq921"
720#
721# Q.931 / layer 3 - i4b passive cards D channel handling
722device		"i4bq931"
723#
724# layer 4 - i4b common passive and active card handling
725device		"i4b"
726#
727#---------------------------------------------------------------------------
728#	ISDN devices - mandatory for all hardware drivers
729#
730# userland driver to do ISDN tracing (for passive cards only)
731device		"i4btrc"	4
732#
733# userland driver to control the whole thing
734device		"i4bctl"
735#
736#---------------------------------------------------------------------------
737#	ISDN devices - optional
738#
739# userland driver for access to raw B channel
740device		"i4brbch"	4
741#
742# userland driver for telephony
743device		"i4btel"	2
744#
745# network driver for IP over raw HDLC ISDN
746device		"i4bipr"	4
747# enable VJ header compression detection for ipr i/f
748options 	IPR_VJ
749# enable logging of the first n IP packets to isdnd (n=32 here)
750options 	IPR_LOG=32
751#
752# network driver for sync PPP over ISDN; requires an equivalent
753# number of sppp device to be configured
754device		"i4bisppp"	4
755#
756# B-channel interface to the netgraph subsystem
757device		"i4bing"	2
758#
759# CAPI driver needed for active ISDN cards (see iavc driver above)
760device		"i4bcapi"
761#
762#---------------------------------------------------------------------------
763
764#
765# Set the number of PV entries per process.  Increasing this can
766# stop panics related to heavy use of shared memory.  However, that can
767# (combined with large amounts of physical memory) cause panics at
768# boot time due the kernel running out of VM space.
769#
770# If you're tweaking this, you might also want to increase the sysctls
771# "vm.v_free_min", "vm.v_free_reserved", and "vm.v_free_target".
772#
773# The value below is the one more than the default.
774#
775options 	PMAP_SHPGPERPROC=201
776
777#
778# Change the size of the kernel virtual address space.  Due to
779# constraints in loader(8) on i386, this must be a multiple of 4.
780# 256 = 1 GB of kernel address space.  Increasing this also causes
781# a reduction of the address space in user processes.  512 splits
782# the 4GB cpu address space in half (2GB user, 2GB kernel).
783#
784options 	KVA_PAGES=260
785
786
787#####################################################################
788# ABI Emulation
789
790# Enable iBCS2 runtime support for SCO and ISC binaries
791options 	IBCS2
792
793# Emulate spx device for client side of SVR3 local X interface
794options 	SPX_HACK
795
796# Enable Linux ABI emulation
797options 	COMPAT_LINUX
798
799# Enable i386 a.out binary support
800options 	COMPAT_AOUT
801
802# Enable the linux-like proc filesystem support (requires COMPAT_LINUX
803# and PSEUDOFS)
804options 	LINPROCFS
805
806#
807# SysVR4 ABI emulation
808#
809# The svr4 ABI emulator can be statically compiled into the kernel or loaded as
810# a KLD module.
811# The STREAMS network emulation code can also be compiled statically or as a
812# module.  If loaded as a module, it must be loaded before the svr4 module
813# (the /usr/sbin/svr4 script does this for you).  If compiling statically,
814# the `streams' device must be configured into any kernel which also
815# specifies COMPAT_SVR4.  It is possible to have a statically-configured
816# STREAMS device and a dynamically loadable svr4 emulator;  the /usr/sbin/svr4
817# script understands that it doesn't need to load the `streams' module under
818# those circumstances.
819# Caveat:  At this time, `options KTRACE' is required for the svr4 emulator
820# (whether static or dynamic).
821#
822options 	COMPAT_SVR4	# build emulator statically
823options 	DEBUG_SVR4	# enable verbose debugging
824device		streams		# STREAMS network driver (required for svr4).
825
826
827#####################################################################
828# VM OPTIONS
829
830# Disable the 4 MByte page PSE CPU feature.  The PSE feature allows the
831# kernel to use a 4 MByte pages to map the kernel instead of 4k pages.
832# This saves on the amount of memory needed for page tables needed to
833# map the kernel.  You should only disable this feature as a temporary
834# workaround if you are having problems with it enabled.
835#
836#options 	DISABLE_PSE
837
838# Disable the global pages PGE CPU feature.  The PGE feature allows pages
839# to be marked with the PG_G bit.  TLB entries for these pages are not
840# flushed from the cache when %cr3 is reloaded.  This can make context
841# switches less expensive.  You should only disable this feature as a
842# temporary workaround if you are having problems with it enabled.
843#
844#options 	DISABLE_PG_G
845
846# KSTACK_PAGES is the number of memory pages to assign to the kernel
847# stack of each thread.
848
849options 	KSTACK_PAGES=3
850
851#####################################################################
852
853# More undocumented options for linting.
854# Note that documenting these are not considered an affront.
855
856options 	FB_INSTALL_CDEV		# install a CDEV entry in /dev
857
858# PECOFF module (Win32 Execution Format)
859options 	PECOFF_SUPPORT
860options 	PECOFF_DEBUG
861
862options 	ENABLE_ALART
863options 	I4B_SMP_WORKAROUND
864options 	I586_PMC_GUPROF=0x70000
865options 	KBDIO_DEBUG=2
866options 	KBD_MAXRETRY=4
867options 	KBD_MAXWAIT=6
868options 	KBD_RESETDELAY=201
869
870options 	TIMER_FREQ=((14318182+6)/12)
871
872options 	VM_KMEM_SIZE
873options 	VM_KMEM_SIZE_MAX
874options 	VM_KMEM_SIZE_SCALE
875
876
877#####################################################################
878# Devices we don't want to deal with
879
880nodevice	atkbdc
881nodevice	atkbd
882nodevice	psm
883nodevice	vga
884nodevice	bt
885nodevice	adw
886nodevice	aha
887nodevice	ahb
888nodevice	ahd
889nodevice	mpt
890nodevice	trm
891nodevice	wds
892nodevice	asr
893nodevice	dpt
894nodevice	ciss
895nodevice	iir
896nodevice	mly
897nodevice	ida		# Compaq Smart RAID
898nodevice	mlx		# Mylex DAC960
899nodevice	amr		# AMI MegaRAID
900nodevice	twe		# 3ware ATA RAID
901nodevice	ataraid
902nodevice	cm
903nodevice	cs
904nodevice	ex
905nodevice	fea
906nodevice	cbb
907nodevice	pccard
908nodevice	cardbus
909nodevice	intpm
910nodevice	alpm
911nodevice	ichsmb
912nodevice	viapm
913nodevice	amdpm
914nodevice	nfpm
915
916
917#####################################################################
918# Options we don't want to deal with
919
920nooption	VGA_DEBUG
921nooption	VGA_WIDTH90
922nooption	VGA_SLOW_IOACCESS
923nooption	VGA_ALT_SEQACCESS
924nooption	PSM_RESETAFTERSUSPEND
925nooption	PSM_HOOKRESUME
926nooption	ATKBD_DFLT_KEYMAP
927nooption	AHD_DEBUG
928nooption	AHD_DEBUG_OPTS
929nooption	AHD_REG_PRETTY_PRINT
930nooption	ADW_ALLOW_MEMIO
931nooption	DPT_LOST_IRQ
932nooption	DPT_RESET_HBA
933nooption	DPT_TIMEOUT_FACTOR
934nooption	AAC_DEBUG
935nooption	ACPI_MAX_THREADS
936
937
938#####################################################################
939# Make options we don't want to deal with
940
941nomakeoption	ATKBD_DFLT_KEYMAP
942