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