Deleted Added
full compact
NOTES (159967) NOTES (160813)
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/amd64/conf/NOTES 159967 2006-06-26 23:41:07Z obrien $
7# $FreeBSD: head/sys/amd64/conf/NOTES 160813 2006-07-29 18:38:54Z marcel $
8#
9
10#
11# We want LINT to cover profiling as well.
12profile 2
13
14
15#####################################################################
16# SMP OPTIONS:
17#
18# Notes:
19#
20# IPI_PREEMPTION instructs the kernel to preempt threads running on other
21# CPUS if needed. Relies on the PREEMPTION option
22
23# Optional:
24options IPI_PREEMPTION
25device atpic # Optional legacy pic support
26device mptable # Optional MPSPEC mptable support
27
28#
29# Watchdog routines.
30#
31options MP_WATCHDOG
32
33#
34# Debugging options.
35#
36options STOP_NMI # Stop CPUS using NMI instead of IPI
37
38
39
40#####################################################################
41# CPU OPTIONS
42
43#
44# You must specify at least one CPU (the one you intend to run on);
45# deleting the specification for CPUs you don't need to use may make
46# parts of the system run faster.
47#
48cpu HAMMER # aka K8, aka Opteron & Athlon64
49
50#
51# Options for CPU features.
52#
53
54#
55# PERFMON causes the driver for Pentium/Pentium Pro performance counters
56# to be compiled. See perfmon(4) for more information.
57#
58#XXX#options PERFMON
59
60
61#####################################################################
62# NETWORKING OPTIONS
63
64#
65# DEVICE_POLLING adds support for mixed interrupt-polling handling
66# of network device drivers, which has significant benefits in terms
67# of robustness to overloads and responsivity, as well as permitting
68# accurate scheduling of the CPU time between kernel network processing
69# and other activities. The drawback is a moderate (up to 1/HZ seconds)
70# potential increase in response times.
71# It is strongly recommended to use HZ=1000 or 2000 with DEVICE_POLLING
72# to achieve smoother behaviour.
73# Additionally, you can enable/disable polling at runtime with help of
74# the ifconfig(8) utility, and select the CPU fraction reserved to
75# userland with the sysctl variable kern.polling.user_frac
76# (default 50, range 0..100).
77#
78# Not all device drivers support this mode of operation at the time of
79# this writing. See polling(4) for more details.
80
81options DEVICE_POLLING
82
83
84#####################################################################
85# CLOCK OPTIONS
86
87# The following options are used for debugging clock behavior only, and
88# should not be used for production systems.
89
90# CLK_CALIBRATION_LOOP causes clock calibration to be run in a loop at
91# startup until the user presses a key. (The i8254 clock is always
92# calibrated relative to the RTC (mc146818a) and this option causes the
93# calibration to be repeated.)
94options CLK_CALIBRATION_LOOP
95
96# CLK_USE_I8254_CALIBRATION causes the calibrated frequency of the i8254
97# clock to actually be used.
98options CLK_USE_I8254_CALIBRATION
99
100
101#####################################################################
102# MISCELLANEOUS DEVICES AND OPTIONS
103
8#
9
10#
11# We want LINT to cover profiling as well.
12profile 2
13
14
15#####################################################################
16# SMP OPTIONS:
17#
18# Notes:
19#
20# IPI_PREEMPTION instructs the kernel to preempt threads running on other
21# CPUS if needed. Relies on the PREEMPTION option
22
23# Optional:
24options IPI_PREEMPTION
25device atpic # Optional legacy pic support
26device mptable # Optional MPSPEC mptable support
27
28#
29# Watchdog routines.
30#
31options MP_WATCHDOG
32
33#
34# Debugging options.
35#
36options STOP_NMI # Stop CPUS using NMI instead of IPI
37
38
39
40#####################################################################
41# CPU OPTIONS
42
43#
44# You must specify at least one CPU (the one you intend to run on);
45# deleting the specification for CPUs you don't need to use may make
46# parts of the system run faster.
47#
48cpu HAMMER # aka K8, aka Opteron & Athlon64
49
50#
51# Options for CPU features.
52#
53
54#
55# PERFMON causes the driver for Pentium/Pentium Pro performance counters
56# to be compiled. See perfmon(4) for more information.
57#
58#XXX#options PERFMON
59
60
61#####################################################################
62# NETWORKING OPTIONS
63
64#
65# DEVICE_POLLING adds support for mixed interrupt-polling handling
66# of network device drivers, which has significant benefits in terms
67# of robustness to overloads and responsivity, as well as permitting
68# accurate scheduling of the CPU time between kernel network processing
69# and other activities. The drawback is a moderate (up to 1/HZ seconds)
70# potential increase in response times.
71# It is strongly recommended to use HZ=1000 or 2000 with DEVICE_POLLING
72# to achieve smoother behaviour.
73# Additionally, you can enable/disable polling at runtime with help of
74# the ifconfig(8) utility, and select the CPU fraction reserved to
75# userland with the sysctl variable kern.polling.user_frac
76# (default 50, range 0..100).
77#
78# Not all device drivers support this mode of operation at the time of
79# this writing. See polling(4) for more details.
80
81options DEVICE_POLLING
82
83
84#####################################################################
85# CLOCK OPTIONS
86
87# The following options are used for debugging clock behavior only, and
88# should not be used for production systems.
89
90# CLK_CALIBRATION_LOOP causes clock calibration to be run in a loop at
91# startup until the user presses a key. (The i8254 clock is always
92# calibrated relative to the RTC (mc146818a) and this option causes the
93# calibration to be repeated.)
94options CLK_CALIBRATION_LOOP
95
96# CLK_USE_I8254_CALIBRATION causes the calibrated frequency of the i8254
97# clock to actually be used.
98options CLK_USE_I8254_CALIBRATION
99
100
101#####################################################################
102# MISCELLANEOUS DEVICES AND OPTIONS
103
104#
105# sio: serial ports (see sio(4)), including support for various
106# PC Card devices, such as Modem and NICs (see etc/defaults/pccard.conf)
107#
108device sio
109hint.sio.0.at="isa"
110hint.sio.0.port="0x3F8"
111hint.sio.0.flags="0x10"
112hint.sio.0.irq="4"
113
114# `flags' specific to sio(4).
115# 0x10 enable console support for this unit. Other console flags
116# (if applicable) are ignored unless this is set. Enabling
117# console support does not make the unit the preferred console.
118# Boot with -h or set boot_serial=YES in the loader. For sio(4)
119# specifically, the 0x20 flag can also be set (see above).
120# Currently, at most one unit can have console support; the
121# first one (in config file order) with this flag set is
122# preferred. Setting this flag for sio0 gives the old behaviour.
123# 0x20 force this unit to be the console (unless there is another
124# higher priority console). This replaces the COMCONSOLE option.
125# 0x40 reserve this unit for low level console operations. Do not
126# access the device in any normal way.
127# 0x80 use this port for serial line gdb support in ddb. Also known
128# as debug port.
129# PnP `flags'
130# 0x1 disable probing of this device. Used to prevent your modem
131# from being attached as a PnP modem.
132# Other flags for sio that aren't documented in the man page.
133# 0x20000 enable hardware RTS/CTS and larger FIFOs. Only works for
134# ST16650A-compatible UARTs.
135
136# Options for sio:
137options COM_ESP # Code for Hayes ESP.
138options COM_MULTIPORT # Code for some cards with shared IRQs.
139options CONSPEED=115200 # Speed for serial console
140 # (default 9600).
141
104device speaker #Play IBM BASIC-style noises out your speaker
105hint.speaker.0.at="isa"
106hint.speaker.0.port="0x61"
107device gzip #Exec gzipped a.out's. REQUIRES COMPAT_AOUT!
108
109
110#####################################################################
111# HARDWARE BUS CONFIGURATION
112
113#
114# ISA bus
115#
116device isa
117
118#
119# Options for `isa':
120#
121# AUTO_EOI_1 enables the `automatic EOI' feature for the master 8259A
122# interrupt controller. This saves about 0.7-1.25 usec for each interrupt.
123# This option breaks suspend/resume on some portables.
124#
125# AUTO_EOI_2 enables the `automatic EOI' feature for the slave 8259A
126# interrupt controller. This saves about 0.7-1.25 usec for each interrupt.
127# Automatic EOI is documented not to work for for the slave with the
128# original i8259A, but it works for some clones and some integrated
129# versions.
130#
131# MAXMEM specifies the amount of RAM on the machine; if this is not
132# specified, FreeBSD will first read the amount of memory from the CMOS
133# RAM, so the amount of memory will initially be limited to 64MB or 16MB
134# depending on the BIOS. If the BIOS reports 64MB, a memory probe will
135# then attempt to detect the installed amount of RAM. If this probe
136# fails to detect >64MB RAM you will have to use the MAXMEM option.
137# The amount is in kilobytes, so for a machine with 128MB of RAM, it would
138# be 131072 (128 * 1024).
139#
140# BROKEN_KEYBOARD_RESET disables the use of the keyboard controller to
141# reset the CPU for reboot. This is needed on some systems with broken
142# keyboard controllers.
143
144options AUTO_EOI_1
145#options AUTO_EOI_2
146
147options MAXMEM=(128*1024)
148#options BROKEN_KEYBOARD_RESET
149
150#
151# PCI bus & PCI options:
152#
153device pci
154
155#
156# AGP GART support
157device agp
158
159
160#####################################################################
161# HARDWARE DEVICE CONFIGURATION
162
163#
164# Optional devices:
165#
166
167# 3Dfx Voodoo Graphics, Voodoo II /dev/3dfx CDEV support. This will create
168# the /dev/3dfx0 device to work with glide implementations. This should get
169# linked to /dev/3dfx and /dev/voodoo. Note that this is not the same as
170# the tdfx DRI module from XFree86 and is completely unrelated.
171#
172# To enable Linuxulator support, one must also include COMPAT_LINUX in the
173# config as well. The other option is to load both as modules.
174
175device tdfx # Enable 3Dfx Voodoo support
176#XXX#device tdfx_linux # Enable Linuxulator support
177
178#
179# ACPI support using the Intel ACPI Component Architecture reference
180# implementation.
181#
182# ACPI_DEBUG enables the use of the debug.acpi.level and debug.acpi.layer
183# kernel environment variables to select initial debugging levels for the
184# Intel ACPICA code. (Note that the Intel code must also have USE_DEBUGGER
185# defined when it is built).
186#
187# ACPI_NO_SEMAPHORES makes the AcpiOs*Semaphore routines a no-op.
188#
189# ACPICA_PEDANTIC enables strict checking of AML. Our default is to
190# relax these checks to allow code generated by the Microsoft compiler
191# to still execute.
192#
193# Note that building ACPI into the kernel is deprecated; the module is
194# normally loaded automatically by the loader.
195
196device acpi
197options ACPI_DEBUG
198#!options ACPI_NO_SEMAPHORES
199#!options ACPICA_PEDANTIC
200
201# The cpufreq(4) driver provides support for non-ACPI CPU frequency control
202device cpufreq
203
204# Direct Rendering modules for 3D acceleration.
205device drm # DRM core module required by DRM drivers
206device i915drm # Intel i830 through i915
207device mach64drm # ATI Rage Pro, Rage Mobility P/M, Rage XL
208device mgadrm # AGP Matrox G200, G400, G450, G550
209device r128drm # ATI Rage 128
210device radeondrm # ATI Radeon
211device savagedrm # S3 Savage3D, Savage4
212device sisdrm # SiS 300/305, 540, 630
213device tdfxdrm # 3dfx Voodoo 3/4/5 and Banshee
214options DRM_DEBUG # Include debug printfs (slow)
215
216#
217# Network interfaces:
218#
219
220# ath: Atheros a/b/g WiFi adapters (requires ath_hal and wlan)
221# ed: Western Digital and SMC 80xx; Novell NE1000 and NE2000; 3Com 3C503
222# HP PC Lan+, various PC Card devices (refer to etc/defaults/pccard.conf)
223# (requires miibus)
224# ipw: Intel PRO/Wireless 2100 IEEE 802.11 adapter
225# iwi: Intel PRO/Wireless 2200BG/2225BG/2915ABG IEEE 802.11 adapters
226# nfe: nVidia nForce MCP on-board Ethernet Networking (BSD open source)
227# nve: nVidia nForce MCP on-board Ethernet Networking
228# ral: Ralink Technology IEEE 802.11 wireless adapter
229# ural: Ralink Technology RT2500USB IEEE 802.11 wireless adapter
230
231device ed
232options ED_3C503
233options ED_HPP
234options ED_SIC
235device iwi
236device ipw
237device nfe # nVidia nForce MCP on-board Ethernet Networking
238device nve # nVidia nForce MCP on-board Ethernet Networking
239device ral
240device ural
241
242device ath
243device ath_hal # Atheros HAL (includes binary component)
244#device ath_rate_amrr # AMRR rate control for ath driver
245#device ath_rate_onoe # Onoe rate control for ath driver
246device ath_rate_sample # SampleRate rate control for the ath driver
247#device wlan # 802.11 layer
248
249#
250#XXX this stores pointers in a 32bit field that is defined by the hardware
251#device pst
252
253#
254# Areca 11xx and 12xx series of SATA II RAID controllers.
255# CAM is required.
256#
257device arcmsr # Areca SATA II RAID
258
259#
260# 3ware 9000 series PATA/SATA RAID controller driver and options.
261# The driver is implemented as a SIM, and so, needs the CAM infrastructure.
262#
263options TWA_DEBUG # 0-10; 10 prints the most messages.
264options TWA_FLASH_FIRMWARE # firmware image bundled when defined.
265device twa # 3ware 9000 series PATA/SATA RAID
266
267#
268# SCSI host adapters:
269#
270# ncv: NCR 53C500 based SCSI host adapters.
271# nsp: Workbit Ninja SCSI-3 based PC Card SCSI host adapters.
272# stg: TMC 18C30, 18C50 based SCSI host adapters.
273
274device ncv
275device nsp
276device stg
277
278#
279# Adaptec FSA RAID controllers, including integrated DELL controllers,
280# the Dell PERC 2/QC and the HP NetRAID-4M
281device aac
282device aacp # SCSI Passthrough interface (optional, CAM required)
283
284#
285# Highpoint RocketRAID 182x. This is really just software RAID on a
286# Marvell SATA chip.
287device hptmv
288
289#
290# Highpoint RocketRAID 232x. This is software RAID but with hardware
291# acceleration assistance for RAID_5.
292device rr232x
293
294#
295# IBM (now Adaptec) ServeRAID controllers
296device ips
297
298#
299# SafeNet crypto driver: can be moved to the MI NOTES as soon as
300# it's tested on a big-endian machine
301#
302device safe # SafeNet 1141
303options SAFE_DEBUG # enable debugging support: hw.safe.debug
304options SAFE_RNDTEST # enable rndtest support
305
306#####################################################################
307
308#
309# Miscellaneous hardware:
310#
311# smbios: DMI/SMBIOS entry point
312# vpd: Vital Product Data kernel interface
313# cy: Cyclades serial driver
314# digi: Digiboard driver
315
316# Notes on the Specialix SI/XIO driver:
317# The host card is memory, not IO mapped.
318# The Rev 1 host cards use a 64K chunk, on a 32K boundary.
319# The Rev 2 host cards use a 32K chunk, on a 32K boundary.
320# The cards can use an IRQ of 11, 12 or 15.
321
322device cy
323options CY_PCI_FASTINTR # Use with cy_pci unless irq is shared
324device digi
325# BIOS & FEP/OS components of device digi.
326device digi_CX
327device digi_CX_PCI
328device digi_EPCX
329device digi_EPCX_PCI
330device digi_Xe
331device digi_Xem
332device digi_Xr
333# Parallel (8255 PPI) basic I/O (mode 0) port (e.g. Advantech PCL-724)
334device pbio
335hint.pbio.0.at="isa"
336hint.pbio.0.port="0x360"
337device smbios
338device vpd
339# HOT1 Xilinx 6200 card (http://www.vcc.com/)
340device xrpu
341
342#
343# Laptop/Notebook options:
344#
345
346
347#
348# I2C Bus
349#
350
351#
352# Hardware watchdog timers:
353#
354# ichwd: Intel ICH watchdog timer
355#
356device ichwd
357
358#---------------------------------------------------------------------------
359# ISDN4BSD
360#
361# See /usr/share/examples/isdn/ROADMAP for an introduction to isdn4bsd.
362#
363# i4b passive ISDN cards support contains the following hardware drivers:
364#
365# isic - Siemens/Infineon ISDN ISAC/HSCX/IPAC chipset driver
366# iwic - Winbond W6692 PCI bus ISDN S/T interface controller
367# ifpi - AVM Fritz!Card PCI driver
368# ifpi2 - AVM Fritz!Card PCI version 2 driver
369# itjc - Siemens ISAC / TJNet Tiger300/320 chipset
370#
371# i4b active ISDN cards support contains the following hardware drivers:
372#
373# iavc - AVM B1 PCI, AVM B1 ISA, AVM T1
374#
375# Note that the ``options'' (if given) and ``device'' lines must BOTH
376# be uncommented to enable support for a given card !
377#
378# In addition to a hardware driver (and probably an option) the mandatory
379# ISDN protocol stack devices and the mandatory support device must be
380# enabled as well as one or more devices from the optional devices section.
381#
382#---------------------------------------------------------------------------
383# isic driver (Siemens/Infineon chipsets)
384#
385#XXX#device isic
386#
387# PCI bus Cards:
388# --------------
389#
390# ELSA MicroLink ISDN/PCI (same as ELSA QuickStep 1000pro PCI)
391options ELSA_QS1PCI
392#
393#---------------------------------------------------------------------------
394# ifpi2 driver for AVM Fritz!Card PCI version 2
395#
396# AVM Fritz!Card PCI version 2
397#XXX#device ifpi2
398#
399#---------------------------------------------------------------------------
400# iwic driver for Winbond W6692 chipset
401#
402# ASUSCOM P-IN100-ST-D (and other Winbond W6692 based cards)
403#XXX#device iwic
404#
405#---------------------------------------------------------------------------
406# itjc driver for Siemens ISAC / TJNet Tiger300/320 chipset
407#
408# Traverse Technologies NETjet-S
409# Teles PCI-TJ
410#XXX#device itjc
411#
412#---------------------------------------------------------------------------
413# iavc driver (AVM active cards, needs i4bcapi driver!)
414#
415#XXX#device iavc
416#
417#---------------------------------------------------------------------------
418# ISDN Protocol Stack - mandatory for all hardware drivers
419#
420# Q.921 / layer 2 - i4b passive cards D channel handling
421#XXX#device i4bq921
422#
423# Q.931 / layer 3 - i4b passive cards D channel handling
424#XXX#device i4bq931
425#
426# layer 4 - i4b common passive and active card handling
427#XXX#device i4b
428#
429#---------------------------------------------------------------------------
430# ISDN devices - mandatory for all hardware drivers
431#
432# userland driver to do ISDN tracing (for passive cards only)
433#XXX#device i4btrc
434#XXX#options NI4BTRC=4
435#
436# userland driver to control the whole thing
437#XXX#device i4bctl
438#
439#---------------------------------------------------------------------------
440# ISDN devices - optional
441#
442# userland driver for access to raw B channel
443#XXX#device i4brbch
444#XXX#options NI4BRBCH=4
445#
446# userland driver for telephony
447#XXX#device i4btel
448#XXX#options NI4BTEL=2
449#
450# network driver for IP over raw HDLC ISDN
451#XXX#device i4bipr
452#XXX#options NI4BIPR=4
453# enable VJ header compression detection for ipr i/f
454options IPR_VJ
455# enable logging of the first n IP packets to isdnd (n=32 here)
456options IPR_LOG=32
457#
458# network driver for sync PPP over ISDN; requires an equivalent
459# number of sppp device to be configured
460#XXX#device i4bisppp
461#XXX#options NI4BISPPP=4
462#
463# B-channel interface to the netgraph subsystem
464#XXX#device i4bing
465#XXX#options NI4BING=2
466#
467# CAPI driver needed for active ISDN cards (see iavc driver above)
468#XXX#device i4bcapi
469#
470#---------------------------------------------------------------------------
471
472#
473# System Management Bus (SMB)
474#
475options ENABLE_ALART # Control alarm on Intel intpm driver
476
477#
478# Set the number of PV entries per process. Increasing this can
479# stop panics related to heavy use of shared memory. However, that can
480# (combined with large amounts of physical memory) cause panics at
481# boot time due the kernel running out of VM space.
482#
483# If you're tweaking this, you might also want to increase the sysctls
484# "vm.v_free_min", "vm.v_free_reserved", and "vm.v_free_target".
485#
486# The value below is the one more than the default.
487#
488options PMAP_SHPGPERPROC=201
489
490
491#####################################################################
492# ABI Emulation
493
494#XXX keep these here for now and reactivate when support for emulating
495#XXX these 32 bit binaries is added.
496
497# Enable 32-bit runtime support for FreeBSD/i386 binaries.
498options COMPAT_IA32
499
500# Enable iBCS2 runtime support for SCO and ISC binaries
501#XXX#options IBCS2
502
503# Emulate spx device for client side of SVR3 local X interface
504#XXX#options SPX_HACK
505
506# Enable Linux ABI emulation
507#XXX#options COMPAT_LINUX
508
509# Enable 32-bit Linux ABI emulation (requires COMPAT_43 and COMPAT_IA32)
510options COMPAT_LINUX32
511
512# Enable the linux-like proc filesystem support (requires COMPAT_LINUX32
513# and PSEUDOFS)
514options LINPROCFS
515
516#Enable the linux-like sys filesystem support (requires COMPAT_LINUX32
517# and PSEUDOFS)
518options LINSYSFS
519
520#
521# SysVR4 ABI emulation
522#
523# The svr4 ABI emulator can be statically compiled into the kernel or loaded as
524# a KLD module.
525# The STREAMS network emulation code can also be compiled statically or as a
526# module. If loaded as a module, it must be loaded before the svr4 module
527# (the /usr/sbin/svr4 script does this for you). If compiling statically,
528# the `streams' device must be configured into any kernel which also
529# specifies COMPAT_SVR4. It is possible to have a statically-configured
530# STREAMS device and a dynamically loadable svr4 emulator; the /usr/sbin/svr4
531# script understands that it doesn't need to load the `streams' module under
532# those circumstances.
533# Caveat: At this time, `options KTRACE' is required for the svr4 emulator
534# (whether static or dynamic).
535#
536#XXX#options COMPAT_SVR4 # build emulator statically
537#XXX#options DEBUG_SVR4 # enable verbose debugging
538#XXX#device streams # STREAMS network driver (required for svr4).
539
540
541#####################################################################
542# VM OPTIONS
543
544# KSTACK_PAGES is the number of memory pages to assign to the kernel
545# stack of each thread.
546
547options KSTACK_PAGES=3
548
549#####################################################################
550
551# More undocumented options for linting.
552# Note that documenting these are not considered an affront.
553
554options FB_INSTALL_CDEV # install a CDEV entry in /dev
555
556options KBDIO_DEBUG=2
557options KBD_MAXRETRY=4
558options KBD_MAXWAIT=6
559options KBD_RESETDELAY=201
560
561options PSM_DEBUG=1
562
563options TIMER_FREQ=((14318182+6)/12)
564
565options VM_KMEM_SIZE
566options VM_KMEM_SIZE_MAX
567options VM_KMEM_SIZE_SCALE
568
569# Enable NDIS binary driver support
570options NDISAPI
571device ndis
572
573
574# The I/O device
575device io
142device speaker #Play IBM BASIC-style noises out your speaker
143hint.speaker.0.at="isa"
144hint.speaker.0.port="0x61"
145device gzip #Exec gzipped a.out's. REQUIRES COMPAT_AOUT!
146
147
148#####################################################################
149# HARDWARE BUS CONFIGURATION
150
151#
152# ISA bus
153#
154device isa
155
156#
157# Options for `isa':
158#
159# AUTO_EOI_1 enables the `automatic EOI' feature for the master 8259A
160# interrupt controller. This saves about 0.7-1.25 usec for each interrupt.
161# This option breaks suspend/resume on some portables.
162#
163# AUTO_EOI_2 enables the `automatic EOI' feature for the slave 8259A
164# interrupt controller. This saves about 0.7-1.25 usec for each interrupt.
165# Automatic EOI is documented not to work for for the slave with the
166# original i8259A, but it works for some clones and some integrated
167# versions.
168#
169# MAXMEM specifies the amount of RAM on the machine; if this is not
170# specified, FreeBSD will first read the amount of memory from the CMOS
171# RAM, so the amount of memory will initially be limited to 64MB or 16MB
172# depending on the BIOS. If the BIOS reports 64MB, a memory probe will
173# then attempt to detect the installed amount of RAM. If this probe
174# fails to detect >64MB RAM you will have to use the MAXMEM option.
175# The amount is in kilobytes, so for a machine with 128MB of RAM, it would
176# be 131072 (128 * 1024).
177#
178# BROKEN_KEYBOARD_RESET disables the use of the keyboard controller to
179# reset the CPU for reboot. This is needed on some systems with broken
180# keyboard controllers.
181
182options AUTO_EOI_1
183#options AUTO_EOI_2
184
185options MAXMEM=(128*1024)
186#options BROKEN_KEYBOARD_RESET
187
188#
189# PCI bus & PCI options:
190#
191device pci
192
193#
194# AGP GART support
195device agp
196
197
198#####################################################################
199# HARDWARE DEVICE CONFIGURATION
200
201#
202# Optional devices:
203#
204
205# 3Dfx Voodoo Graphics, Voodoo II /dev/3dfx CDEV support. This will create
206# the /dev/3dfx0 device to work with glide implementations. This should get
207# linked to /dev/3dfx and /dev/voodoo. Note that this is not the same as
208# the tdfx DRI module from XFree86 and is completely unrelated.
209#
210# To enable Linuxulator support, one must also include COMPAT_LINUX in the
211# config as well. The other option is to load both as modules.
212
213device tdfx # Enable 3Dfx Voodoo support
214#XXX#device tdfx_linux # Enable Linuxulator support
215
216#
217# ACPI support using the Intel ACPI Component Architecture reference
218# implementation.
219#
220# ACPI_DEBUG enables the use of the debug.acpi.level and debug.acpi.layer
221# kernel environment variables to select initial debugging levels for the
222# Intel ACPICA code. (Note that the Intel code must also have USE_DEBUGGER
223# defined when it is built).
224#
225# ACPI_NO_SEMAPHORES makes the AcpiOs*Semaphore routines a no-op.
226#
227# ACPICA_PEDANTIC enables strict checking of AML. Our default is to
228# relax these checks to allow code generated by the Microsoft compiler
229# to still execute.
230#
231# Note that building ACPI into the kernel is deprecated; the module is
232# normally loaded automatically by the loader.
233
234device acpi
235options ACPI_DEBUG
236#!options ACPI_NO_SEMAPHORES
237#!options ACPICA_PEDANTIC
238
239# The cpufreq(4) driver provides support for non-ACPI CPU frequency control
240device cpufreq
241
242# Direct Rendering modules for 3D acceleration.
243device drm # DRM core module required by DRM drivers
244device i915drm # Intel i830 through i915
245device mach64drm # ATI Rage Pro, Rage Mobility P/M, Rage XL
246device mgadrm # AGP Matrox G200, G400, G450, G550
247device r128drm # ATI Rage 128
248device radeondrm # ATI Radeon
249device savagedrm # S3 Savage3D, Savage4
250device sisdrm # SiS 300/305, 540, 630
251device tdfxdrm # 3dfx Voodoo 3/4/5 and Banshee
252options DRM_DEBUG # Include debug printfs (slow)
253
254#
255# Network interfaces:
256#
257
258# ath: Atheros a/b/g WiFi adapters (requires ath_hal and wlan)
259# ed: Western Digital and SMC 80xx; Novell NE1000 and NE2000; 3Com 3C503
260# HP PC Lan+, various PC Card devices (refer to etc/defaults/pccard.conf)
261# (requires miibus)
262# ipw: Intel PRO/Wireless 2100 IEEE 802.11 adapter
263# iwi: Intel PRO/Wireless 2200BG/2225BG/2915ABG IEEE 802.11 adapters
264# nfe: nVidia nForce MCP on-board Ethernet Networking (BSD open source)
265# nve: nVidia nForce MCP on-board Ethernet Networking
266# ral: Ralink Technology IEEE 802.11 wireless adapter
267# ural: Ralink Technology RT2500USB IEEE 802.11 wireless adapter
268
269device ed
270options ED_3C503
271options ED_HPP
272options ED_SIC
273device iwi
274device ipw
275device nfe # nVidia nForce MCP on-board Ethernet Networking
276device nve # nVidia nForce MCP on-board Ethernet Networking
277device ral
278device ural
279
280device ath
281device ath_hal # Atheros HAL (includes binary component)
282#device ath_rate_amrr # AMRR rate control for ath driver
283#device ath_rate_onoe # Onoe rate control for ath driver
284device ath_rate_sample # SampleRate rate control for the ath driver
285#device wlan # 802.11 layer
286
287#
288#XXX this stores pointers in a 32bit field that is defined by the hardware
289#device pst
290
291#
292# Areca 11xx and 12xx series of SATA II RAID controllers.
293# CAM is required.
294#
295device arcmsr # Areca SATA II RAID
296
297#
298# 3ware 9000 series PATA/SATA RAID controller driver and options.
299# The driver is implemented as a SIM, and so, needs the CAM infrastructure.
300#
301options TWA_DEBUG # 0-10; 10 prints the most messages.
302options TWA_FLASH_FIRMWARE # firmware image bundled when defined.
303device twa # 3ware 9000 series PATA/SATA RAID
304
305#
306# SCSI host adapters:
307#
308# ncv: NCR 53C500 based SCSI host adapters.
309# nsp: Workbit Ninja SCSI-3 based PC Card SCSI host adapters.
310# stg: TMC 18C30, 18C50 based SCSI host adapters.
311
312device ncv
313device nsp
314device stg
315
316#
317# Adaptec FSA RAID controllers, including integrated DELL controllers,
318# the Dell PERC 2/QC and the HP NetRAID-4M
319device aac
320device aacp # SCSI Passthrough interface (optional, CAM required)
321
322#
323# Highpoint RocketRAID 182x. This is really just software RAID on a
324# Marvell SATA chip.
325device hptmv
326
327#
328# Highpoint RocketRAID 232x. This is software RAID but with hardware
329# acceleration assistance for RAID_5.
330device rr232x
331
332#
333# IBM (now Adaptec) ServeRAID controllers
334device ips
335
336#
337# SafeNet crypto driver: can be moved to the MI NOTES as soon as
338# it's tested on a big-endian machine
339#
340device safe # SafeNet 1141
341options SAFE_DEBUG # enable debugging support: hw.safe.debug
342options SAFE_RNDTEST # enable rndtest support
343
344#####################################################################
345
346#
347# Miscellaneous hardware:
348#
349# smbios: DMI/SMBIOS entry point
350# vpd: Vital Product Data kernel interface
351# cy: Cyclades serial driver
352# digi: Digiboard driver
353
354# Notes on the Specialix SI/XIO driver:
355# The host card is memory, not IO mapped.
356# The Rev 1 host cards use a 64K chunk, on a 32K boundary.
357# The Rev 2 host cards use a 32K chunk, on a 32K boundary.
358# The cards can use an IRQ of 11, 12 or 15.
359
360device cy
361options CY_PCI_FASTINTR # Use with cy_pci unless irq is shared
362device digi
363# BIOS & FEP/OS components of device digi.
364device digi_CX
365device digi_CX_PCI
366device digi_EPCX
367device digi_EPCX_PCI
368device digi_Xe
369device digi_Xem
370device digi_Xr
371# Parallel (8255 PPI) basic I/O (mode 0) port (e.g. Advantech PCL-724)
372device pbio
373hint.pbio.0.at="isa"
374hint.pbio.0.port="0x360"
375device smbios
376device vpd
377# HOT1 Xilinx 6200 card (http://www.vcc.com/)
378device xrpu
379
380#
381# Laptop/Notebook options:
382#
383
384
385#
386# I2C Bus
387#
388
389#
390# Hardware watchdog timers:
391#
392# ichwd: Intel ICH watchdog timer
393#
394device ichwd
395
396#---------------------------------------------------------------------------
397# ISDN4BSD
398#
399# See /usr/share/examples/isdn/ROADMAP for an introduction to isdn4bsd.
400#
401# i4b passive ISDN cards support contains the following hardware drivers:
402#
403# isic - Siemens/Infineon ISDN ISAC/HSCX/IPAC chipset driver
404# iwic - Winbond W6692 PCI bus ISDN S/T interface controller
405# ifpi - AVM Fritz!Card PCI driver
406# ifpi2 - AVM Fritz!Card PCI version 2 driver
407# itjc - Siemens ISAC / TJNet Tiger300/320 chipset
408#
409# i4b active ISDN cards support contains the following hardware drivers:
410#
411# iavc - AVM B1 PCI, AVM B1 ISA, AVM T1
412#
413# Note that the ``options'' (if given) and ``device'' lines must BOTH
414# be uncommented to enable support for a given card !
415#
416# In addition to a hardware driver (and probably an option) the mandatory
417# ISDN protocol stack devices and the mandatory support device must be
418# enabled as well as one or more devices from the optional devices section.
419#
420#---------------------------------------------------------------------------
421# isic driver (Siemens/Infineon chipsets)
422#
423#XXX#device isic
424#
425# PCI bus Cards:
426# --------------
427#
428# ELSA MicroLink ISDN/PCI (same as ELSA QuickStep 1000pro PCI)
429options ELSA_QS1PCI
430#
431#---------------------------------------------------------------------------
432# ifpi2 driver for AVM Fritz!Card PCI version 2
433#
434# AVM Fritz!Card PCI version 2
435#XXX#device ifpi2
436#
437#---------------------------------------------------------------------------
438# iwic driver for Winbond W6692 chipset
439#
440# ASUSCOM P-IN100-ST-D (and other Winbond W6692 based cards)
441#XXX#device iwic
442#
443#---------------------------------------------------------------------------
444# itjc driver for Siemens ISAC / TJNet Tiger300/320 chipset
445#
446# Traverse Technologies NETjet-S
447# Teles PCI-TJ
448#XXX#device itjc
449#
450#---------------------------------------------------------------------------
451# iavc driver (AVM active cards, needs i4bcapi driver!)
452#
453#XXX#device iavc
454#
455#---------------------------------------------------------------------------
456# ISDN Protocol Stack - mandatory for all hardware drivers
457#
458# Q.921 / layer 2 - i4b passive cards D channel handling
459#XXX#device i4bq921
460#
461# Q.931 / layer 3 - i4b passive cards D channel handling
462#XXX#device i4bq931
463#
464# layer 4 - i4b common passive and active card handling
465#XXX#device i4b
466#
467#---------------------------------------------------------------------------
468# ISDN devices - mandatory for all hardware drivers
469#
470# userland driver to do ISDN tracing (for passive cards only)
471#XXX#device i4btrc
472#XXX#options NI4BTRC=4
473#
474# userland driver to control the whole thing
475#XXX#device i4bctl
476#
477#---------------------------------------------------------------------------
478# ISDN devices - optional
479#
480# userland driver for access to raw B channel
481#XXX#device i4brbch
482#XXX#options NI4BRBCH=4
483#
484# userland driver for telephony
485#XXX#device i4btel
486#XXX#options NI4BTEL=2
487#
488# network driver for IP over raw HDLC ISDN
489#XXX#device i4bipr
490#XXX#options NI4BIPR=4
491# enable VJ header compression detection for ipr i/f
492options IPR_VJ
493# enable logging of the first n IP packets to isdnd (n=32 here)
494options IPR_LOG=32
495#
496# network driver for sync PPP over ISDN; requires an equivalent
497# number of sppp device to be configured
498#XXX#device i4bisppp
499#XXX#options NI4BISPPP=4
500#
501# B-channel interface to the netgraph subsystem
502#XXX#device i4bing
503#XXX#options NI4BING=2
504#
505# CAPI driver needed for active ISDN cards (see iavc driver above)
506#XXX#device i4bcapi
507#
508#---------------------------------------------------------------------------
509
510#
511# System Management Bus (SMB)
512#
513options ENABLE_ALART # Control alarm on Intel intpm driver
514
515#
516# Set the number of PV entries per process. Increasing this can
517# stop panics related to heavy use of shared memory. However, that can
518# (combined with large amounts of physical memory) cause panics at
519# boot time due the kernel running out of VM space.
520#
521# If you're tweaking this, you might also want to increase the sysctls
522# "vm.v_free_min", "vm.v_free_reserved", and "vm.v_free_target".
523#
524# The value below is the one more than the default.
525#
526options PMAP_SHPGPERPROC=201
527
528
529#####################################################################
530# ABI Emulation
531
532#XXX keep these here for now and reactivate when support for emulating
533#XXX these 32 bit binaries is added.
534
535# Enable 32-bit runtime support for FreeBSD/i386 binaries.
536options COMPAT_IA32
537
538# Enable iBCS2 runtime support for SCO and ISC binaries
539#XXX#options IBCS2
540
541# Emulate spx device for client side of SVR3 local X interface
542#XXX#options SPX_HACK
543
544# Enable Linux ABI emulation
545#XXX#options COMPAT_LINUX
546
547# Enable 32-bit Linux ABI emulation (requires COMPAT_43 and COMPAT_IA32)
548options COMPAT_LINUX32
549
550# Enable the linux-like proc filesystem support (requires COMPAT_LINUX32
551# and PSEUDOFS)
552options LINPROCFS
553
554#Enable the linux-like sys filesystem support (requires COMPAT_LINUX32
555# and PSEUDOFS)
556options LINSYSFS
557
558#
559# SysVR4 ABI emulation
560#
561# The svr4 ABI emulator can be statically compiled into the kernel or loaded as
562# a KLD module.
563# The STREAMS network emulation code can also be compiled statically or as a
564# module. If loaded as a module, it must be loaded before the svr4 module
565# (the /usr/sbin/svr4 script does this for you). If compiling statically,
566# the `streams' device must be configured into any kernel which also
567# specifies COMPAT_SVR4. It is possible to have a statically-configured
568# STREAMS device and a dynamically loadable svr4 emulator; the /usr/sbin/svr4
569# script understands that it doesn't need to load the `streams' module under
570# those circumstances.
571# Caveat: At this time, `options KTRACE' is required for the svr4 emulator
572# (whether static or dynamic).
573#
574#XXX#options COMPAT_SVR4 # build emulator statically
575#XXX#options DEBUG_SVR4 # enable verbose debugging
576#XXX#device streams # STREAMS network driver (required for svr4).
577
578
579#####################################################################
580# VM OPTIONS
581
582# KSTACK_PAGES is the number of memory pages to assign to the kernel
583# stack of each thread.
584
585options KSTACK_PAGES=3
586
587#####################################################################
588
589# More undocumented options for linting.
590# Note that documenting these are not considered an affront.
591
592options FB_INSTALL_CDEV # install a CDEV entry in /dev
593
594options KBDIO_DEBUG=2
595options KBD_MAXRETRY=4
596options KBD_MAXWAIT=6
597options KBD_RESETDELAY=201
598
599options PSM_DEBUG=1
600
601options TIMER_FREQ=((14318182+6)/12)
602
603options VM_KMEM_SIZE
604options VM_KMEM_SIZE_MAX
605options VM_KMEM_SIZE_SCALE
606
607# Enable NDIS binary driver support
608options NDISAPI
609device ndis
610
611
612# The I/O device
613device io