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