Deleted Added
full compact
NOTES (175915) NOTES (177586)
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/i386/conf/NOTES 175915 2008-02-03 07:07:30Z scottl $
7# $FreeBSD: head/sys/i386/conf/NOTES 177586 2008-03-24 22:23:22Z jkim $
8#
9
10#
11# We want LINT to cover profiling as well.
12profile 2
13
14
15#####################################################################
16# SMP OPTIONS:
17#
18# The apic device enables the use of the I/O APIC for interrupt delivery.
19# The apic device can be used in both UP and SMP kernels, but is required
20# for SMP kernels. Thus, the apic device is not strictly an SMP option,
21# but it is a prerequisite for SMP.
22#
23# Notes:
24#
25# HTT CPUs should only be used if they are enabled in the BIOS. For
26# the ACPI case, ACPI only correctly tells us about any HTT CPUs if
27# they are enabled. However, most HTT systems do not list HTT CPUs
28# in the MP Table if they are enabled, thus we guess at the HTT CPUs
29# for the MP Table case. However, we shouldn't try to guess and use
30# these CPUs if HTT is disabled. Thus, HTT guessing is only enabled
31# for the MP Table if the user explicitly asks for it via the
32# MPTABLE_FORCE_HTT option. Do NOT use this option if you have HTT
33# disabled in your BIOS.
34#
35# IPI_PREEMPTION instructs the kernel to preempt threads running on other
36# CPUS if needed. Relies on the PREEMPTION option
37
38# Mandatory:
39device apic # I/O apic
40
41# Optional:
42options MPTABLE_FORCE_HTT # Enable HTT CPUs with the MP Table
43options IPI_PREEMPTION
44
45#
46# Watchdog routines.
47#
48options MP_WATCHDOG
49
50# Debugging options.
51#
52options STOP_NMI # Stop CPUS using NMI instead of IPI
53options COUNT_XINVLTLB_HITS # Counters for TLB events
54options COUNT_IPIS # Per-CPU IPI interrupt counters
55
56
57
58#####################################################################
59# CPU OPTIONS
60
61#
62# You must specify at least one CPU (the one you intend to run on);
63# deleting the specification for CPUs you don't need to use may make
64# parts of the system run faster.
65#
66cpu I486_CPU
67cpu I586_CPU # aka Pentium(tm)
68cpu I686_CPU # aka Pentium Pro(tm)
69
70#
71# Options for CPU features.
72#
73# CPU_ATHLON_SSE_HACK tries to enable SSE instructions when the BIOS has
74# forgotten to enable them.
75#
76# CPU_BLUELIGHTNING_3X enables triple-clock mode on IBM Blue Lightning
77# CPU if CPU supports it. The default is double-clock mode on
78# BlueLightning CPU box.
79#
80# CPU_BLUELIGHTNING_FPU_OP_CACHE enables FPU operand cache on IBM
81# BlueLightning CPU. It works only with Cyrix FPU, and this option
82# should not be used with Intel FPU.
83#
84# CPU_BTB_EN enables branch target buffer on Cyrix 5x86 (NOTE 1).
85#
86# CPU_CYRIX_NO_LOCK enables weak locking for the entire address space
87# of Cyrix 6x86 and 6x86MX CPUs by setting the NO_LOCK bit of CCR1.
88# Otherwise, the NO_LOCK bit of CCR1 is cleared. (NOTE 3)
89#
90# CPU_DIRECT_MAPPED_CACHE sets L1 cache of Cyrix 486DLC CPU in direct
91# mapped mode. Default is 2-way set associative mode.
92#
93# CPU_DISABLE_5X86_LSSER disables load store serialize (i.e., enables
94# reorder). This option should not be used if you use memory mapped
95# I/O device(s).
96#
97# CPU_DISABLE_CMPXCHG disables the CMPXCHG instruction on > i386 IA32
98# machines. VmWare 3.x seems to emulate this instruction poorly, causing
99# the guest OS to run very slowly. This problem appears to be fixed in
100# VmWare 4.x, at least in version 4.5.2, so that enabling this option with
101# VmWare 4.x will result in locking operations to be 20-30 times slower.
102# Enabling this with an SMP kernel will cause the kernel to be unusable.
103#
104# CPU_DISABLE_SSE explicitly prevents I686_CPU from turning on SSE.
105#
106# CPU_ELAN enables support for AMDs ElanSC520 CPU.
107# CPU_ELAN_PPS enables precision timestamp code.
108# CPU_ELAN_XTAL sets the clock crystal frequency in Hz.
109#
110# CPU_ENABLE_LONGRUN enables support for Transmeta Crusoe LongRun
111# technology which allows to restrict power consumption of the CPU by
112# using group of hw.crusoe.* sysctls.
113#
114# CPU_FASTER_5X86_FPU enables faster FPU exception handler.
115#
116# CPU_GEODE is for the SC1100 Geode embedded processor. This option
117# is necessary because the i8254 timecounter is toast.
118#
119# CPU_I486_ON_386 enables CPU cache on i486 based CPU upgrade products
120# for i386 machines.
121#
122# CPU_IORT defines I/O clock delay time (NOTE 1). Default values of
123# I/O clock delay time on Cyrix 5x86 and 6x86 are 0 and 7,respectively
124# (no clock delay).
125#
126# CPU_L2_LATENCY specifies the L2 cache latency value. This option is used
127# only when CPU_PPRO2CELERON is defined and Mendocino Celeron is detected.
128# The default value is 5.
129#
130# CPU_LOOP_EN prevents flushing the prefetch buffer if the destination
131# of a jump is already present in the prefetch buffer on Cyrix 5x86(NOTE
132# 1).
133#
134# CPU_PPRO2CELERON enables L2 cache of Mendocino Celeron CPUs. This option
135# is useful when you use Socket 8 to Socket 370 converter, because most Pentium
136# Pro BIOSs do not enable L2 cache of Mendocino Celeron CPUs.
137#
138# CPU_RSTK_EN enables return stack on Cyrix 5x86 (NOTE 1).
139#
140# CPU_SOEKRIS enables support www.soekris.com hardware.
141#
142# CPU_SUSP_HLT enables suspend on HALT. If this option is set, CPU
143# enters suspend mode following execution of HALT instruction.
144#
145# CPU_UPGRADE_HW_CACHE eliminates unneeded cache flush instruction(s).
146#
147# CPU_WT_ALLOC enables write allocation on Cyrix 6x86/6x86MX and AMD
148# K5/K6/K6-2 CPUs.
149#
150# CYRIX_CACHE_WORKS enables CPU cache on Cyrix 486 CPUs with cache
151# flush at hold state.
152#
153# CYRIX_CACHE_REALLY_WORKS enables (1) CPU cache on Cyrix 486 CPUs
154# without cache flush at hold state, and (2) write-back CPU cache on
155# Cyrix 6x86 whose revision < 2.7 (NOTE 2).
156#
157# NO_F00F_HACK disables the hack that prevents Pentiums (and ONLY
158# Pentiums) from locking up when a LOCK CMPXCHG8B instruction is
159# executed. This option is only needed if I586_CPU is also defined,
160# and should be included for any non-Pentium CPU that defines it.
161#
162# NO_MEMORY_HOLE is an optimisation for systems with AMD K6 processors
163# which indicates that the 15-16MB range is *definitely* not being
164# occupied by an ISA memory hole.
165#
166# NOTE 1: The options, CPU_BTB_EN, CPU_LOOP_EN, CPU_IORT,
167# CPU_LOOP_EN and CPU_RSTK_EN should not be used because of CPU bugs.
168# These options may crash your system.
169#
170# NOTE 2: If CYRIX_CACHE_REALLY_WORKS is not set, CPU cache is enabled
171# in write-through mode when revision < 2.7. If revision of Cyrix
172# 6x86 >= 2.7, CPU cache is always enabled in write-back mode.
173#
174# NOTE 3: This option may cause failures for software that requires
175# locked cycles in order to operate correctly.
176#
177options CPU_ATHLON_SSE_HACK
178options CPU_BLUELIGHTNING_3X
179options CPU_BLUELIGHTNING_FPU_OP_CACHE
180options CPU_BTB_EN
181options CPU_DIRECT_MAPPED_CACHE
182options CPU_DISABLE_5X86_LSSER
183options CPU_DISABLE_CMPXCHG
184#options CPU_DISABLE_SSE
185options CPU_ELAN
186options CPU_ELAN_PPS
187options CPU_ELAN_XTAL=32768000
188options CPU_ENABLE_LONGRUN
189options CPU_FASTER_5X86_FPU
190options CPU_GEODE
191options CPU_I486_ON_386
192options CPU_IORT
193options CPU_L2_LATENCY=5
194options CPU_LOOP_EN
195options CPU_PPRO2CELERON
196options CPU_RSTK_EN
197options CPU_SOEKRIS
198options CPU_SUSP_HLT
199options CPU_UPGRADE_HW_CACHE
200options CPU_WT_ALLOC
201options CYRIX_CACHE_WORKS
202options CYRIX_CACHE_REALLY_WORKS
203#options NO_F00F_HACK
204
205# Debug options
206options NPX_DEBUG # enable npx debugging
207
208#
209# PERFMON causes the driver for Pentium/Pentium Pro performance counters
210# to be compiled. See perfmon(4) for more information.
211#
212options PERFMON
213
214#
215# XBOX causes the kernel to be bootable on the Microsoft XBox console system.
216# The resulting kernel will auto-detect whether it is being booted on a XBox,
217# so kernels compiled with this option will also work on an ordinary PC.
218# This option require I686_CPU.
219#
220# xboxfb includes support for the XBox frame buffer device. It is fully USB-
221# keyboard aware, and will only be used if an xbox is detected. This option
222# (obviously) requires XBOX support in your kernel.
223#
224# NOTE: xboxfb currently conflicts with syscons(4); if you have an XBOX and
225# include both in your kernel; you will not get any video output. Ordinary
226# PC's do not suffer from this.
227#
228options XBOX
229device xboxfb
230
231
232#####################################################################
233# NETWORKING OPTIONS
234
235#
236# DEVICE_POLLING adds support for mixed interrupt-polling handling
237# of network device drivers, which has significant benefits in terms
238# of robustness to overloads and responsivity, as well as permitting
239# accurate scheduling of the CPU time between kernel network processing
240# and other activities. The drawback is a moderate (up to 1/HZ seconds)
241# potential increase in response times.
242# It is strongly recommended to use HZ=1000 or 2000 with DEVICE_POLLING
243# to achieve smoother behaviour.
244# Additionally, you can enable/disable polling at runtime with help of
245# the ifconfig(8) utility, and select the CPU fraction reserved to
246# userland with the sysctl variable kern.polling.user_frac
247# (default 50, range 0..100).
248#
249# Not all device drivers support this mode of operation at the time of
250# this writing. See polling(4) for more details.
251
252options DEVICE_POLLING
253
8#
9
10#
11# We want LINT to cover profiling as well.
12profile 2
13
14
15#####################################################################
16# SMP OPTIONS:
17#
18# The apic device enables the use of the I/O APIC for interrupt delivery.
19# The apic device can be used in both UP and SMP kernels, but is required
20# for SMP kernels. Thus, the apic device is not strictly an SMP option,
21# but it is a prerequisite for SMP.
22#
23# Notes:
24#
25# HTT CPUs should only be used if they are enabled in the BIOS. For
26# the ACPI case, ACPI only correctly tells us about any HTT CPUs if
27# they are enabled. However, most HTT systems do not list HTT CPUs
28# in the MP Table if they are enabled, thus we guess at the HTT CPUs
29# for the MP Table case. However, we shouldn't try to guess and use
30# these CPUs if HTT is disabled. Thus, HTT guessing is only enabled
31# for the MP Table if the user explicitly asks for it via the
32# MPTABLE_FORCE_HTT option. Do NOT use this option if you have HTT
33# disabled in your BIOS.
34#
35# IPI_PREEMPTION instructs the kernel to preempt threads running on other
36# CPUS if needed. Relies on the PREEMPTION option
37
38# Mandatory:
39device apic # I/O apic
40
41# Optional:
42options MPTABLE_FORCE_HTT # Enable HTT CPUs with the MP Table
43options IPI_PREEMPTION
44
45#
46# Watchdog routines.
47#
48options MP_WATCHDOG
49
50# Debugging options.
51#
52options STOP_NMI # Stop CPUS using NMI instead of IPI
53options COUNT_XINVLTLB_HITS # Counters for TLB events
54options COUNT_IPIS # Per-CPU IPI interrupt counters
55
56
57
58#####################################################################
59# CPU OPTIONS
60
61#
62# You must specify at least one CPU (the one you intend to run on);
63# deleting the specification for CPUs you don't need to use may make
64# parts of the system run faster.
65#
66cpu I486_CPU
67cpu I586_CPU # aka Pentium(tm)
68cpu I686_CPU # aka Pentium Pro(tm)
69
70#
71# Options for CPU features.
72#
73# CPU_ATHLON_SSE_HACK tries to enable SSE instructions when the BIOS has
74# forgotten to enable them.
75#
76# CPU_BLUELIGHTNING_3X enables triple-clock mode on IBM Blue Lightning
77# CPU if CPU supports it. The default is double-clock mode on
78# BlueLightning CPU box.
79#
80# CPU_BLUELIGHTNING_FPU_OP_CACHE enables FPU operand cache on IBM
81# BlueLightning CPU. It works only with Cyrix FPU, and this option
82# should not be used with Intel FPU.
83#
84# CPU_BTB_EN enables branch target buffer on Cyrix 5x86 (NOTE 1).
85#
86# CPU_CYRIX_NO_LOCK enables weak locking for the entire address space
87# of Cyrix 6x86 and 6x86MX CPUs by setting the NO_LOCK bit of CCR1.
88# Otherwise, the NO_LOCK bit of CCR1 is cleared. (NOTE 3)
89#
90# CPU_DIRECT_MAPPED_CACHE sets L1 cache of Cyrix 486DLC CPU in direct
91# mapped mode. Default is 2-way set associative mode.
92#
93# CPU_DISABLE_5X86_LSSER disables load store serialize (i.e., enables
94# reorder). This option should not be used if you use memory mapped
95# I/O device(s).
96#
97# CPU_DISABLE_CMPXCHG disables the CMPXCHG instruction on > i386 IA32
98# machines. VmWare 3.x seems to emulate this instruction poorly, causing
99# the guest OS to run very slowly. This problem appears to be fixed in
100# VmWare 4.x, at least in version 4.5.2, so that enabling this option with
101# VmWare 4.x will result in locking operations to be 20-30 times slower.
102# Enabling this with an SMP kernel will cause the kernel to be unusable.
103#
104# CPU_DISABLE_SSE explicitly prevents I686_CPU from turning on SSE.
105#
106# CPU_ELAN enables support for AMDs ElanSC520 CPU.
107# CPU_ELAN_PPS enables precision timestamp code.
108# CPU_ELAN_XTAL sets the clock crystal frequency in Hz.
109#
110# CPU_ENABLE_LONGRUN enables support for Transmeta Crusoe LongRun
111# technology which allows to restrict power consumption of the CPU by
112# using group of hw.crusoe.* sysctls.
113#
114# CPU_FASTER_5X86_FPU enables faster FPU exception handler.
115#
116# CPU_GEODE is for the SC1100 Geode embedded processor. This option
117# is necessary because the i8254 timecounter is toast.
118#
119# CPU_I486_ON_386 enables CPU cache on i486 based CPU upgrade products
120# for i386 machines.
121#
122# CPU_IORT defines I/O clock delay time (NOTE 1). Default values of
123# I/O clock delay time on Cyrix 5x86 and 6x86 are 0 and 7,respectively
124# (no clock delay).
125#
126# CPU_L2_LATENCY specifies the L2 cache latency value. This option is used
127# only when CPU_PPRO2CELERON is defined and Mendocino Celeron is detected.
128# The default value is 5.
129#
130# CPU_LOOP_EN prevents flushing the prefetch buffer if the destination
131# of a jump is already present in the prefetch buffer on Cyrix 5x86(NOTE
132# 1).
133#
134# CPU_PPRO2CELERON enables L2 cache of Mendocino Celeron CPUs. This option
135# is useful when you use Socket 8 to Socket 370 converter, because most Pentium
136# Pro BIOSs do not enable L2 cache of Mendocino Celeron CPUs.
137#
138# CPU_RSTK_EN enables return stack on Cyrix 5x86 (NOTE 1).
139#
140# CPU_SOEKRIS enables support www.soekris.com hardware.
141#
142# CPU_SUSP_HLT enables suspend on HALT. If this option is set, CPU
143# enters suspend mode following execution of HALT instruction.
144#
145# CPU_UPGRADE_HW_CACHE eliminates unneeded cache flush instruction(s).
146#
147# CPU_WT_ALLOC enables write allocation on Cyrix 6x86/6x86MX and AMD
148# K5/K6/K6-2 CPUs.
149#
150# CYRIX_CACHE_WORKS enables CPU cache on Cyrix 486 CPUs with cache
151# flush at hold state.
152#
153# CYRIX_CACHE_REALLY_WORKS enables (1) CPU cache on Cyrix 486 CPUs
154# without cache flush at hold state, and (2) write-back CPU cache on
155# Cyrix 6x86 whose revision < 2.7 (NOTE 2).
156#
157# NO_F00F_HACK disables the hack that prevents Pentiums (and ONLY
158# Pentiums) from locking up when a LOCK CMPXCHG8B instruction is
159# executed. This option is only needed if I586_CPU is also defined,
160# and should be included for any non-Pentium CPU that defines it.
161#
162# NO_MEMORY_HOLE is an optimisation for systems with AMD K6 processors
163# which indicates that the 15-16MB range is *definitely* not being
164# occupied by an ISA memory hole.
165#
166# NOTE 1: The options, CPU_BTB_EN, CPU_LOOP_EN, CPU_IORT,
167# CPU_LOOP_EN and CPU_RSTK_EN should not be used because of CPU bugs.
168# These options may crash your system.
169#
170# NOTE 2: If CYRIX_CACHE_REALLY_WORKS is not set, CPU cache is enabled
171# in write-through mode when revision < 2.7. If revision of Cyrix
172# 6x86 >= 2.7, CPU cache is always enabled in write-back mode.
173#
174# NOTE 3: This option may cause failures for software that requires
175# locked cycles in order to operate correctly.
176#
177options CPU_ATHLON_SSE_HACK
178options CPU_BLUELIGHTNING_3X
179options CPU_BLUELIGHTNING_FPU_OP_CACHE
180options CPU_BTB_EN
181options CPU_DIRECT_MAPPED_CACHE
182options CPU_DISABLE_5X86_LSSER
183options CPU_DISABLE_CMPXCHG
184#options CPU_DISABLE_SSE
185options CPU_ELAN
186options CPU_ELAN_PPS
187options CPU_ELAN_XTAL=32768000
188options CPU_ENABLE_LONGRUN
189options CPU_FASTER_5X86_FPU
190options CPU_GEODE
191options CPU_I486_ON_386
192options CPU_IORT
193options CPU_L2_LATENCY=5
194options CPU_LOOP_EN
195options CPU_PPRO2CELERON
196options CPU_RSTK_EN
197options CPU_SOEKRIS
198options CPU_SUSP_HLT
199options CPU_UPGRADE_HW_CACHE
200options CPU_WT_ALLOC
201options CYRIX_CACHE_WORKS
202options CYRIX_CACHE_REALLY_WORKS
203#options NO_F00F_HACK
204
205# Debug options
206options NPX_DEBUG # enable npx debugging
207
208#
209# PERFMON causes the driver for Pentium/Pentium Pro performance counters
210# to be compiled. See perfmon(4) for more information.
211#
212options PERFMON
213
214#
215# XBOX causes the kernel to be bootable on the Microsoft XBox console system.
216# The resulting kernel will auto-detect whether it is being booted on a XBox,
217# so kernels compiled with this option will also work on an ordinary PC.
218# This option require I686_CPU.
219#
220# xboxfb includes support for the XBox frame buffer device. It is fully USB-
221# keyboard aware, and will only be used if an xbox is detected. This option
222# (obviously) requires XBOX support in your kernel.
223#
224# NOTE: xboxfb currently conflicts with syscons(4); if you have an XBOX and
225# include both in your kernel; you will not get any video output. Ordinary
226# PC's do not suffer from this.
227#
228options XBOX
229device xboxfb
230
231
232#####################################################################
233# NETWORKING OPTIONS
234
235#
236# DEVICE_POLLING adds support for mixed interrupt-polling handling
237# of network device drivers, which has significant benefits in terms
238# of robustness to overloads and responsivity, as well as permitting
239# accurate scheduling of the CPU time between kernel network processing
240# and other activities. The drawback is a moderate (up to 1/HZ seconds)
241# potential increase in response times.
242# It is strongly recommended to use HZ=1000 or 2000 with DEVICE_POLLING
243# to achieve smoother behaviour.
244# Additionally, you can enable/disable polling at runtime with help of
245# the ifconfig(8) utility, and select the CPU fraction reserved to
246# userland with the sysctl variable kern.polling.user_frac
247# (default 50, range 0..100).
248#
249# Not all device drivers support this mode of operation at the time of
250# this writing. See polling(4) for more details.
251
252options DEVICE_POLLING
253
254# BPF_JITTER adds support for BPF just-in-time compiler.
255
256options BPF_JITTER
257
254
255#####################################################################
256# CLOCK OPTIONS
257
258# The following options are used for debugging clock behavior only, and
259# should not be used for production systems.
260
261# CLK_CALIBRATION_LOOP causes clock calibration to be run in a loop at
262# startup until the user presses a key. (The i8254 clock is always
263# calibrated relative to the RTC (mc146818a) and this option causes the
264# calibration to be repeated.)
265options CLK_CALIBRATION_LOOP
266
267# CLK_USE_I8254_CALIBRATION causes the calibrated frequency of the i8254
268# clock to actually be used.
269options CLK_USE_I8254_CALIBRATION
270
271# Provide read/write access to the memory in the clock chip.
272device nvram # Access to rtc cmos via /dev/nvram
273
274
275#####################################################################
276# MISCELLANEOUS DEVICES AND OPTIONS
277
278#
279# sio: serial ports (see sio(4)), including support for various
280# PC Card devices, such as Modem and NICs
281#
282device sio
283hint.sio.0.at="isa"
284hint.sio.0.port="0x3F8"
285hint.sio.0.flags="0x10"
286hint.sio.0.irq="4"
287
288# `flags' specific to sio(4).
289# 0x10 enable console support for this unit. Other console flags
290# (if applicable) are ignored unless this is set. Enabling
291# console support does not make the unit the preferred console.
292# Boot with -h or set boot_serial=YES in the loader. For sio(4)
293# specifically, the 0x20 flag can also be set (see above).
294# Currently, at most one unit can have console support; the
295# first one (in config file order) with this flag set is
296# preferred. Setting this flag for sio0 gives the old behaviour.
297# 0x20 force this unit to be the console (unless there is another
298# higher priority console). This replaces the COMCONSOLE option.
299# 0x40 reserve this unit for low level console operations. Do not
300# access the device in any normal way.
301# 0x80 use this port for serial line gdb support in ddb. Also known
302# as debug port.
303# PnP `flags'
304# 0x1 disable probing of this device. Used to prevent your modem
305# from being attached as a PnP modem.
306# Other flags for sio that aren't documented in the man page.
307# 0x20000 enable hardware RTS/CTS and larger FIFOs. Only works for
308# ST16650A-compatible UARTs.
309
310# Options for sio:
311options COM_ESP # Code for Hayes ESP.
312options COM_MULTIPORT # Code for some cards with shared IRQs.
313options CONSPEED=115200 # Speed for serial console
314 # (default 9600).
315
316device speaker #Play IBM BASIC-style noises out your speaker
317hint.speaker.0.at="isa"
318hint.speaker.0.port="0x61"
319device gzip #Exec gzipped a.out's. REQUIRES COMPAT_AOUT!
320device apm_saver # Requires APM
321
322
323#####################################################################
324# HARDWARE BUS CONFIGURATION
325
326#
327# ISA bus
328#
329device isa # Required by npx(4)
330
331#
332# Options for `isa':
333#
334# AUTO_EOI_1 enables the `automatic EOI' feature for the master 8259A
335# interrupt controller. This saves about 0.7-1.25 usec for each interrupt.
336# This option breaks suspend/resume on some portables.
337#
338# AUTO_EOI_2 enables the `automatic EOI' feature for the slave 8259A
339# interrupt controller. This saves about 0.7-1.25 usec for each interrupt.
340# Automatic EOI is documented not to work for for the slave with the
341# original i8259A, but it works for some clones and some integrated
342# versions.
343#
344# MAXMEM specifies the amount of RAM on the machine; if this is not
345# specified, FreeBSD will first read the amount of memory from the CMOS
346# RAM, so the amount of memory will initially be limited to 64MB or 16MB
347# depending on the BIOS. If the BIOS reports 64MB, a memory probe will
348# then attempt to detect the installed amount of RAM. If this probe
349# fails to detect >64MB RAM you will have to use the MAXMEM option.
350# The amount is in kilobytes, so for a machine with 128MB of RAM, it would
351# be 131072 (128 * 1024).
352#
353# BROKEN_KEYBOARD_RESET disables the use of the keyboard controller to
354# reset the CPU for reboot. This is needed on some systems with broken
355# keyboard controllers.
356
357options AUTO_EOI_1
358#options AUTO_EOI_2
359
360options MAXMEM=(128*1024)
361#options BROKEN_KEYBOARD_RESET
362
363#
364# EISA bus
365#
366# The EISA bus device is `eisa'. It provides auto-detection and
367# configuration support for all devices on the EISA bus.
368
369device eisa
370
371# By default, only 10 EISA slots are probed, since the slot numbers
372# above clash with the configuration address space of the PCI subsystem,
373# and the EISA probe is not very smart about this. This is sufficient
374# for most machines, but in particular the HP NetServer LC series comes
375# with an onboard AIC7770 dual-channel SCSI controller on EISA slot #11,
376# thus you need to bump this figure to 12 for them.
377options EISA_SLOTS=12
378
379#
380# MCA bus:
381#
382# The MCA bus device is `mca'. It provides auto-detection and
383# configuration support for all devices on the MCA bus.
384# No hints are required for MCA.
385
386device mca
387
388#
389# PCI bus & PCI options:
390#
391device pci
392
393#
394# AGP GART support
395device agp
396
397
398#####################################################################
399# HARDWARE DEVICE CONFIGURATION
400
401# To include support for VGA VESA video modes
402options VESA
403
404# Turn on extra debugging checks and output for VESA support.
405options VESA_DEBUG
406
407#
408# The Numeric Processing eXtension driver. This is non-optional.
409device npx
410hint.npx.0.flags="0x0"
411hint.npx.0.irq="13"
412
413#
414# `flags' for npx0:
415# 0x01 don't use the npx registers to optimize bcopy.
416# 0x02 don't use the npx registers to optimize bzero.
417# 0x04 don't use the npx registers to optimize copyin or copyout.
418# The npx registers are normally used to optimize copying and zeroing when
419# all of the following conditions are satisfied:
420# I586_CPU is an option
421# the cpu is an i586 (perhaps not a Pentium)
422# the probe for npx0 succeeds
423# INT 16 exception handling works.
424# Then copying and zeroing using the npx registers is normally 30-100% faster.
425# The flags can be used to control cases where it doesn't work or is slower.
426# Setting them at boot time using hints works right (the optimizations
427# are not used until later in the bootstrap when npx0 is attached).
428# Flag 0x08 automatically disables the i586 optimized routines.
429#
430
431#
432# Optional devices:
433#
434
435# PS/2 mouse
436device psm
437hint.psm.0.at="atkbdc"
438hint.psm.0.irq="12"
439
440# Options for psm:
441options PSM_HOOKRESUME #hook the system resume event, useful
442 #for some laptops
443options PSM_RESETAFTERSUSPEND #reset the device at the resume event
444
445# The keyboard controller; it controls the keyboard and the PS/2 mouse.
446device atkbdc
447hint.atkbdc.0.at="isa"
448hint.atkbdc.0.port="0x060"
449
450# The AT keyboard
451device atkbd
452hint.atkbd.0.at="atkbdc"
453hint.atkbd.0.irq="1"
454
455# Options for atkbd:
456options ATKBD_DFLT_KEYMAP # specify the built-in keymap
457makeoptions ATKBD_DFLT_KEYMAP=jp.106
458
459# `flags' for atkbd:
460# 0x01 Force detection of keyboard, else we always assume a keyboard
461# 0x02 Don't reset keyboard, useful for some newer ThinkPads
462# 0x03 Force detection and avoid reset, might help with certain
463# dockingstations
464# 0x04 Old-style (XT) keyboard support, useful for older ThinkPads
465
466# Video card driver for VGA adapters.
467device vga
468hint.vga.0.at="isa"
469
470# Options for vga:
471# Try the following option if the mouse pointer is not drawn correctly
472# or font does not seem to be loaded properly. May cause flicker on
473# some systems.
474options VGA_ALT_SEQACCESS
475
476# If you can dispense with some vga driver features, you may want to
477# use the following options to save some memory.
478#options VGA_NO_FONT_LOADING # don't save/load font
479#options VGA_NO_MODE_CHANGE # don't change video modes
480
481# Older video cards may require this option for proper operation.
482options VGA_SLOW_IOACCESS # do byte-wide i/o's to TS and GDC regs
483
484# The following option probably won't work with the LCD displays.
485options VGA_WIDTH90 # support 90 column modes
486
487# Debugging.
488options VGA_DEBUG
489
490# 3Dfx Voodoo Graphics, Voodoo II /dev/3dfx CDEV support. This will create
491# the /dev/3dfx0 device to work with glide implementations. This should get
492# linked to /dev/3dfx and /dev/voodoo. Note that this is not the same as
493# the tdfx DRI module from XFree86 and is completely unrelated.
494#
495# To enable Linuxulator support, one must also include COMPAT_LINUX in the
496# config as well. The other option is to load both as modules.
497
498device tdfx # Enable 3Dfx Voodoo support
499device tdfx_linux # Enable Linuxulator support
500
501#
502# ACPI support using the Intel ACPI Component Architecture reference
503# implementation.
504#
505# ACPI_DEBUG enables the use of the debug.acpi.level and debug.acpi.layer
506# kernel environment variables to select initial debugging levels for the
507# Intel ACPICA code. (Note that the Intel code must also have USE_DEBUGGER
508# defined when it is built).
509#
510# ACPI_NO_SEMAPHORES makes the AcpiOs*Semaphore routines a no-op.
511#
512# Note that building ACPI into the kernel is deprecated; the module is
513# normally loaded automatically by the loader.
514
515device acpi
516options ACPI_DEBUG
517#!options ACPI_NO_SEMAPHORES
518
519# ACPI Asus Desktop Extras. (voltage, temp, fan)
520device acpi_aiboost
521
522# ACPI Asus Extras (LCD backlight/brightness, video output, etc.)
523device acpi_asus
524
525# ACPI Fujitsu Extras (Buttons)
526device acpi_fujitsu
527
528# ACPI extras driver for IBM laptops
529device acpi_ibm
530
531# ACPI Panasonic Extras (LCD backlight/brightness, video output, etc.)
532device acpi_panasonic
533
534# ACPI Sony extra (LCD brightness)
535device acpi_sony
536
537# ACPI Toshiba Extras (LCD backlight/brightness, video output, etc.)
538device acpi_toshiba
539
540# ACPI Video Extensions (LCD backlight/brightness, video output, etc.)
541device acpi_video
542
543# ACPI Docking Station
544device acpi_dock
545
546# The cpufreq(4) driver provides support for non-ACPI CPU frequency control
547device cpufreq
548
549# Direct Rendering modules for 3D acceleration.
550device drm # DRM core module required by DRM drivers
551device i915drm # Intel i830 through i915
552device mach64drm # ATI Rage Pro, Rage Mobility P/M, Rage XL
553device mgadrm # AGP Matrox G200, G400, G450, G550
554device r128drm # ATI Rage 128
555device radeondrm # ATI Radeon
556device savagedrm # S3 Savage3D, Savage4
557device sisdrm # SiS 300/305, 540, 630
558device tdfxdrm # 3dfx Voodoo 3/4/5 and Banshee
559options DRM_DEBUG # Include debug printfs (slow)
560
561#
562# mse: Logitech and ATI InPort bus mouse ports
563
564device mse
565hint.mse.0.at="isa"
566hint.mse.0.port="0x23c"
567hint.mse.0.irq="5"
568
569#
570# Network interfaces:
571#
572
573# ar: Arnet SYNC/570i hdlc sync 2/4 port V.35/X.21 serial driver
574# (requires sppp)
575# arl: Aironet Arlan 655 wireless adapters.
576# ath: Atheros a/b/g WiFi adapters (requires ath_hal and wlan)
577# ce: Cronyx Tau-PCI/32 sync single/dual port G.703/E1 serial adaptor
578# with 32 HDLC subchannels (requires sppp (default), or NETGRAPH if
579# NETGRAPH_CRONYX is configured)
580# cp: Cronyx Tau-PCI sync single/dual/four port
581# V.35/RS-232/RS-530/RS-449/X.21/G.703/E1/E3/T3/STS-1
582# serial adaptor (requires sppp (default), or NETGRAPH if
583# NETGRAPH_CRONYX is configured)
584# cs: IBM Etherjet and other Crystal Semi CS89x0-based adapters
585# ctau: Cronyx Tau sync dual port V.35/RS-232/RS-530/RS-449/X.21/G.703/E1
586# serial adaptor (requires sppp (default), or NETGRAPH if
587# NETGRAPH_CRONYX is configured)
588# cx: Cronyx Sigma multiport sync/async adapter (requires sppp (default),
589# or NETGRAPH if NETGRAPH_CRONYX is configured)
590# ed: Western Digital and SMC 80xx; Novell NE1000 and NE2000; 3Com 3C503
591# HP PC Lan+, various PC Card devices
592# (requires miibus)
593# ie: AT&T StarLAN 10 and EN100; 3Com 3C507; unknown NI5210;
594# Intel EtherExpress
595# ipw: Intel PRO/Wireless 2100 IEEE 802.11 adapter
596# iwi: Intel PRO/Wireless 2200BG/2225BG/2915ABG IEEE 802.11 adapters
597# nfe: nVidia nForce MCP on-board Ethernet Networking (BSD open source)
598# nve: nVidia nForce MCP on-board Ethernet Networking
599# oltr: Olicom ISA token-ring adapters OC-3115, OC-3117, OC-3118 and OC-3133.
600# Olicom PCI token-ring adapters OC-3136, OC-3137, OC-3139, OC-3140,
601# OC-3141, OC-3540 and OC-3250.
602# ral: Ralink Technology IEEE 802.11 wireless adapter
603# sbni: Granch SBNI12-xx ISA and PCI adapters
604# sr: RISCom/N2 hdlc sync 1/2 port V.35/X.21 serial driver (requires sppp)
605# ural: Ralink Technology RT2500USB IEEE 802.11 wireless adapter
606# wl: Lucent Wavelan (ISA card only).
607# wpi: Intel 3945ABG Wireless LAN controller
608
609# Order for ISA/EISA devices is important here
610
611device ar
612hint.ar.0.at="isa"
613hint.ar.0.port="0x300"
614hint.ar.0.irq="10"
615hint.ar.0.maddr="0xd0000"
616device arl
617hint.arl.0.at="isa"
618hint.arl.0.irq="9"
619hint.arl.0.maddr="0xd0000"
620device ce
621device cp
622device cs
623hint.cs.0.at="isa"
624hint.cs.0.port="0x300"
625device ctau
626hint.ctau.0.at="isa"
627hint.ctau.0.port="0x240"
628hint.ctau.0.irq="15"
629hint.ctau.0.drq="7"
630device cx
631hint.cx.0.at="isa"
632hint.cx.0.port="0x240"
633hint.cx.0.irq="15"
634hint.cx.0.drq="7"
635#options NETGRAPH_CRONYX # Enable NETGRAPH support for Cronyx adapter(s)
636device ed
637options ED_3C503
638options ED_HPP
639options ED_SIC
640hint.ed.0.at="isa"
641hint.ed.0.port="0x280"
642hint.ed.0.irq="5"
643hint.ed.0.maddr="0xd8000"
644device ie # Hints only required for Starlan
645hint.ie.2.at="isa"
646hint.ie.2.port="0x300"
647hint.ie.2.irq="5"
648hint.ie.2.maddr="0xd0000"
649device iwi
650device ipw
651# Hint for the i386-only ISA front-end of le(4).
652hint.le.0.at="isa"
653hint.le.0.port="0x280"
654hint.le.0.irq="10"
655hint.le.0.drq="0"
656device nfe # nVidia nForce MCP on-board Ethernet Networking
657device nve # nVidia nForce MCP on-board Ethernet Networking
658device oltr
659hint.oltr.0.at="isa"
660device ral
661device sbni
662hint.sbni.0.at="isa"
663hint.sbni.0.port="0x210"
664hint.sbni.0.irq="0xefdead"
665hint.sbni.0.flags="0"
666device sr
667hint.sr.0.at="isa"
668hint.sr.0.port="0x300"
669hint.sr.0.irq="5"
670hint.sr.0.maddr="0xd0000"
671device ural
672device wl
673hint.wl.0.at="isa"
674hint.wl.0.port="0x300"
675options WLCACHE # enables the signal-strength cache
676options WLDEBUG # enables verbose debugging output
677device wpi
678
679device ath
680device ath_hal # Atheros HAL (includes binary component)
681#device ath_rate_amrr # AMRR rate control for ath driver
682#device ath_rate_onoe # Onoe rate control for ath driver
683device ath_rate_sample # SampleRate rate control for the ath driver
684#device wlan # 802.11 layer
685
686#
687# ATA raid adapters
688#
689device pst
690
691#
692# Areca 11xx and 12xx series of SATA II RAID controllers.
693# CAM is required.
694#
695device arcmsr # Areca SATA II RAID
696
697#
698# 3ware 9000 series PATA/SATA RAID controller driver and options.
699# The driver is implemented as a SIM, and so, needs the CAM infrastructure.
700#
701options TWA_DEBUG # 0-10; 10 prints the most messages.
702options TWA_FLASH_FIRMWARE # firmware image bundled when defined.
703device twa # 3ware 9000 series PATA/SATA RAID
704
705#
706# SCSI host adapters:
707#
708# ncv: NCR 53C500 based SCSI host adapters.
709# nsp: Workbit Ninja SCSI-3 based PC Card SCSI host adapters.
710# stg: TMC 18C30, 18C50 based SCSI host adapters.
711
712device ncv
713device nsp
714device stg
715hint.stg.0.at="isa"
716hint.stg.0.port="0x140"
717hint.stg.0.port="11"
718
719#
720# Adaptec FSA RAID controllers, including integrated DELL controllers,
721# the Dell PERC 2/QC and the HP NetRAID-4M
722device aac
723device aacp # SCSI Passthrough interface (optional, CAM required)
724
725# The 'asr' driver provides support for current DPT/Adaptec SCSI RAID
726# controllers (SmartRAID V and VI and later).
727# These controllers require the CAM infrastructure.
728#
729device asr
730
731#
732# Highpoint RocketRAID 182x.
733device hptmv
734
735#
736# Highpoint RocketRAID. Supports RR172x, RR222x, RR2240, RR232x, RR2340,
737# RR2210, RR174x, RR2522, RR231x, RR230x.
738device hptrr
739
740#
741# Highpoint RocketRaid 3xxx series SATA RAID
742device hptiop
743
744#
745# IBM (now Adaptec) ServeRAID controllers
746device ips
747
748#
749# SafeNet crypto driver: can be moved to the MI NOTES as soon as
750# it's tested on a big-endian machine
751#
752device safe # SafeNet 1141
753options SAFE_DEBUG # enable debugging support: hw.safe.debug
754options SAFE_RNDTEST # enable rndtest support
755
756#####################################################################
757
758#
759# Miscellaneous hardware:
760#
761# apm: Laptop Advanced Power Management (experimental)
762# ipmi: Intelligent Platform Management Interface
763# pmtimer: Timer device driver for power management events (APM or ACPI)
764# smapi: System Management Application Program Interface driver
765# smbios: DMI/SMBIOS entry point
766# vpd: Vital Product Data kernel interface
767# cy: Cyclades serial driver
768# digi: Digiboard driver
769# spic: Sony Programmable I/O controller (VAIO notebooks)
770# asmc: Apple System Management Controller
771
772# Notes on APM
773# The flags takes the following meaning for apm0:
774# 0x0020 Statclock is broken.
775
776# Notes on the Specialix SI/XIO driver:
777# The host card is memory, not IO mapped.
778# The Rev 1 host cards use a 64K chunk, on a 32K boundary.
779# The Rev 2 host cards use a 32K chunk, on a 32K boundary.
780# The cards can use an IRQ of 11, 12 or 15.
781
782# Notes on the Sony Programmable I/O controller
783# This is a temporary driver that should someday be replaced by something
784# that hooks into the ACPI layer. The device is hooked to the PIIX4's
785# General Device 10 decoder, which means you have to fiddle with PCI
786# registers to map it in, even though it is otherwise treated here as
787# an ISA device. At the moment, the driver polls, although the device
788# is capable of generating interrupts. It largely undocumented.
789# The port location in the hint is where you WANT the device to be
790# mapped. 0x10a0 seems to be traditional. At the moment the jogdial
791# is the only thing truly supported, but apparently a fair percentage
792# of the Vaio extra features are controlled by this device.
793
794device apm
795hint.apm.0.flags="0x20"
796device ipmi
797device smapi
798device smbios
799device vpd
800device pmtimer # Adjust system timer at wakeup time
801device cy
802options CY_PCI_FASTINTR # Use with cy_pci unless irq is shared
803hint.cy.0.at="isa"
804hint.cy.0.irq="10"
805hint.cy.0.maddr="0xd4000"
806hint.cy.0.msize="0x2000"
807device digi
808hint.digi.0.at="isa"
809hint.digi.0.port="0x104"
810hint.digi.0.maddr="0xd0000"
811# BIOS & FEP/OS components of device digi.
812device digi_CX
813device digi_CX_PCI
814device digi_EPCX
815device digi_EPCX_PCI
816device digi_Xe
817device digi_Xem
818device digi_Xr
819# Parallel (8255 PPI) basic I/O (mode 0) port (e.g. Advantech PCL-724)
820device pbio
821hint.pbio.0.at="isa"
822hint.pbio.0.port="0x360"
823device spic
824hint.spic.0.at="isa"
825hint.spic.0.port="0x10a0"
826device asmc
827#
828# Laptop/Notebook options:
829#
830# See also:
831# apm under `Miscellaneous hardware'
832# above.
833
834# For older notebooks that signal a powerfail condition (external
835# power supply dropped, or battery state low) by issuing an NMI:
836
837options POWERFAIL_NMI # make it beep instead of panicing
838
839#
840# I2C Bus
841#
842# Philips i2c bus support is provided by the `iicbus' device.
843#
844# Supported interfaces:
845# pcf Philips PCF8584 ISA-bus controller
846#
847device pcf
848hint.pcf.0.at="isa"
849hint.pcf.0.port="0x320"
850hint.pcf.0.irq="5"
851
852#
853# Hardware watchdog timers:
854#
855# ichwd: Intel ICH watchdog timer
856#
857device ichwd
858
859#
860# Temperature sensors:
861#
862# coretemp: on-die sensor on Intel Core and newer CPUs
863#
864device coretemp
865
866#---------------------------------------------------------------------------
867# ISDN4BSD
868#
869# See /usr/share/examples/isdn/ROADMAP for an introduction to isdn4bsd.
870#
871# i4b passive ISDN cards support contains the following hardware drivers:
872#
873# isic - Siemens/Infineon ISDN ISAC/HSCX/IPAC chipset driver
874# iwic - Winbond W6692 PCI bus ISDN S/T interface controller
875# ifpi - AVM Fritz!Card PCI driver
876# ifpi2 - AVM Fritz!Card PCI version 2 driver
877# ihfc - Cologne Chip HFC ISA/ISA-PnP chipset driver
878# ifpnp - AVM Fritz!Card PnP driver
879# itjc - Siemens ISAC / TJNet Tiger300/320 chipset
880#
881# i4b active ISDN cards support contains the following hardware drivers:
882#
883# iavc - AVM B1 PCI, AVM B1 ISA, AVM T1
884#
885# Note that the ``options'' (if given) and ``device'' lines must BOTH
886# be uncommented to enable support for a given card !
887#
888# In addition to a hardware driver (and probably an option) the mandatory
889# ISDN protocol stack devices and the mandatory support device must be
890# enabled as well as one or more devices from the optional devices section.
891#
892#---------------------------------------------------------------------------
893# isic driver (Siemens/Infineon chipsets)
894#
895device isic
896#
897# ISA bus non-PnP Cards:
898# ----------------------
899#
900# Teles S0/8 or Niccy 1008
901options TEL_S0_8
902hint.isic.0.at="isa"
903hint.isic.0.maddr="0xd0000"
904hint.isic.0.irq="5"
905hint.isic.0.flags="1"
906#
907# Teles S0/16 or Creatix ISDN-S0 or Niccy 1016
908options TEL_S0_16
909hint.isic.0.at="isa"
910hint.isic.0.port="0xd80"
911hint.isic.0.maddr="0xd0000"
912hint.isic.0.irq="5"
913hint.isic.0.flags="2"
914#
915# Teles S0/16.3
916options TEL_S0_16_3
917hint.isic.0.at="isa"
918hint.isic.0.port="0xd80"
919hint.isic.0.irq="5"
920hint.isic.0.flags="3"
921#
922# AVM A1 or AVM Fritz!Card
923options AVM_A1
924hint.isic.0.at="isa"
925hint.isic.0.port="0x340"
926hint.isic.0.irq="5"
927hint.isic.0.flags="4"
928#
929# USRobotics Sportster ISDN TA intern
930options USR_STI
931hint.isic.0.at="isa"
932hint.isic.0.port="0x268"
933hint.isic.0.irq="5"
934hint.isic.0.flags="7"
935#
936# ITK ix1 Micro ( < V.3, non-PnP version )
937options ITKIX1
938hint.isic.0.at="isa"
939hint.isic.0.port="0x398"
940hint.isic.0.irq="10"
941hint.isic.0.flags="18"
942#
943# ELSA PCC-16
944options ELSA_PCC16
945hint.isic.0.at="isa"
946hint.isic.0.port="0x360"
947hint.isic.0.irq="10"
948hint.isic.0.flags="20"
949#
950# ISA bus PnP Cards:
951# ------------------
952#
953# Teles S0/16.3 PnP
954options TEL_S0_16_3_P
955#
956# Creatix ISDN-S0 P&P
957options CRTX_S0_P
958#
959# Dr. Neuhaus Niccy Go@
960options DRN_NGO
961#
962# Sedlbauer Win Speed
963options SEDLBAUER
964#
965# Dynalink IS64PH
966options DYNALINK
967#
968# ELSA QuickStep 1000pro ISA
969options ELSA_QS1ISA
970#
971# Siemens I-Surf 2.0
972options SIEMENS_ISURF2
973#
974# Asuscom ISDNlink 128K ISA
975options ASUSCOM_IPAC
976#
977# Eicon Diehl DIVA 2.0 and 2.02
978options EICON_DIVA
979#
980# Compaq Microcom 610 ISDN card (Compaq series PSB2222I)
981options COMPAQ_M610
982#
983# PCI bus Cards:
984# --------------
985#
986# ELSA MicroLink ISDN/PCI (same as ELSA QuickStep 1000pro PCI)
987options ELSA_QS1PCI
988#
989#---------------------------------------------------------------------------
990# ifpnp driver for AVM Fritz!Card PnP
991#
992# AVM Fritz!Card PnP
993device ifpnp
994#
995#---------------------------------------------------------------------------
996# ihfc driver for Cologne Chip ISA chipsets (experimental!)
997#
998# Teles 16.3c ISA PnP
999# AcerISDN P10 ISA PnP
1000# TELEINT ISDN SPEED No.1
1001device ihfc
1002#
1003#---------------------------------------------------------------------------
1004# ifpi driver for AVM Fritz!Card PCI
1005#
1006# AVM Fritz!Card PCI
1007device ifpi
1008#
1009#---------------------------------------------------------------------------
1010# ifpi2 driver for AVM Fritz!Card PCI version 2
1011#
1012# AVM Fritz!Card PCI version 2
1013device ifpi2
1014#
1015#---------------------------------------------------------------------------
1016# iwic driver for Winbond W6692 chipset
1017#
1018# ASUSCOM P-IN100-ST-D (and other Winbond W6692 based cards)
1019device iwic
1020#
1021#---------------------------------------------------------------------------
1022# itjc driver for Siemens ISAC / TJNet Tiger300/320 chipset
1023#
1024# Traverse Technologies NETjet-S
1025# Teles PCI-TJ
1026device itjc
1027#
1028#---------------------------------------------------------------------------
1029# iavc driver (AVM active cards, needs i4bcapi driver!)
1030#
1031device iavc
1032#
1033# AVM B1 ISA bus (PnP mode not supported!)
1034# ----------------------------------------
1035hint.iavc.0.at="isa"
1036hint.iavc.0.port="0x150"
1037hint.iavc.0.irq="5"
1038#
1039#---------------------------------------------------------------------------
1040# ISDN Protocol Stack - mandatory for all hardware drivers
1041#
1042# Q.921 / layer 2 - i4b passive cards D channel handling
1043device i4bq921
1044#
1045# Q.931 / layer 3 - i4b passive cards D channel handling
1046device i4bq931
1047#
1048# layer 4 - i4b common passive and active card handling
1049device i4b
1050#
1051#---------------------------------------------------------------------------
1052# ISDN devices - mandatory for all hardware drivers
1053#
1054# userland driver to do ISDN tracing (for passive cards only)
1055device i4btrc
1056options NI4BTRC=4
1057#
1058# userland driver to control the whole thing
1059device i4bctl
1060#
1061#---------------------------------------------------------------------------
1062# ISDN devices - optional
1063#
1064# userland driver for access to raw B channel
1065device i4brbch
1066options NI4BRBCH=4
1067#
1068# userland driver for telephony
1069device i4btel
1070options NI4BTEL=2
1071#
1072#XXXBZ# IPR and ISPPP are not usable until I4B is locked.
1073# network driver for IP over raw HDLC ISDN
1074#XXXBZ#device i4bipr
1075#XXXBZ#options NI4BIPR=4
1076# enable VJ header compression detection for ipr i/f
1077#XXXBZ#options IPR_VJ
1078# enable logging of the first n IP packets to isdnd (n=32 here)
1079#XXXBZ#options IPR_LOG=32
1080#
1081# network driver for sync PPP over ISDN; requires an equivalent
1082# number of sppp device to be configured
1083#XXXBZ#device i4bisppp
1084#XXXBZ#options NI4BISPPP=4
1085#
1086# B-channel interface to the netgraph subsystem
1087#XXXBZ#device i4bing
1088#XXXBZ#options NI4BING=2
1089#
1090# CAPI driver needed for active ISDN cards (see iavc driver above)
1091device i4bcapi
1092#
1093#---------------------------------------------------------------------------
1094
1095#
1096# System Management Bus (SMB)
1097#
1098options ENABLE_ALART # Control alarm on Intel intpm driver
1099
1100#
1101# Set the number of PV entries per process. Increasing this can
1102# stop panics related to heavy use of shared memory. However, that can
1103# (combined with large amounts of physical memory) cause panics at
1104# boot time due the kernel running out of VM space.
1105#
1106# If you're tweaking this, you might also want to increase the sysctls
1107# "vm.v_free_min", "vm.v_free_reserved", and "vm.v_free_target".
1108#
1109# The value below is the one more than the default.
1110#
1111options PMAP_SHPGPERPROC=201
1112
1113#
1114# Change the size of the kernel virtual address space. Due to
1115# constraints in loader(8) on i386, this must be a multiple of 4.
1116# 256 = 1 GB of kernel address space. Increasing this also causes
1117# a reduction of the address space in user processes. 512 splits
1118# the 4GB cpu address space in half (2GB user, 2GB kernel). For PAE
1119# kernels, the value will need to be double non-PAE. A value of 1024
1120# for PAE kernels is necessary to split the address space in half.
1121# This will likely need to be increased to handle memory sizes >4GB.
1122# PAE kernels default to a value of 512.
1123#
1124options KVA_PAGES=260
1125
1126
1127#####################################################################
1128# ABI Emulation
1129
1130# Enable iBCS2 runtime support for SCO and ISC binaries
1131options IBCS2
1132
1133# Emulate spx device for client side of SVR3 local X interface
1134options SPX_HACK
1135
1136# Enable Linux ABI emulation
1137options COMPAT_LINUX
1138
1139# Enable i386 a.out binary support
1140options COMPAT_AOUT
1141
1142# Enable the linux-like proc filesystem support (requires COMPAT_LINUX
1143# and PSEUDOFS)
1144options LINPROCFS
1145
1146#Enable the linux-like sys filesystem support (requires COMPAT_LINUX
1147# and PSEUDOFS)
1148options LINSYSFS
1149
1150#
1151# SysVR4 ABI emulation
1152#
1153# The svr4 ABI emulator can be statically compiled into the kernel or loaded as
1154# a KLD module.
1155# The STREAMS network emulation code can also be compiled statically or as a
1156# module. If loaded as a module, it must be loaded before the svr4 module
1157# (the /usr/sbin/svr4 script does this for you). If compiling statically,
1158# the `streams' device must be configured into any kernel which also
1159# specifies COMPAT_SVR4. It is possible to have a statically-configured
1160# STREAMS device and a dynamically loadable svr4 emulator; the /usr/sbin/svr4
1161# script understands that it doesn't need to load the `streams' module under
1162# those circumstances.
1163# Caveat: At this time, `options KTRACE' is required for the svr4 emulator
1164# (whether static or dynamic).
1165#
1166options COMPAT_SVR4 # build emulator statically
1167options DEBUG_SVR4 # enable verbose debugging
1168device streams # STREAMS network driver (required for svr4).
1169
1170# Enable NDIS binary driver support
1171options NDISAPI
1172device ndis
1173
1174
1175#####################################################################
1176# VM OPTIONS
1177
1178# Disable the 4 MByte page PSE CPU feature. The PSE feature allows the
1179# kernel to use 4 MByte pages to map the kernel instead of 4k pages.
1180# This saves on the amount of memory needed for page tables needed to
1181# map the kernel. You should only disable this feature as a temporary
1182# workaround if you are having problems with it enabled.
1183#
1184#options DISABLE_PSE
1185
1186# Disable the global pages PGE CPU feature. The PGE feature allows pages
1187# to be marked with the PG_G bit. TLB entries for these pages are not
1188# flushed from the cache when %cr3 is reloaded. This can make context
1189# switches less expensive. You should only disable this feature as a
1190# temporary workaround if you are having problems with it enabled.
1191#
1192#options DISABLE_PG_G
1193
1194# KSTACK_PAGES is the number of memory pages to assign to the kernel
1195# stack of each thread.
1196
1197options KSTACK_PAGES=3
1198
1199#####################################################################
1200
1201# More undocumented options for linting.
1202# Note that documenting these are not considered an affront.
1203
1204options FB_INSTALL_CDEV # install a CDEV entry in /dev
1205
1206# PECOFF module (Win32 Execution Format)
1207options PECOFF_SUPPORT
1208options PECOFF_DEBUG
1209
1210options I4B_SMP_WORKAROUND
1211options I586_PMC_GUPROF=0x70000
1212options KBDIO_DEBUG=2
1213options KBD_MAXRETRY=4
1214options KBD_MAXWAIT=6
1215options KBD_RESETDELAY=201
1216
1217options PSM_DEBUG=1
1218
1219options TIMER_FREQ=((14318182+6)/12)
1220
1221options VM_KMEM_SIZE
1222options VM_KMEM_SIZE_MAX
1223options VM_KMEM_SIZE_SCALE
1224
1225
1226# asr old ioctls support, needed by raidutils
1227
1228options ASR_COMPAT
258
259#####################################################################
260# CLOCK OPTIONS
261
262# The following options are used for debugging clock behavior only, and
263# should not be used for production systems.
264
265# CLK_CALIBRATION_LOOP causes clock calibration to be run in a loop at
266# startup until the user presses a key. (The i8254 clock is always
267# calibrated relative to the RTC (mc146818a) and this option causes the
268# calibration to be repeated.)
269options CLK_CALIBRATION_LOOP
270
271# CLK_USE_I8254_CALIBRATION causes the calibrated frequency of the i8254
272# clock to actually be used.
273options CLK_USE_I8254_CALIBRATION
274
275# Provide read/write access to the memory in the clock chip.
276device nvram # Access to rtc cmos via /dev/nvram
277
278
279#####################################################################
280# MISCELLANEOUS DEVICES AND OPTIONS
281
282#
283# sio: serial ports (see sio(4)), including support for various
284# PC Card devices, such as Modem and NICs
285#
286device sio
287hint.sio.0.at="isa"
288hint.sio.0.port="0x3F8"
289hint.sio.0.flags="0x10"
290hint.sio.0.irq="4"
291
292# `flags' specific to sio(4).
293# 0x10 enable console support for this unit. Other console flags
294# (if applicable) are ignored unless this is set. Enabling
295# console support does not make the unit the preferred console.
296# Boot with -h or set boot_serial=YES in the loader. For sio(4)
297# specifically, the 0x20 flag can also be set (see above).
298# Currently, at most one unit can have console support; the
299# first one (in config file order) with this flag set is
300# preferred. Setting this flag for sio0 gives the old behaviour.
301# 0x20 force this unit to be the console (unless there is another
302# higher priority console). This replaces the COMCONSOLE option.
303# 0x40 reserve this unit for low level console operations. Do not
304# access the device in any normal way.
305# 0x80 use this port for serial line gdb support in ddb. Also known
306# as debug port.
307# PnP `flags'
308# 0x1 disable probing of this device. Used to prevent your modem
309# from being attached as a PnP modem.
310# Other flags for sio that aren't documented in the man page.
311# 0x20000 enable hardware RTS/CTS and larger FIFOs. Only works for
312# ST16650A-compatible UARTs.
313
314# Options for sio:
315options COM_ESP # Code for Hayes ESP.
316options COM_MULTIPORT # Code for some cards with shared IRQs.
317options CONSPEED=115200 # Speed for serial console
318 # (default 9600).
319
320device speaker #Play IBM BASIC-style noises out your speaker
321hint.speaker.0.at="isa"
322hint.speaker.0.port="0x61"
323device gzip #Exec gzipped a.out's. REQUIRES COMPAT_AOUT!
324device apm_saver # Requires APM
325
326
327#####################################################################
328# HARDWARE BUS CONFIGURATION
329
330#
331# ISA bus
332#
333device isa # Required by npx(4)
334
335#
336# Options for `isa':
337#
338# AUTO_EOI_1 enables the `automatic EOI' feature for the master 8259A
339# interrupt controller. This saves about 0.7-1.25 usec for each interrupt.
340# This option breaks suspend/resume on some portables.
341#
342# AUTO_EOI_2 enables the `automatic EOI' feature for the slave 8259A
343# interrupt controller. This saves about 0.7-1.25 usec for each interrupt.
344# Automatic EOI is documented not to work for for the slave with the
345# original i8259A, but it works for some clones and some integrated
346# versions.
347#
348# MAXMEM specifies the amount of RAM on the machine; if this is not
349# specified, FreeBSD will first read the amount of memory from the CMOS
350# RAM, so the amount of memory will initially be limited to 64MB or 16MB
351# depending on the BIOS. If the BIOS reports 64MB, a memory probe will
352# then attempt to detect the installed amount of RAM. If this probe
353# fails to detect >64MB RAM you will have to use the MAXMEM option.
354# The amount is in kilobytes, so for a machine with 128MB of RAM, it would
355# be 131072 (128 * 1024).
356#
357# BROKEN_KEYBOARD_RESET disables the use of the keyboard controller to
358# reset the CPU for reboot. This is needed on some systems with broken
359# keyboard controllers.
360
361options AUTO_EOI_1
362#options AUTO_EOI_2
363
364options MAXMEM=(128*1024)
365#options BROKEN_KEYBOARD_RESET
366
367#
368# EISA bus
369#
370# The EISA bus device is `eisa'. It provides auto-detection and
371# configuration support for all devices on the EISA bus.
372
373device eisa
374
375# By default, only 10 EISA slots are probed, since the slot numbers
376# above clash with the configuration address space of the PCI subsystem,
377# and the EISA probe is not very smart about this. This is sufficient
378# for most machines, but in particular the HP NetServer LC series comes
379# with an onboard AIC7770 dual-channel SCSI controller on EISA slot #11,
380# thus you need to bump this figure to 12 for them.
381options EISA_SLOTS=12
382
383#
384# MCA bus:
385#
386# The MCA bus device is `mca'. It provides auto-detection and
387# configuration support for all devices on the MCA bus.
388# No hints are required for MCA.
389
390device mca
391
392#
393# PCI bus & PCI options:
394#
395device pci
396
397#
398# AGP GART support
399device agp
400
401
402#####################################################################
403# HARDWARE DEVICE CONFIGURATION
404
405# To include support for VGA VESA video modes
406options VESA
407
408# Turn on extra debugging checks and output for VESA support.
409options VESA_DEBUG
410
411#
412# The Numeric Processing eXtension driver. This is non-optional.
413device npx
414hint.npx.0.flags="0x0"
415hint.npx.0.irq="13"
416
417#
418# `flags' for npx0:
419# 0x01 don't use the npx registers to optimize bcopy.
420# 0x02 don't use the npx registers to optimize bzero.
421# 0x04 don't use the npx registers to optimize copyin or copyout.
422# The npx registers are normally used to optimize copying and zeroing when
423# all of the following conditions are satisfied:
424# I586_CPU is an option
425# the cpu is an i586 (perhaps not a Pentium)
426# the probe for npx0 succeeds
427# INT 16 exception handling works.
428# Then copying and zeroing using the npx registers is normally 30-100% faster.
429# The flags can be used to control cases where it doesn't work or is slower.
430# Setting them at boot time using hints works right (the optimizations
431# are not used until later in the bootstrap when npx0 is attached).
432# Flag 0x08 automatically disables the i586 optimized routines.
433#
434
435#
436# Optional devices:
437#
438
439# PS/2 mouse
440device psm
441hint.psm.0.at="atkbdc"
442hint.psm.0.irq="12"
443
444# Options for psm:
445options PSM_HOOKRESUME #hook the system resume event, useful
446 #for some laptops
447options PSM_RESETAFTERSUSPEND #reset the device at the resume event
448
449# The keyboard controller; it controls the keyboard and the PS/2 mouse.
450device atkbdc
451hint.atkbdc.0.at="isa"
452hint.atkbdc.0.port="0x060"
453
454# The AT keyboard
455device atkbd
456hint.atkbd.0.at="atkbdc"
457hint.atkbd.0.irq="1"
458
459# Options for atkbd:
460options ATKBD_DFLT_KEYMAP # specify the built-in keymap
461makeoptions ATKBD_DFLT_KEYMAP=jp.106
462
463# `flags' for atkbd:
464# 0x01 Force detection of keyboard, else we always assume a keyboard
465# 0x02 Don't reset keyboard, useful for some newer ThinkPads
466# 0x03 Force detection and avoid reset, might help with certain
467# dockingstations
468# 0x04 Old-style (XT) keyboard support, useful for older ThinkPads
469
470# Video card driver for VGA adapters.
471device vga
472hint.vga.0.at="isa"
473
474# Options for vga:
475# Try the following option if the mouse pointer is not drawn correctly
476# or font does not seem to be loaded properly. May cause flicker on
477# some systems.
478options VGA_ALT_SEQACCESS
479
480# If you can dispense with some vga driver features, you may want to
481# use the following options to save some memory.
482#options VGA_NO_FONT_LOADING # don't save/load font
483#options VGA_NO_MODE_CHANGE # don't change video modes
484
485# Older video cards may require this option for proper operation.
486options VGA_SLOW_IOACCESS # do byte-wide i/o's to TS and GDC regs
487
488# The following option probably won't work with the LCD displays.
489options VGA_WIDTH90 # support 90 column modes
490
491# Debugging.
492options VGA_DEBUG
493
494# 3Dfx Voodoo Graphics, Voodoo II /dev/3dfx CDEV support. This will create
495# the /dev/3dfx0 device to work with glide implementations. This should get
496# linked to /dev/3dfx and /dev/voodoo. Note that this is not the same as
497# the tdfx DRI module from XFree86 and is completely unrelated.
498#
499# To enable Linuxulator support, one must also include COMPAT_LINUX in the
500# config as well. The other option is to load both as modules.
501
502device tdfx # Enable 3Dfx Voodoo support
503device tdfx_linux # Enable Linuxulator support
504
505#
506# ACPI support using the Intel ACPI Component Architecture reference
507# implementation.
508#
509# ACPI_DEBUG enables the use of the debug.acpi.level and debug.acpi.layer
510# kernel environment variables to select initial debugging levels for the
511# Intel ACPICA code. (Note that the Intel code must also have USE_DEBUGGER
512# defined when it is built).
513#
514# ACPI_NO_SEMAPHORES makes the AcpiOs*Semaphore routines a no-op.
515#
516# Note that building ACPI into the kernel is deprecated; the module is
517# normally loaded automatically by the loader.
518
519device acpi
520options ACPI_DEBUG
521#!options ACPI_NO_SEMAPHORES
522
523# ACPI Asus Desktop Extras. (voltage, temp, fan)
524device acpi_aiboost
525
526# ACPI Asus Extras (LCD backlight/brightness, video output, etc.)
527device acpi_asus
528
529# ACPI Fujitsu Extras (Buttons)
530device acpi_fujitsu
531
532# ACPI extras driver for IBM laptops
533device acpi_ibm
534
535# ACPI Panasonic Extras (LCD backlight/brightness, video output, etc.)
536device acpi_panasonic
537
538# ACPI Sony extra (LCD brightness)
539device acpi_sony
540
541# ACPI Toshiba Extras (LCD backlight/brightness, video output, etc.)
542device acpi_toshiba
543
544# ACPI Video Extensions (LCD backlight/brightness, video output, etc.)
545device acpi_video
546
547# ACPI Docking Station
548device acpi_dock
549
550# The cpufreq(4) driver provides support for non-ACPI CPU frequency control
551device cpufreq
552
553# Direct Rendering modules for 3D acceleration.
554device drm # DRM core module required by DRM drivers
555device i915drm # Intel i830 through i915
556device mach64drm # ATI Rage Pro, Rage Mobility P/M, Rage XL
557device mgadrm # AGP Matrox G200, G400, G450, G550
558device r128drm # ATI Rage 128
559device radeondrm # ATI Radeon
560device savagedrm # S3 Savage3D, Savage4
561device sisdrm # SiS 300/305, 540, 630
562device tdfxdrm # 3dfx Voodoo 3/4/5 and Banshee
563options DRM_DEBUG # Include debug printfs (slow)
564
565#
566# mse: Logitech and ATI InPort bus mouse ports
567
568device mse
569hint.mse.0.at="isa"
570hint.mse.0.port="0x23c"
571hint.mse.0.irq="5"
572
573#
574# Network interfaces:
575#
576
577# ar: Arnet SYNC/570i hdlc sync 2/4 port V.35/X.21 serial driver
578# (requires sppp)
579# arl: Aironet Arlan 655 wireless adapters.
580# ath: Atheros a/b/g WiFi adapters (requires ath_hal and wlan)
581# ce: Cronyx Tau-PCI/32 sync single/dual port G.703/E1 serial adaptor
582# with 32 HDLC subchannels (requires sppp (default), or NETGRAPH if
583# NETGRAPH_CRONYX is configured)
584# cp: Cronyx Tau-PCI sync single/dual/four port
585# V.35/RS-232/RS-530/RS-449/X.21/G.703/E1/E3/T3/STS-1
586# serial adaptor (requires sppp (default), or NETGRAPH if
587# NETGRAPH_CRONYX is configured)
588# cs: IBM Etherjet and other Crystal Semi CS89x0-based adapters
589# ctau: Cronyx Tau sync dual port V.35/RS-232/RS-530/RS-449/X.21/G.703/E1
590# serial adaptor (requires sppp (default), or NETGRAPH if
591# NETGRAPH_CRONYX is configured)
592# cx: Cronyx Sigma multiport sync/async adapter (requires sppp (default),
593# or NETGRAPH if NETGRAPH_CRONYX is configured)
594# ed: Western Digital and SMC 80xx; Novell NE1000 and NE2000; 3Com 3C503
595# HP PC Lan+, various PC Card devices
596# (requires miibus)
597# ie: AT&T StarLAN 10 and EN100; 3Com 3C507; unknown NI5210;
598# Intel EtherExpress
599# ipw: Intel PRO/Wireless 2100 IEEE 802.11 adapter
600# iwi: Intel PRO/Wireless 2200BG/2225BG/2915ABG IEEE 802.11 adapters
601# nfe: nVidia nForce MCP on-board Ethernet Networking (BSD open source)
602# nve: nVidia nForce MCP on-board Ethernet Networking
603# oltr: Olicom ISA token-ring adapters OC-3115, OC-3117, OC-3118 and OC-3133.
604# Olicom PCI token-ring adapters OC-3136, OC-3137, OC-3139, OC-3140,
605# OC-3141, OC-3540 and OC-3250.
606# ral: Ralink Technology IEEE 802.11 wireless adapter
607# sbni: Granch SBNI12-xx ISA and PCI adapters
608# sr: RISCom/N2 hdlc sync 1/2 port V.35/X.21 serial driver (requires sppp)
609# ural: Ralink Technology RT2500USB IEEE 802.11 wireless adapter
610# wl: Lucent Wavelan (ISA card only).
611# wpi: Intel 3945ABG Wireless LAN controller
612
613# Order for ISA/EISA devices is important here
614
615device ar
616hint.ar.0.at="isa"
617hint.ar.0.port="0x300"
618hint.ar.0.irq="10"
619hint.ar.0.maddr="0xd0000"
620device arl
621hint.arl.0.at="isa"
622hint.arl.0.irq="9"
623hint.arl.0.maddr="0xd0000"
624device ce
625device cp
626device cs
627hint.cs.0.at="isa"
628hint.cs.0.port="0x300"
629device ctau
630hint.ctau.0.at="isa"
631hint.ctau.0.port="0x240"
632hint.ctau.0.irq="15"
633hint.ctau.0.drq="7"
634device cx
635hint.cx.0.at="isa"
636hint.cx.0.port="0x240"
637hint.cx.0.irq="15"
638hint.cx.0.drq="7"
639#options NETGRAPH_CRONYX # Enable NETGRAPH support for Cronyx adapter(s)
640device ed
641options ED_3C503
642options ED_HPP
643options ED_SIC
644hint.ed.0.at="isa"
645hint.ed.0.port="0x280"
646hint.ed.0.irq="5"
647hint.ed.0.maddr="0xd8000"
648device ie # Hints only required for Starlan
649hint.ie.2.at="isa"
650hint.ie.2.port="0x300"
651hint.ie.2.irq="5"
652hint.ie.2.maddr="0xd0000"
653device iwi
654device ipw
655# Hint for the i386-only ISA front-end of le(4).
656hint.le.0.at="isa"
657hint.le.0.port="0x280"
658hint.le.0.irq="10"
659hint.le.0.drq="0"
660device nfe # nVidia nForce MCP on-board Ethernet Networking
661device nve # nVidia nForce MCP on-board Ethernet Networking
662device oltr
663hint.oltr.0.at="isa"
664device ral
665device sbni
666hint.sbni.0.at="isa"
667hint.sbni.0.port="0x210"
668hint.sbni.0.irq="0xefdead"
669hint.sbni.0.flags="0"
670device sr
671hint.sr.0.at="isa"
672hint.sr.0.port="0x300"
673hint.sr.0.irq="5"
674hint.sr.0.maddr="0xd0000"
675device ural
676device wl
677hint.wl.0.at="isa"
678hint.wl.0.port="0x300"
679options WLCACHE # enables the signal-strength cache
680options WLDEBUG # enables verbose debugging output
681device wpi
682
683device ath
684device ath_hal # Atheros HAL (includes binary component)
685#device ath_rate_amrr # AMRR rate control for ath driver
686#device ath_rate_onoe # Onoe rate control for ath driver
687device ath_rate_sample # SampleRate rate control for the ath driver
688#device wlan # 802.11 layer
689
690#
691# ATA raid adapters
692#
693device pst
694
695#
696# Areca 11xx and 12xx series of SATA II RAID controllers.
697# CAM is required.
698#
699device arcmsr # Areca SATA II RAID
700
701#
702# 3ware 9000 series PATA/SATA RAID controller driver and options.
703# The driver is implemented as a SIM, and so, needs the CAM infrastructure.
704#
705options TWA_DEBUG # 0-10; 10 prints the most messages.
706options TWA_FLASH_FIRMWARE # firmware image bundled when defined.
707device twa # 3ware 9000 series PATA/SATA RAID
708
709#
710# SCSI host adapters:
711#
712# ncv: NCR 53C500 based SCSI host adapters.
713# nsp: Workbit Ninja SCSI-3 based PC Card SCSI host adapters.
714# stg: TMC 18C30, 18C50 based SCSI host adapters.
715
716device ncv
717device nsp
718device stg
719hint.stg.0.at="isa"
720hint.stg.0.port="0x140"
721hint.stg.0.port="11"
722
723#
724# Adaptec FSA RAID controllers, including integrated DELL controllers,
725# the Dell PERC 2/QC and the HP NetRAID-4M
726device aac
727device aacp # SCSI Passthrough interface (optional, CAM required)
728
729# The 'asr' driver provides support for current DPT/Adaptec SCSI RAID
730# controllers (SmartRAID V and VI and later).
731# These controllers require the CAM infrastructure.
732#
733device asr
734
735#
736# Highpoint RocketRAID 182x.
737device hptmv
738
739#
740# Highpoint RocketRAID. Supports RR172x, RR222x, RR2240, RR232x, RR2340,
741# RR2210, RR174x, RR2522, RR231x, RR230x.
742device hptrr
743
744#
745# Highpoint RocketRaid 3xxx series SATA RAID
746device hptiop
747
748#
749# IBM (now Adaptec) ServeRAID controllers
750device ips
751
752#
753# SafeNet crypto driver: can be moved to the MI NOTES as soon as
754# it's tested on a big-endian machine
755#
756device safe # SafeNet 1141
757options SAFE_DEBUG # enable debugging support: hw.safe.debug
758options SAFE_RNDTEST # enable rndtest support
759
760#####################################################################
761
762#
763# Miscellaneous hardware:
764#
765# apm: Laptop Advanced Power Management (experimental)
766# ipmi: Intelligent Platform Management Interface
767# pmtimer: Timer device driver for power management events (APM or ACPI)
768# smapi: System Management Application Program Interface driver
769# smbios: DMI/SMBIOS entry point
770# vpd: Vital Product Data kernel interface
771# cy: Cyclades serial driver
772# digi: Digiboard driver
773# spic: Sony Programmable I/O controller (VAIO notebooks)
774# asmc: Apple System Management Controller
775
776# Notes on APM
777# The flags takes the following meaning for apm0:
778# 0x0020 Statclock is broken.
779
780# Notes on the Specialix SI/XIO driver:
781# The host card is memory, not IO mapped.
782# The Rev 1 host cards use a 64K chunk, on a 32K boundary.
783# The Rev 2 host cards use a 32K chunk, on a 32K boundary.
784# The cards can use an IRQ of 11, 12 or 15.
785
786# Notes on the Sony Programmable I/O controller
787# This is a temporary driver that should someday be replaced by something
788# that hooks into the ACPI layer. The device is hooked to the PIIX4's
789# General Device 10 decoder, which means you have to fiddle with PCI
790# registers to map it in, even though it is otherwise treated here as
791# an ISA device. At the moment, the driver polls, although the device
792# is capable of generating interrupts. It largely undocumented.
793# The port location in the hint is where you WANT the device to be
794# mapped. 0x10a0 seems to be traditional. At the moment the jogdial
795# is the only thing truly supported, but apparently a fair percentage
796# of the Vaio extra features are controlled by this device.
797
798device apm
799hint.apm.0.flags="0x20"
800device ipmi
801device smapi
802device smbios
803device vpd
804device pmtimer # Adjust system timer at wakeup time
805device cy
806options CY_PCI_FASTINTR # Use with cy_pci unless irq is shared
807hint.cy.0.at="isa"
808hint.cy.0.irq="10"
809hint.cy.0.maddr="0xd4000"
810hint.cy.0.msize="0x2000"
811device digi
812hint.digi.0.at="isa"
813hint.digi.0.port="0x104"
814hint.digi.0.maddr="0xd0000"
815# BIOS & FEP/OS components of device digi.
816device digi_CX
817device digi_CX_PCI
818device digi_EPCX
819device digi_EPCX_PCI
820device digi_Xe
821device digi_Xem
822device digi_Xr
823# Parallel (8255 PPI) basic I/O (mode 0) port (e.g. Advantech PCL-724)
824device pbio
825hint.pbio.0.at="isa"
826hint.pbio.0.port="0x360"
827device spic
828hint.spic.0.at="isa"
829hint.spic.0.port="0x10a0"
830device asmc
831#
832# Laptop/Notebook options:
833#
834# See also:
835# apm under `Miscellaneous hardware'
836# above.
837
838# For older notebooks that signal a powerfail condition (external
839# power supply dropped, or battery state low) by issuing an NMI:
840
841options POWERFAIL_NMI # make it beep instead of panicing
842
843#
844# I2C Bus
845#
846# Philips i2c bus support is provided by the `iicbus' device.
847#
848# Supported interfaces:
849# pcf Philips PCF8584 ISA-bus controller
850#
851device pcf
852hint.pcf.0.at="isa"
853hint.pcf.0.port="0x320"
854hint.pcf.0.irq="5"
855
856#
857# Hardware watchdog timers:
858#
859# ichwd: Intel ICH watchdog timer
860#
861device ichwd
862
863#
864# Temperature sensors:
865#
866# coretemp: on-die sensor on Intel Core and newer CPUs
867#
868device coretemp
869
870#---------------------------------------------------------------------------
871# ISDN4BSD
872#
873# See /usr/share/examples/isdn/ROADMAP for an introduction to isdn4bsd.
874#
875# i4b passive ISDN cards support contains the following hardware drivers:
876#
877# isic - Siemens/Infineon ISDN ISAC/HSCX/IPAC chipset driver
878# iwic - Winbond W6692 PCI bus ISDN S/T interface controller
879# ifpi - AVM Fritz!Card PCI driver
880# ifpi2 - AVM Fritz!Card PCI version 2 driver
881# ihfc - Cologne Chip HFC ISA/ISA-PnP chipset driver
882# ifpnp - AVM Fritz!Card PnP driver
883# itjc - Siemens ISAC / TJNet Tiger300/320 chipset
884#
885# i4b active ISDN cards support contains the following hardware drivers:
886#
887# iavc - AVM B1 PCI, AVM B1 ISA, AVM T1
888#
889# Note that the ``options'' (if given) and ``device'' lines must BOTH
890# be uncommented to enable support for a given card !
891#
892# In addition to a hardware driver (and probably an option) the mandatory
893# ISDN protocol stack devices and the mandatory support device must be
894# enabled as well as one or more devices from the optional devices section.
895#
896#---------------------------------------------------------------------------
897# isic driver (Siemens/Infineon chipsets)
898#
899device isic
900#
901# ISA bus non-PnP Cards:
902# ----------------------
903#
904# Teles S0/8 or Niccy 1008
905options TEL_S0_8
906hint.isic.0.at="isa"
907hint.isic.0.maddr="0xd0000"
908hint.isic.0.irq="5"
909hint.isic.0.flags="1"
910#
911# Teles S0/16 or Creatix ISDN-S0 or Niccy 1016
912options TEL_S0_16
913hint.isic.0.at="isa"
914hint.isic.0.port="0xd80"
915hint.isic.0.maddr="0xd0000"
916hint.isic.0.irq="5"
917hint.isic.0.flags="2"
918#
919# Teles S0/16.3
920options TEL_S0_16_3
921hint.isic.0.at="isa"
922hint.isic.0.port="0xd80"
923hint.isic.0.irq="5"
924hint.isic.0.flags="3"
925#
926# AVM A1 or AVM Fritz!Card
927options AVM_A1
928hint.isic.0.at="isa"
929hint.isic.0.port="0x340"
930hint.isic.0.irq="5"
931hint.isic.0.flags="4"
932#
933# USRobotics Sportster ISDN TA intern
934options USR_STI
935hint.isic.0.at="isa"
936hint.isic.0.port="0x268"
937hint.isic.0.irq="5"
938hint.isic.0.flags="7"
939#
940# ITK ix1 Micro ( < V.3, non-PnP version )
941options ITKIX1
942hint.isic.0.at="isa"
943hint.isic.0.port="0x398"
944hint.isic.0.irq="10"
945hint.isic.0.flags="18"
946#
947# ELSA PCC-16
948options ELSA_PCC16
949hint.isic.0.at="isa"
950hint.isic.0.port="0x360"
951hint.isic.0.irq="10"
952hint.isic.0.flags="20"
953#
954# ISA bus PnP Cards:
955# ------------------
956#
957# Teles S0/16.3 PnP
958options TEL_S0_16_3_P
959#
960# Creatix ISDN-S0 P&P
961options CRTX_S0_P
962#
963# Dr. Neuhaus Niccy Go@
964options DRN_NGO
965#
966# Sedlbauer Win Speed
967options SEDLBAUER
968#
969# Dynalink IS64PH
970options DYNALINK
971#
972# ELSA QuickStep 1000pro ISA
973options ELSA_QS1ISA
974#
975# Siemens I-Surf 2.0
976options SIEMENS_ISURF2
977#
978# Asuscom ISDNlink 128K ISA
979options ASUSCOM_IPAC
980#
981# Eicon Diehl DIVA 2.0 and 2.02
982options EICON_DIVA
983#
984# Compaq Microcom 610 ISDN card (Compaq series PSB2222I)
985options COMPAQ_M610
986#
987# PCI bus Cards:
988# --------------
989#
990# ELSA MicroLink ISDN/PCI (same as ELSA QuickStep 1000pro PCI)
991options ELSA_QS1PCI
992#
993#---------------------------------------------------------------------------
994# ifpnp driver for AVM Fritz!Card PnP
995#
996# AVM Fritz!Card PnP
997device ifpnp
998#
999#---------------------------------------------------------------------------
1000# ihfc driver for Cologne Chip ISA chipsets (experimental!)
1001#
1002# Teles 16.3c ISA PnP
1003# AcerISDN P10 ISA PnP
1004# TELEINT ISDN SPEED No.1
1005device ihfc
1006#
1007#---------------------------------------------------------------------------
1008# ifpi driver for AVM Fritz!Card PCI
1009#
1010# AVM Fritz!Card PCI
1011device ifpi
1012#
1013#---------------------------------------------------------------------------
1014# ifpi2 driver for AVM Fritz!Card PCI version 2
1015#
1016# AVM Fritz!Card PCI version 2
1017device ifpi2
1018#
1019#---------------------------------------------------------------------------
1020# iwic driver for Winbond W6692 chipset
1021#
1022# ASUSCOM P-IN100-ST-D (and other Winbond W6692 based cards)
1023device iwic
1024#
1025#---------------------------------------------------------------------------
1026# itjc driver for Siemens ISAC / TJNet Tiger300/320 chipset
1027#
1028# Traverse Technologies NETjet-S
1029# Teles PCI-TJ
1030device itjc
1031#
1032#---------------------------------------------------------------------------
1033# iavc driver (AVM active cards, needs i4bcapi driver!)
1034#
1035device iavc
1036#
1037# AVM B1 ISA bus (PnP mode not supported!)
1038# ----------------------------------------
1039hint.iavc.0.at="isa"
1040hint.iavc.0.port="0x150"
1041hint.iavc.0.irq="5"
1042#
1043#---------------------------------------------------------------------------
1044# ISDN Protocol Stack - mandatory for all hardware drivers
1045#
1046# Q.921 / layer 2 - i4b passive cards D channel handling
1047device i4bq921
1048#
1049# Q.931 / layer 3 - i4b passive cards D channel handling
1050device i4bq931
1051#
1052# layer 4 - i4b common passive and active card handling
1053device i4b
1054#
1055#---------------------------------------------------------------------------
1056# ISDN devices - mandatory for all hardware drivers
1057#
1058# userland driver to do ISDN tracing (for passive cards only)
1059device i4btrc
1060options NI4BTRC=4
1061#
1062# userland driver to control the whole thing
1063device i4bctl
1064#
1065#---------------------------------------------------------------------------
1066# ISDN devices - optional
1067#
1068# userland driver for access to raw B channel
1069device i4brbch
1070options NI4BRBCH=4
1071#
1072# userland driver for telephony
1073device i4btel
1074options NI4BTEL=2
1075#
1076#XXXBZ# IPR and ISPPP are not usable until I4B is locked.
1077# network driver for IP over raw HDLC ISDN
1078#XXXBZ#device i4bipr
1079#XXXBZ#options NI4BIPR=4
1080# enable VJ header compression detection for ipr i/f
1081#XXXBZ#options IPR_VJ
1082# enable logging of the first n IP packets to isdnd (n=32 here)
1083#XXXBZ#options IPR_LOG=32
1084#
1085# network driver for sync PPP over ISDN; requires an equivalent
1086# number of sppp device to be configured
1087#XXXBZ#device i4bisppp
1088#XXXBZ#options NI4BISPPP=4
1089#
1090# B-channel interface to the netgraph subsystem
1091#XXXBZ#device i4bing
1092#XXXBZ#options NI4BING=2
1093#
1094# CAPI driver needed for active ISDN cards (see iavc driver above)
1095device i4bcapi
1096#
1097#---------------------------------------------------------------------------
1098
1099#
1100# System Management Bus (SMB)
1101#
1102options ENABLE_ALART # Control alarm on Intel intpm driver
1103
1104#
1105# Set the number of PV entries per process. Increasing this can
1106# stop panics related to heavy use of shared memory. However, that can
1107# (combined with large amounts of physical memory) cause panics at
1108# boot time due the kernel running out of VM space.
1109#
1110# If you're tweaking this, you might also want to increase the sysctls
1111# "vm.v_free_min", "vm.v_free_reserved", and "vm.v_free_target".
1112#
1113# The value below is the one more than the default.
1114#
1115options PMAP_SHPGPERPROC=201
1116
1117#
1118# Change the size of the kernel virtual address space. Due to
1119# constraints in loader(8) on i386, this must be a multiple of 4.
1120# 256 = 1 GB of kernel address space. Increasing this also causes
1121# a reduction of the address space in user processes. 512 splits
1122# the 4GB cpu address space in half (2GB user, 2GB kernel). For PAE
1123# kernels, the value will need to be double non-PAE. A value of 1024
1124# for PAE kernels is necessary to split the address space in half.
1125# This will likely need to be increased to handle memory sizes >4GB.
1126# PAE kernels default to a value of 512.
1127#
1128options KVA_PAGES=260
1129
1130
1131#####################################################################
1132# ABI Emulation
1133
1134# Enable iBCS2 runtime support for SCO and ISC binaries
1135options IBCS2
1136
1137# Emulate spx device for client side of SVR3 local X interface
1138options SPX_HACK
1139
1140# Enable Linux ABI emulation
1141options COMPAT_LINUX
1142
1143# Enable i386 a.out binary support
1144options COMPAT_AOUT
1145
1146# Enable the linux-like proc filesystem support (requires COMPAT_LINUX
1147# and PSEUDOFS)
1148options LINPROCFS
1149
1150#Enable the linux-like sys filesystem support (requires COMPAT_LINUX
1151# and PSEUDOFS)
1152options LINSYSFS
1153
1154#
1155# SysVR4 ABI emulation
1156#
1157# The svr4 ABI emulator can be statically compiled into the kernel or loaded as
1158# a KLD module.
1159# The STREAMS network emulation code can also be compiled statically or as a
1160# module. If loaded as a module, it must be loaded before the svr4 module
1161# (the /usr/sbin/svr4 script does this for you). If compiling statically,
1162# the `streams' device must be configured into any kernel which also
1163# specifies COMPAT_SVR4. It is possible to have a statically-configured
1164# STREAMS device and a dynamically loadable svr4 emulator; the /usr/sbin/svr4
1165# script understands that it doesn't need to load the `streams' module under
1166# those circumstances.
1167# Caveat: At this time, `options KTRACE' is required for the svr4 emulator
1168# (whether static or dynamic).
1169#
1170options COMPAT_SVR4 # build emulator statically
1171options DEBUG_SVR4 # enable verbose debugging
1172device streams # STREAMS network driver (required for svr4).
1173
1174# Enable NDIS binary driver support
1175options NDISAPI
1176device ndis
1177
1178
1179#####################################################################
1180# VM OPTIONS
1181
1182# Disable the 4 MByte page PSE CPU feature. The PSE feature allows the
1183# kernel to use 4 MByte pages to map the kernel instead of 4k pages.
1184# This saves on the amount of memory needed for page tables needed to
1185# map the kernel. You should only disable this feature as a temporary
1186# workaround if you are having problems with it enabled.
1187#
1188#options DISABLE_PSE
1189
1190# Disable the global pages PGE CPU feature. The PGE feature allows pages
1191# to be marked with the PG_G bit. TLB entries for these pages are not
1192# flushed from the cache when %cr3 is reloaded. This can make context
1193# switches less expensive. You should only disable this feature as a
1194# temporary workaround if you are having problems with it enabled.
1195#
1196#options DISABLE_PG_G
1197
1198# KSTACK_PAGES is the number of memory pages to assign to the kernel
1199# stack of each thread.
1200
1201options KSTACK_PAGES=3
1202
1203#####################################################################
1204
1205# More undocumented options for linting.
1206# Note that documenting these are not considered an affront.
1207
1208options FB_INSTALL_CDEV # install a CDEV entry in /dev
1209
1210# PECOFF module (Win32 Execution Format)
1211options PECOFF_SUPPORT
1212options PECOFF_DEBUG
1213
1214options I4B_SMP_WORKAROUND
1215options I586_PMC_GUPROF=0x70000
1216options KBDIO_DEBUG=2
1217options KBD_MAXRETRY=4
1218options KBD_MAXWAIT=6
1219options KBD_RESETDELAY=201
1220
1221options PSM_DEBUG=1
1222
1223options TIMER_FREQ=((14318182+6)/12)
1224
1225options VM_KMEM_SIZE
1226options VM_KMEM_SIZE_MAX
1227options VM_KMEM_SIZE_SCALE
1228
1229
1230# asr old ioctls support, needed by raidutils
1231
1232options ASR_COMPAT