NOTES revision 131815
1139804Simp#
22729Sdfr# NOTES -- Lines that can be cut/pasted into kernel and hints configs.
32729Sdfr#
42729Sdfr# This file contains machine dependent kernel configuration notes.  For
52729Sdfr# machine independent notes, look in /sys/conf/NOTES.
62729Sdfr#
72729Sdfr# $FreeBSD: head/sys/pc98/conf/NOTES 131815 2004-07-08 13:47:01Z nyan $
82729Sdfr#
92729Sdfr
102729Sdfr#
112729Sdfr# This directive is mandatory; it defines the architecture to be
122729Sdfr# configured for; in this case, the 386 family based PC-98 and
132729Sdfr# compatibles.
142729Sdfr#
152729Sdfrmachine		pc98
162729Sdfroptions 	PC98
172729Sdfr
182729Sdfr#
19140614Srwatson# We want LINT to cover profiling as well.
20140614Srwatsonprofile         2
21140614Srwatson
22140614Srwatson
23140614Srwatson#####################################################################
24140614Srwatson# SMP OPTIONS:
25140614Srwatson#
26140614Srwatson# The apic device enables the use of the I/O APIC for interrupt delivery.
27140614Srwatson# The apic device can be used in both UP and SMP kernels, but is required
28140614Srwatson# for SMP kernels.  Thus, the apic device is not strictly an SMP option,
29140614Srwatson# but it is a prerequisite for SMP.
30140614Srwatson#
31140614Srwatson# Notes:
32140614Srwatson#
33140614Srwatson# Be sure to disable 'cpu I386_CPU' for SMP kernels.
34140614Srwatson#
35140614Srwatson# By default, mixed mode is used to route IRQ0 from the AT timer via
36140614Srwatson# the 8259A master PIC through the ExtINT pin on the first I/O APIC.
37140614Srwatson# This can be disabled via the NO_MIXED_MODE option.  In that case,
38140614Srwatson# IRQ0 will be routed via an intpin on the first I/O APIC.  Not all
39140614Srwatson# motherboards hook IRQ0 up to the first I/O APIC even though their
40140614Srwatson# MP table or MADT may claim to do so.  That is why mixed mode is
41140614Srwatson# enabled by default.
42140614Srwatson#
43140614Srwatson
44140614Srwatson# Mandatory:
45140614Srwatsondevice		apic			# I/O apic
46140614Srwatson
47140614Srwatson# Optional:
48140614Srwatsonoptions 	NO_MIXED_MODE		# Disable use of mixed mode
492729Sdfr
50116182Sobrien
51116182Sobrien#####################################################################
52116182Sobrien# CPU OPTIONS
5359839Speter
54140614Srwatson#
5559839Speter# You must specify at least one CPU (the one you intend to run on);
562729Sdfr# deleting the specification for CPUs you don't need to use may make
572729Sdfr# parts of the system run faster.
5811626Sbde# I386_CPU is mutually exclusive with the other CPU types.
592729Sdfr# I386_CPU is deprecated and will be removed in 6.0-RELEASE.
60164033Srwatson#
612729Sdfr#cpu		I386_CPU
6282607Sdilloncpu		I486_CPU
6382607Sdilloncpu		I586_CPU		# aka Pentium(tm)
64129882Sphkcpu		I686_CPU		# aka Pentium Pro(tm)
652729Sdfr
6669449Salfred#
67140839Ssobomax# Options for CPU features.
6811626Sbde#
6959839Speter# CPU_BLUELIGHTNING_3X enables triple-clock mode on IBM Blue Lightning
7059839Speter# CPU if CPU supports it.  The default is double-clock mode on
7168024Srwatson# BlueLightning CPU box.
722729Sdfr#
73163606Srwatson# CPU_BLUELIGHTNING_FPU_OP_CACHE enables FPU operand cache on IBM
74163606Srwatson# BlueLightning CPU.  It works only with Cyrix FPU, and this option
7559839Speter# should not be used with Intel FPU.
7659839Speter#
7792723Salfred# CPU_BTB_EN enables branch target buffer on Cyrix 5x86 (NOTE 1).
7892723Salfred#
7992723Salfred# CPU_CYRIX_NO_LOCK enables weak locking for the entire address space
8010358Sjulian# of Cyrix 6x86 and 6x86MX CPUs by setting the NO_LOCK bit of CCR1.
81100523Salfred# Otherwise, the NO_LOCK bit of CCR1 is cleared.  (NOTE 3)
82100523Salfred#
83100523Salfred# CPU_DIRECT_MAPPED_CACHE sets L1 cache of Cyrix 486DLC CPU in direct
84100523Salfred# mapped mode.  Default is 2-way set associative mode.
85100523Salfred#
862729Sdfr# CPU_DISABLE_5X86_LSSER disables load store serialize (i.e., enables
8792723Salfred# reorder).  This option should not be used if you use memory mapped
882729Sdfr# I/O device(s).
8911626Sbde#
9012819Sphk# CPU_DISABLE_CMPXCHG disables the CMPXCHG instruction on > i386 IA32
9111626Sbde# machines.  VmWare seems to emulate this instruction poorly, causing
9211626Sbde# the guest OS to run very slowly.  Enabling this with an SMP kernel
9311626Sbde# will cause the kernel to be unusable.
942729Sdfr#
9559839Speter# CPU_DISABLE_SSE explicitly prevents I686_CPU from turning on SSE.
9659839Speter#
9759839Speter# CPU_ENABLE_SSE enables SSE/MMX2 instructions support.  This is default
9859839Speter# on I686_CPU and above.
9959839Speter#
10059839Speter# CPU_FASTER_5X86_FPU enables faster FPU exception handler.
10159839Speter#
10259839Speter# CPU_I486_ON_386 enables CPU cache on i486 based CPU upgrade products
10359839Speter# for i386 machines.
10459839Speter#
10559839Speter# CPU_IORT defines I/O clock delay time (NOTE 1).  Default values of
10659839Speter# I/O clock delay time on Cyrix 5x86 and 6x86 are 0 and 7,respectively
10759839Speter# (no clock delay).
10859839Speter#
10959839Speter# CPU_L2_LATENCY specifies the L2 cache latency value.  This option is used
11059839Speter# only when CPU_PPRO2CELERON is defined and Mendocino Celeron is detected.
11159839Speter# The default value is 5.
11259839Speter#
11359839Speter# CPU_LOOP_EN prevents flushing the prefetch buffer if the destination
11459839Speter# of a jump is already present in the prefetch buffer on Cyrix 5x86(NOTE
11559839Speter# 1).
11659839Speter#
11759839Speter# CPU_PPRO2CELERON enables L2 cache of Mendocino Celeron CPUs.  This option
11859839Speter# is useful when you use Socket 8 to Socket 370 converter, because most Pentium
11959839Speter# Pro BIOSs do not enable L2 cache of Mendocino Celeron CPUs.
12059839Speter#
12159839Speter# CPU_RSTK_EN enables return stack on Cyrix 5x86 (NOTE 1).
12259839Speter#
12359839Speter# CPU_SUSP_HLT enables suspend on HALT.  If this option is set, CPU
12459839Speter# enters suspend mode following execution of HALT instruction.
12559839Speter#
12659839Speter# CPU_UPGRADE_HW_CACHE eliminates unneeded cache flush instruction(s).
12759839Speter#
12859839Speter# CPU_WT_ALLOC enables write allocation on Cyrix 6x86/6x86MX and AMD
12959839Speter# K5/K6/K6-2 CPUs.
13059839Speter#
13159839Speter# CYRIX_CACHE_WORKS enables CPU cache on Cyrix 486 CPUs with cache
13259839Speter# flush at hold state.
13359839Speter#
13459839Speter# CYRIX_CACHE_REALLY_WORKS enables (1) CPU cache on Cyrix 486 CPUs
13559839Speter# without cache flush at hold state, and (2) write-back CPU cache on
13659839Speter# Cyrix 6x86 whose revision < 2.7 (NOTE 2).
13759839Speter#
13859839Speter# NO_F00F_HACK disables the hack that prevents Pentiums (and ONLY
13959839Speter# Pentiums) from locking up when a LOCK CMPXCHG8B instruction is
14059839Speter# executed.  This option is only needed if I586_CPU is also defined,
14159839Speter# and should be included for any non-Pentium CPU that defines it.
14259839Speter#
14359839Speter# NO_MEMORY_HOLE is an optimisation for systems with AMD K6 processors
14459839Speter# which indicates that the 15-16MB range is *definitely* not being
14559839Speter# occupied by an ISA memory hole.
14659839Speter#
14759839Speter# NOTE 1: The options, CPU_BTB_EN, CPU_LOOP_EN, CPU_IORT,
14859839Speter# CPU_LOOP_EN and CPU_RSTK_EN should not be used because of CPU bugs.
14959839Speter# These options may crash your system.
15059839Speter#
15159839Speter# NOTE 2: If CYRIX_CACHE_REALLY_WORKS is not set, CPU cache is enabled
15212819Sphk# in write-through mode when revision < 2.7.  If revision of Cyrix
15312819Sphk# 6x86 >= 2.7, CPU cache is always enabled in write-back mode.
15459839Speter#
15559839Speter# NOTE 3: This option may cause failures for software that requires
15659839Speter# locked cycles in order to operate correctly.
15759839Speter#
158137613Srwatsonoptions 	CPU_BLUELIGHTNING_3X
159101772Salfredoptions 	CPU_BLUELIGHTNING_FPU_OP_CACHE
1602729Sdfroptions 	CPU_BTB_EN
16159839Speteroptions 	CPU_DIRECT_MAPPED_CACHE
16269449Salfredoptions 	CPU_DISABLE_5X86_LSSER
1632729Sdfroptions 	CPU_DISABLE_CMPXCHG
1642729Sdfr#options 	CPU_DISABLE_SSE
1652729Sdfroptions 	CPU_ENABLE_SSE
16683765Smroptions 	CPU_FASTER_5X86_FPU
16783765Smroptions 	CPU_I486_ON_386
16883765Smroptions 	CPU_IORT
16983765Smroptions 	CPU_L2_LATENCY=5
170139436Srwatsonoptions 	CPU_LOOP_EN
171139436Srwatsonoptions 	CPU_PPRO2CELERON
17283765Smroptions 	CPU_RSTK_EN
173111119Simpoptions 	CPU_SUSP_HLT
17459839Speteroptions 	CPU_UPGRADE_HW_CACHE
17559839Speteroptions 	CPU_WT_ALLOC
176111119Simpoptions 	CYRIX_CACHE_WORKS
17759839Speteroptions 	CYRIX_CACHE_REALLY_WORKS
17859839Speter#options 	NO_F00F_HACK
179111119Simp
18059839Speter# Debug options
18159839Speteroptions 	NPX_DEBUG	# enable npx debugging
182137613Srwatson
183137613Srwatson#
18459839Speter# PERFMON causes the driver for Pentium/Pentium Pro performance counters
18559839Speter# to be compiled.  See perfmon(4) for more information.
18659839Speter#
1872729Sdfroptions 	PERFMON
1882729Sdfr
1892729Sdfr
1902729Sdfr#####################################################################
1912729Sdfr# NETWORKING OPTIONS
1922729Sdfr
1932729Sdfr#
1942729Sdfr# DEVICE_POLLING adds support for mixed interrupt-polling handling
1952729Sdfr# of network device drivers, which has significant benefits in terms
1962729Sdfr# of robustness to overloads and responsivity, as well as permitting
197100523Salfred# accurate scheduling of the CPU time between kernel network processing
198100523Salfred# and other activities.  The drawback is a moderate (up to 1/HZ seconds)
1992729Sdfr# potential increase in response times.
2002729Sdfr# It is strongly recommended to use HZ=1000 or 2000 with DEVICE_POLLING
2012729Sdfr# to achieve smoother behaviour.
2022729Sdfr# Additionally, you can enable/disable polling at runtime with the
203100523Salfred# sysctl variable kern.polling.enable (defaults off), and select
2042729Sdfr# the CPU fraction reserved to userland with the sysctl variable
2052729Sdfr# kern.polling.user_frac (default 50, range 0..100).
2062729Sdfr#
2072729Sdfr# Not all device drivers support this mode of operation at the time of
2082729Sdfr# this writing.  See polling(4) for more details.
2092729Sdfr
2102729Sdfroptions 	DEVICE_POLLING
2112729Sdfr
2122729Sdfr
2132729Sdfr#####################################################################
2142729Sdfr# CLOCK OPTIONS
2152729Sdfr
2162729Sdfr# The following options are used for debugging clock behavior only, and
2172729Sdfr# should not be used for production systems.
2182729Sdfr
2192729Sdfr# CLK_CALIBRATION_LOOP causes clock calibration to be run in a loop at
2202729Sdfr# startup until the user presses a key.  (The i8254 clock is always
2212729Sdfr# calibrated relative to the RTC (mc146818a) and this option causes the
2222729Sdfr# calibration to be repeated.)
2232729Sdfroptions 	CLK_CALIBRATION_LOOP
2242729Sdfr
2252729Sdfr# CLK_USE_I8254_CALIBRATION causes the calibrated frequency of the i8254
226140614Srwatson# clock to actually be used.
227140614Srwatsonoptions 	CLK_USE_I8254_CALIBRATION
228140614Srwatson
2292729Sdfr
2302729Sdfr#####################################################################
2312729Sdfr# MISCELLANEOUS DEVICES AND OPTIONS
2322729Sdfr
2332729Sdfrdevice		speaker		#Play IBM BASIC-style noises out your speaker
2342729Sdfrhint.speaker.0.at="isa"
2352729Sdfrhint.speaker.0.port="0x35"
236137613Srwatsondevice		gzip		#Exec gzipped a.out's.  REQUIRES COMPAT_AOUT!
237137613Srwatsondevice		apm_saver	# Requires APM
238137613Srwatson
239140614Srwatson
240140614Srwatson#####################################################################
241140614Srwatson# HARDWARE BUS CONFIGURATION
2422729Sdfr
243101772Salfred#
2442729Sdfr# ISA bus
2452729Sdfr#
24669449Salfreddevice		isa
24769449Salfred
24869449Salfred#
249137613Srwatson# Options for `isa':
25069449Salfred#
251140614Srwatson# AUTO_EOI_1 enables the `automatic EOI' feature for the master 8259A
252140614Srwatson# interrupt controller.  This saves about 0.7-1.25 usec for each interrupt.
253140614Srwatson# This option breaks suspend/resume on some portables.
25469449Salfred#
25569449Salfred# MAXMEM specifies the amount of RAM on the machine; if this is not
25669449Salfred# specified, FreeBSD will first read the amount of memory from the CMOS
25769449Salfred# RAM, so the amount of memory will initially be limited to 64MB or 16MB
25869449Salfred# depending on the BIOS.  If the BIOS reports 64MB, a memory probe will
25969449Salfred# then attempt to detect the installed amount of RAM.  If this probe
26069449Salfred# fails to detect >64MB RAM you will have to use the MAXMEM option.
26169449Salfred# The amount is in kilobytes, so for a machine with 128MB of RAM, it would
262137613Srwatson# be 131072 (128 * 1024).
263137613Srwatson#
264137613Srwatson# BROKEN_KEYBOARD_RESET disables the use of the keyboard controller to
26569449Salfred# reset the CPU for reboot.  This is needed on some systems with broken
26669449Salfred# keyboard controllers.
26769449Salfred
26869449Salfredoptions 	AUTO_EOI_1
26969449Salfred
270140614Srwatsonoptions 	MAXMEM=(128*1024)
271140614Srwatson#options 	BROKEN_KEYBOARD_RESET
272140614Srwatsonoptions 	EPSON_BOUNCEDMA
273140614Srwatsonoptions 	EPSON_MEMWIN
274140614Srwatson
275140614Srwatson#
27669449Salfred# PCI bus & PCI options:
27769449Salfred#
27869449Salfreddevice		pci
27969449Salfred
280101772Salfred#
28169449Salfred# AGP GART support
28269449Salfreddevice		agp
28369449Salfred
28469449Salfred
28569449Salfred#####################################################################
28669449Salfred# HARDWARE DEVICE CONFIGURATION
28769449Salfred
28869449Salfred# PC98 keyboard
28969449Salfreddevice		pckbd
29069449Salfredhint.pckbd.0.at="isa"
29169449Salfredhint.pckbd.0.port="0x041"
29269449Salfredhint.pckbd.0.irq="1"
29369449Salfred
29469449Salfred# These options are valid for other keyboard drivers as well.
29569449Salfredoptions 	KBD_DISABLE_KEYMAP_LOAD	# refuse to load a keymap
29669449Salfredoptions 	KBD_INSTALL_CDEV	# install a CDEV entry in /dev
29769449Salfred
29869449Salfred# GDC screen
29969449Salfreddevice		gdc
30069449Salfredhint.gdc.0.at="isa"
30169449Salfredoptions 	LINE30
30269449Salfred
30369449Salfred#
30469449Salfred# The Numeric Processing eXtension driver.  This is non-optional.
30569449Salfreddevice		npx
30671038Sdes
30771038Sdes#
30869449Salfred# `flags' for npx0:
30969449Salfred#	0x01	don't use the npx registers to optimize bcopy.
31069449Salfred#	0x02	don't use the npx registers to optimize bzero.
31169449Salfred#	0x04	don't use the npx registers to optimize copyin or copyout.
31288633Salfred# The npx registers are normally used to optimize copying and zeroing when
31388633Salfred# all of the following conditions are satisfied:
31488633Salfred#	I586_CPU is an option
31588633Salfred#	the cpu is an i586 (perhaps not a Pentium)
31688633Salfred#	the probe for npx0 succeeds
31769449Salfred#	INT 16 exception handling works.
31871038Sdes# Then copying and zeroing using the npx registers is normally 30-100% faster.
31969449Salfred# The flags can be used to control cases where it doesn't work or is slower.
32071038Sdes# Setting them at boot time using userconfig works right (the optimizations
32169449Salfred# are not used until later in the bootstrap when npx0 is attached).
3222729Sdfr# Flag 0x08 automatically disables the i586 optimized routines.
3232729Sdfr#
32482607Sdillon
32582607Sdillon#
3262729Sdfr# Optional devices:
3272729Sdfr#
32883366Sjulian
32983366Sjulian# 3Dfx Voodoo Graphics, Voodoo II /dev/3dfx CDEV support.  This will create
33011626Sbde# the /dev/3dfx0 device to work with glide implementations.  This should get
33111626Sbde# linked to /dev/3dfx and /dev/voodoo.  Note that this is not the same as
332118615Snectar# the tdfx DRI module from XFree86 and is completely unrelated.
33311626Sbde#
33411626Sbde# To enable Linuxulator support, one must also include COMPAT_LINUX in the
33511626Sbde# config as well, or you will not have the dependencies.  The other option
33611626Sbde# is to load both as modules.
33711626Sbde
33811626Sbdedevice		tdfx			# Enable 3Dfx Voodoo support
3392729Sdfroptions 	TDFX_LINUX		# Enable Linuxulator support
34082607Sdillon
3412729Sdfr# DRM options:
34291703Sjhb# mgadrm:    AGP Matrox G200, G400, G450, G550
34391703Sjhb# r128drm:   ATI Rage 128
344118615Snectar# radeondrm: ATI Radeon up to 9000/9100
345118615Snectar# sisdrm:    SiS 300/305,540,630
34691703Sjhb# tdfxdrm:   3dfx Voodoo 3/4/5 and Banshee
34783366Sjulian# DRM_DEBUG: include debug printfs, very slow
34882607Sdillon#
3492729Sdfr# mga requires AGP in the kernel, and it is recommended
3502729Sdfr# for AGP r128 and radeon cards.
3512729Sdfr
3522729Sdfrdevice		mgadrm
3532729Sdfrdevice		"r128drm"
3542729Sdfrdevice		radeondrm
3552729Sdfrdevice		sisdrm
3562729Sdfrdevice		tdfxdrm
3572729Sdfr
3582729Sdfroptions 	DRM_DEBUG
3592729Sdfr
3602729Sdfr#
3612729Sdfr# Bus mouse
3622729Sdfr#
3632729Sdfrdevice		mse
3642729Sdfrhint.mse.0.at="isa"
3652729Sdfrhint.mse.0.port="0x7fd9"
3662729Sdfrhint.mse.0.irq="13"
3672729Sdfr
3682729Sdfr#
3692729Sdfr# Network interfaces:
3702729Sdfr#
3712729Sdfr
3722729Sdfr# ar:   Arnet SYNC/570i hdlc sync 2/4 port V.35/X.21 serial driver
373140614Srwatson#       (requires sppp)
374140614Srwatson# cp:   Cronyx Tau-PCI sync single/dual/four port
375140614Srwatson#       V.35/RS-232/RS-530/RS-449/X.21/G.703/E1/E3/T3/STS-1
3762729Sdfr#       serial adaptor (requires sppp (default), or NETGRAPH if
3772729Sdfr#       NETGRAPH_CRONYX is configured)
37812866Speter# ed:   Western Digital and SMC 80xx; Novell NE1000 and NE2000; 3Com 3C503
3792729Sdfr#       HP PC Lan+, various PC Card devices (refer to etc/defaults/pccard.conf)
3802729Sdfr#       (requires miibus)
3812729Sdfr# ie:   AT&T StarLAN 10 and EN100; 3Com 3C507; unknown NI5210;
38212866Speter#       Intel EtherExpress
3832729Sdfr# lnc:  Lance/PCnet cards (Isolan, Novell NE2100, NE32-VL, AMD Am7990 and
38412866Speter#       Am79C960)
3852729Sdfr# oltr: Olicom ISA token-ring adapters OC-3115, OC-3117, OC-3118 and OC-3133.
38682607Sdillon#       Olicom PCI token-ring adapters OC-3136, OC-3137, OC-3139, OC-3140,
38782607Sdillon#       OC-3141, OC-3540 and OC-3250.
38882607Sdillon# sbni: Granch SBNI12-xx ISA and PCI adapters
38912866Speter# sr:   RISCom/N2 hdlc sync 1/2 port V.35/X.21 serial driver (requires sppp)
39083366Sjulian# wl:   Lucent Wavelan (ISA card only).
39183366Sjulian
3922729Sdfr# Order for ISA/EISA devices is important here
3932729Sdfr
3942729Sdfrdevice		ar
3952729Sdfrdevice		cp
3962729Sdfrdevice		ed
397140839Ssobomax#options 	ED_NO_MIIBUS		# Disable ed miibus support
398140839Ssobomaxhint.ed.0.at="isa"
399140839Ssobomaxhint.ed.0.port="0x280"
400140839Ssobomaxhint.ed.0.irq="5"
401140839Ssobomaxhint.ed.0.maddr="0xd8000"
402140839Ssobomaxdevice		ie			# Hints only required for Starlan
403141471Sjhbhint.ie.2.at="isa"
404140839Ssobomaxhint.ie.2.port="0x300"
405141471Sjhbhint.ie.2.irq="5"
406140839Ssobomaxhint.ie.2.maddr="0xd0000"
407140839Ssobomaxdevice		lnc
408140839Ssobomaxhint.lnc.0.at="isa"
409140839Ssobomaxhint.lnc.0.port="0x280"
410141471Sjhbhint.lnc.0.irq="10"
411140839Ssobomaxhint.lnc.0.drq="0"
412140839Ssobomaxdevice		sbni
413140839Ssobomaxhint.sbni.0.at="isa"
414140839Ssobomaxhint.sbni.0.port="0x210"
415140839Ssobomaxhint.sbni.0.irq="0xefdead"
416140839Ssobomaxhint.sbni.0.flags="0"
417137613Srwatsondevice		snc
4182729Sdfrhint.snc.0.at="isa"
41991703Sjhbhint.snc.0.port="0x888"
42091703Sjhbhint.snc.0.irq="6"
42191703Sjhbhint.snc.0.maddr="0xc0000"
422140839Ssobomaxdevice		sr
4232729Sdfrdevice		oltr
424140839Ssobomaxdevice		wl
425140839Ssobomaxhint.wl.0.at="isa"
426100523Salfredhint.wl.0.port="0x300"
427101772Salfredoptions 	WLCACHE		# enables the signal-strength cache
4282729Sdfroptions 	WLDEBUG		# enables verbose debugging output
4292729Sdfr
430140839Ssobomax#
4312729Sdfr# SCSI host adapters:
432101772Salfred#
433137613Srwatson# ct: WD33C93[ABC] based SCSI host adapters.
434100523Salfred# ncv: NCR 53C500 based SCSI host adapters.
43582607Sdillon# nsp: Workbit Ninja SCSI-3 based PC Card SCSI host adapters.
43682607Sdillon# stg: TMC 18C30, 18C50 based SCSI host adapters.
4372729Sdfr
438140839Ssobomaxdevice		ct
439100523Salfredhint.ct.0.at="isa"
44082607Sdillondevice		ncv
44182607Sdillondevice		nsp
4422729Sdfrdevice		stg
443140614Srwatson
444140614Srwatson#
445162468Srwatson# SafeNet crypto driver: can be moved to the MI NOTES as soon as
446140614Srwatson# it's tested on a big-endian machine
447140614Srwatson#
4482729Sdfrdevice		safe		# SafeNet 1141
44982607Sdillonoptions		SAFE_DEBUG	# enable debugging support: hw.safe.debug
4502729Sdfroptions		SAFE_RNDTEST	# enable rndtest support
4512729Sdfr
4522729Sdfr#####################################################################
4532729Sdfr
4542729Sdfr#
4552729Sdfr# Miscellaneous hardware:
4562729Sdfr#
457137613Srwatson# apm: Laptop Advanced Power Management (experimental)
45882607Sdillon# pmtimer: Timer device driver for power management events (APM or ACPI)
459137613Srwatson# cy: Cyclades serial driver
460140614Srwatson# digi: Digiboard driver
461140614Srwatson
462140614Srwatson# Notes on APM
463140614Srwatson#  The flags takes the following meaning for apm0:
464140614Srwatson#    0x0020  Statclock is broken.
465140614Srwatson
466140614Srwatsondevice		apm
467140614Srwatsonhint.apm.0.flags="0x20"
468140614Srwatsondevice		canbus
469140614Srwatsondevice		canbepm
470140614Srwatsondevice		cy
471140614Srwatsonoptions 	CY_PCI_FASTINTR		# Use with cy_pci unless irq is shared
472140614Srwatsondevice		digi
473162468Srwatson# BIOS & FEP/OS components of device digi.
474140614Srwatsondevice		digi_CX
475140614Srwatsondevice		digi_CX_PCI
476140614Srwatsondevice		digi_EPCX
477140614Srwatsondevice		digi_EPCX_PCI
4782729Sdfrdevice		digi_Xe
479137613Srwatsondevice		digi_Xem
4802729Sdfrdevice		digi_Xr
4812729Sdfrdevice		olpt
4822729Sdfrhint.olpt.0.at="isa"
4832729Sdfrhint.olpt.0.port="0x040"
484137613Srwatsondevice		pmc
485137613Srwatsonhint.pmc.0.at="isa"
4862729Sdfrhint.pmc.0.port="0x8f0"
4872729Sdfrdevice		pmtimer			# Adjust system timer at wakeup time
4882729Sdfr# sx device is i386 and pc98 only at the moment.
4892729Sdfrdevice		sx
4902729Sdfroptions 	SX_DEBUG
491137613Srwatson
4922729Sdfr#
493137613Srwatson# Laptop/Notebook options:
4942729Sdfr#
4952729Sdfr# See also:
496137613Srwatson#  apm under `Miscellaneous hardware'
4972729Sdfr# above.
498140614Srwatson
499140614Srwatson# For older notebooks that signal a powerfail condition (external
500140614Srwatson# power supply dropped, or battery state low) by issuing an NMI:
501140614Srwatson
502137613Srwatsonoptions 	POWERFAIL_NMI	# make it beep instead of panicing
5032729Sdfr
5042729Sdfr#
5052729Sdfr# PC Card/PCMCIA
5062729Sdfr# (OLDCARD)
5072729Sdfr#
508137613Srwatson# card: pccard slots
50982607Sdillon# pcic: isa/pccard bridge
510140839Ssobomaxdevice		pcic
511164033Srwatsonhint.pcic.0.at="isa"
51282607Sdillon#hint.pcic.1.at="isa"
51382607Sdillondevice		card	1
51443426Sphk
515140839Ssobomax#---------------------------------------------------------------------------
516100523Salfred# ISDN4BSD
517100523Salfred#
518140839Ssobomax# See /usr/share/examples/isdn/ROADMAP for an introduction to isdn4bsd.
5192729Sdfr#
520140839Ssobomax# i4b passive ISDN cards support contains the following hardware drivers:
521100523Salfred#
52282607Sdillon#	isic  - Siemens/Infineon ISDN ISAC/HSCX/IPAC chipset driver
52382607Sdillon#	iwic  - Winbond W6692 PCI bus ISDN S/T interface controller
5242729Sdfr#	ifpi  - AVM Fritz!Card PCI driver
525140839Ssobomax#	ifpi2  - AVM Fritz!Card PCI version 2 driver
526140839Ssobomax#	ihfc  - Cologne Chip HFC ISA/ISA-PnP chipset driver
527137613Srwatson#	ifpnp - AVM Fritz!Card PnP driver
528140839Ssobomax#	itjc  - Siemens ISAC / TJNet Tiger300/320 chipset
529140839Ssobomax#
530137613Srwatson# i4b active ISDN cards support contains the following hardware drivers:
5312729Sdfr#
5322729Sdfr#	iavc  - AVM B1 PCI, AVM B1 ISA, AVM T1
5332729Sdfr#
534137613Srwatson# Note that the ``options'' (if given) and ``device'' lines must BOTH
535100523Salfred# be uncommented to enable support for a given card !
53682607Sdillon#
5372729Sdfr# In addition to a hardware driver (and probably an option) the mandatory
538141471Sjhb# ISDN protocol stack devices and the mandatory support device must be
5392729Sdfr# enabled as well as one or more devices from the optional devices section.
5402729Sdfr#
5412729Sdfr#---------------------------------------------------------------------------
542100523Salfred#	isic driver (Siemens/Infineon chipsets)
54382607Sdillon#
54482607Sdillondevice	isic
5452729Sdfr#
5462729Sdfr# PCI bus Cards:
54782607Sdillon# --------------
54883366Sjulian#
54982607Sdillon# ELSA MicroLink ISDN/PCI (same as ELSA QuickStep 1000pro PCI)
550101772Salfredoptions 	ELSA_QS1PCI
551141471Sjhb#
5522729Sdfr#---------------------------------------------------------------------------
5532729Sdfr#	ifpnp driver for AVM Fritz!Card PnP
55412866Speter#
5552729Sdfr# AVM Fritz!Card PnP
5562729Sdfrdevice		ifpnp
5572729Sdfr#
5582729Sdfr#---------------------------------------------------------------------------
55912866Speter#	ihfc driver for Cologne Chip ISA chipsets (experimental!)
5602729Sdfr#
56182607Sdillon# Teles 16.3c ISA PnP
56282607Sdillon# AcerISDN P10 ISA PnP
56382607Sdillon# TELEINT ISDN SPEED No.1
56412866Speterdevice		ihfc
56583366Sjulian#
56683366Sjulian#---------------------------------------------------------------------------
5672729Sdfr#	ifpi driver for AVM Fritz!Card PCI
5682729Sdfr#
56982607Sdillon# AVM Fritz!Card PCI
5702729Sdfrdevice		ifpi
5712729Sdfr#
57291703Sjhb#---------------------------------------------------------------------------
573137613Srwatson#	ifpi2 driver for AVM Fritz!Card PCI version 2
5742729Sdfr#
575100523Salfred# AVM Fritz!Card PCI version 2
5762729Sdfrdevice		"ifpi2"
57791703Sjhb#
57891703Sjhb#---------------------------------------------------------------------------
57991703Sjhb#	iwic driver for Winbond W6692 chipset
580101772Salfred#
5812729Sdfr# ASUSCOM P-IN100-ST-D (and other Winbond W6692 based cards)
5822729Sdfrdevice		iwic
583137613Srwatson#
584137613Srwatson#---------------------------------------------------------------------------
585137613Srwatson#	itjc driver for Siemens ISAC / TJNet Tiger300/320 chipset
5862729Sdfr#
5872729Sdfr# Traverse Technologies NETjet-S
5882729Sdfr# Teles PCI-TJ
589100523Salfreddevice		itjc
5902729Sdfr#
591100523Salfred#---------------------------------------------------------------------------
59282607Sdillon#	iavc driver (AVM active cards, needs i4bcapi driver!)
59382607Sdillon#
5942729Sdfrdevice		iavc
595137613Srwatson#
596137613Srwatson#---------------------------------------------------------------------------
597100523Salfred#	ISDN Protocol Stack - mandatory for all hardware drivers
598100523Salfred#
59982607Sdillon# Q.921 / layer 2 - i4b passive cards D channel handling
6002729Sdfrdevice		"i4bq921"
601140614Srwatson#
602140614Srwatson# Q.931 / layer 3 - i4b passive cards D channel handling
603162468Srwatsondevice		"i4bq931"
604140614Srwatson#
605140614Srwatson# layer 4 - i4b common passive and active card handling
6062729Sdfrdevice		"i4b"
6072729Sdfr#
6082729Sdfr#---------------------------------------------------------------------------
6092729Sdfr#	ISDN devices - mandatory for all hardware drivers
610100523Salfred#
6112729Sdfr# userland driver to do ISDN tracing (for passive cards only)
6122729Sdfrdevice		"i4btrc"	4
6132729Sdfr#
6142729Sdfr# userland driver to control the whole thing
6152729Sdfrdevice		"i4bctl"
6162729Sdfr#
6172729Sdfr#---------------------------------------------------------------------------
6182729Sdfr#	ISDN devices - optional
619137613Srwatson#
620137613Srwatson# userland driver for access to raw B channel
621137613Srwatsondevice		"i4brbch"	4
6222729Sdfr#
6232729Sdfr# userland driver for telephony
6242729Sdfrdevice		"i4btel"	2
625100523Salfred#
62682607Sdillon# network driver for IP over raw HDLC ISDN
62782607Sdillondevice		"i4bipr"	4
6282729Sdfr# enable VJ header compression detection for ipr i/f
629100523Salfredoptions 	IPR_VJ
630137613Srwatson# enable logging of the first n IP packets to isdnd (n=32 here)
631137613Srwatsonoptions 	IPR_LOG=32
632137613Srwatson#
633137613Srwatson# network driver for sync PPP over ISDN; requires an equivalent
634137613Srwatson# number of sppp device to be configured
635137613Srwatsondevice		"i4bisppp"	4
6362729Sdfr#
637137613Srwatson# B-channel interface to the netgraph subsystem
638137613Srwatsondevice		"i4bing"	2
639137613Srwatson#
640137613Srwatson# CAPI driver needed for active ISDN cards (see iavc driver above)
641137613Srwatsondevice		"i4bcapi"
642137613Srwatson#
643137613Srwatson#---------------------------------------------------------------------------
644137613Srwatson
645137613Srwatson#
646137613Srwatson# Set the number of PV entries per process.  Increasing this can
647137613Srwatson# stop panics related to heavy use of shared memory.  However, that can
648140614Srwatson# (combined with large amounts of physical memory) cause panics at
649140614Srwatson# boot time due the kernel running out of VM space.
650140614Srwatson#
6512729Sdfr# If you're tweaking this, you might also want to increase the sysctls
652100523Salfred# "vm.v_free_min", "vm.v_free_reserved", and "vm.v_free_target".
65382607Sdillon#
65482607Sdillon# The value below is the one more than the default.
6552729Sdfr#
6562729Sdfroptions 	PMAP_SHPGPERPROC=201
6572729Sdfr
6582729Sdfr#
659137613Srwatson# Change the size of the kernel virtual address space.  Due to
66082607Sdillon# constraints in loader(8) on i386, this must be a multiple of 4.
661101772Salfred# 256 = 1 GB of kernel address space.  Increasing this also causes
66282607Sdillon# a reduction of the address space in user processes.  512 splits
6632729Sdfr# the 4GB cpu address space in half (2GB user, 2GB kernel).
6642729Sdfr#
66512866Speteroptions 	KVA_PAGES=260
6662729Sdfr
6672729Sdfr
668109895Salfred#####################################################################
6692729Sdfr# ABI Emulation
6702729Sdfr
6712729Sdfr# Enable iBCS2 runtime support for SCO and ISC binaries
67212866Speteroptions 	IBCS2
6732729Sdfr
67482607Sdillon# Emulate spx device for client side of SVR3 local X interface
67582607Sdillonoptions 	SPX_HACK
67682607Sdillon
67712866Speter# Enable Linux ABI emulation
67883366Sjulianoptions 	COMPAT_LINUX
67983366Sjulian
6802729Sdfr# Enable i386 a.out binary support
6812729Sdfroptions 	COMPAT_AOUT
6822729Sdfr
683109895Salfred# Enable the linux-like proc filesystem support (requires COMPAT_LINUX
6842729Sdfr# and PSEUDOFS)
6852729Sdfroptions 	LINPROCFS
68682607Sdillon
687137613Srwatson#
6882729Sdfr# SysVR4 ABI emulation
6892729Sdfr#
6902729Sdfr# The svr4 ABI emulator can be statically compiled into the kernel or loaded as
691100523Salfred# a KLD module.
692100523Salfred# The STREAMS network emulation code can also be compiled statically or as a
69391703Sjhb# module.  If loaded as a module, it must be loaded before the svr4 module
69491703Sjhb# (the /usr/sbin/svr4 script does this for you).  If compiling statically,
69591703Sjhb# the `streams' device must be configured into any kernel which also
696101772Salfred# specifies COMPAT_SVR4.  It is possible to have a statically-configured
6972729Sdfr# STREAMS device and a dynamically loadable svr4 emulator;  the /usr/sbin/svr4
6982729Sdfr# script understands that it doesn't need to load the `streams' module under
6992729Sdfr# those circumstances.
700100523Salfred# Caveat:  At this time, `options KTRACE' is required for the svr4 emulator
701100523Salfred# (whether static or dynamic).
70282607Sdillon#
70382607Sdillonoptions 	COMPAT_SVR4	# build emulator statically
7042729Sdfroptions 	DEBUG_SVR4	# enable verbose debugging
7052729Sdfrdevice		streams		# STREAMS network driver (required for svr4).
706137613Srwatson
707137613Srwatson
708100523Salfred#####################################################################
70982607Sdillon# VM OPTIONS
71082607Sdillon
7112729Sdfr# Disable the 4 MByte page PSE CPU feature.  The PSE feature allows the
712137613Srwatson# kernel to use 4 MByte pages to map the kernel instead of 4k pages.
713100523Salfred# This saves on the amount of memory needed for page tables needed to
71482607Sdillon# map the kernel.  You should only disable this feature as a temporary
71582607Sdillon# workaround if you are having problems with it enabled.
7162729Sdfr#
7172729Sdfr#options 	DISABLE_PSE
718137613Srwatson
719100523Salfred# Disable the global pages PGE CPU feature.  The PGE feature allows pages
72082607Sdillon# to be marked with the PG_G bit.  TLB entries for these pages are not
7212729Sdfr# flushed from the cache when %cr3 is reloaded.  This can make context
7222729Sdfr# switches less expensive.  You should only disable this feature as a
723140614Srwatson# temporary workaround if you are having problems with it enabled.
724140614Srwatson#
725162468Srwatson#options 	DISABLE_PG_G
726140614Srwatson
727140614Srwatson# KSTACK_PAGES is the number of memory pages to assign to the kernel
728140614Srwatson# stack of each thread.
7292729Sdfr
730100523Salfredoptions 	KSTACK_PAGES=3
731100523Salfred
7322729Sdfr#####################################################################
7332729Sdfr
7342729Sdfr# More undocumented options for linting.
7352729Sdfr# Note that documenting these are not considered an affront.
7362729Sdfr
7372729Sdfroptions 	FB_INSTALL_CDEV		# install a CDEV entry in /dev
7382729Sdfr
7392729Sdfr# PECOFF module (Win32 Execution Format)
740137613Srwatsonoptions 	PECOFF_SUPPORT
741137613Srwatsonoptions 	PECOFF_DEBUG
74282607Sdillon
74382607Sdillonoptions 	I4B_SMP_WORKAROUND
7442729Sdfroptions 	I586_PMC_GUPROF=0x70000
7452729Sdfroptions 	KBDIO_DEBUG=2
746137613Srwatsonoptions 	KBD_MAXRETRY=4
747100523Salfredoptions 	KBD_MAXWAIT=6
7482729Sdfroptions 	KBD_RESETDELAY=201
7492729Sdfr
750137613Srwatsonoptions 	TIMER_FREQ=((14318182+6)/12)
751100523Salfred
7522729Sdfroptions 	VM_KMEM_SIZE
7532729Sdfroptions 	VM_KMEM_SIZE_MAX
7542729Sdfroptions 	VM_KMEM_SIZE_SCALE
755100523Salfred
7562729Sdfr
7572729Sdfr#####################################################################
7582729Sdfr# Devices we don't want to deal with
759100523Salfred
7602729Sdfrnodevice	atkbdc
7612729Sdfrnodevice	atkbd
7622729Sdfrnodevice	psm
7632729Sdfrnodevice	vga
7642729Sdfrnodevice	bt
7652729Sdfrnodevice	adw
7662729Sdfrnodevice	aha
767100523Salfrednodevice	ahb
768100523Salfrednodevice	ahd
76982607Sdillonnodevice	mpt
77082607Sdillonnodevice	trm
7712729Sdfrnodevice	wds
7722729Sdfrnodevice	asr
773137613Srwatsonnodevice	dpt
774100523Salfrednodevice	ciss
7752729Sdfrnodevice	iir
7762729Sdfrnodevice	mly
7772729Sdfrnodevice	ida		# Compaq Smart RAID
7782729Sdfrnodevice	mlx		# Mylex DAC960
779100523Salfrednodevice	amr		# AMI MegaRAID
780137613Srwatsonnodevice	twe		# 3ware ATA RAID
7812729Sdfrnodevice	ataraid
7822729Sdfrnodevice	cm
783164368Sjkimnodevice	cs
784137613Srwatsonnodevice	ex
785164368Sjkimnodevice	fea
786164368Sjkimnodevice	cbb
7872729Sdfrnodevice	pccard
788137613Srwatsonnodevice	cardbus
789164368Sjkimnodevice	intpm
790164368Sjkimnodevice	alpm
791164368Sjkimnodevice	ichsmb
792164368Sjkimnodevice	viapm
79382607Sdillonnodevice	amdpm
794100523Salfrednodevice	nfpm
79582607Sdillon
79682607Sdillon
7972729Sdfr#####################################################################
7982729Sdfr# Options we don't want to deal with
7992729Sdfr
8002729Sdfrnooption	VGA_DEBUG
8012729Sdfrnooption	VGA_WIDTH90
8022729Sdfrnooption	VGA_SLOW_IOACCESS
803137613Srwatsonnooption	VGA_ALT_SEQACCESS
804100523Salfrednooption	PSM_RESETAFTERSUSPEND
80582607Sdillonnooption	PSM_HOOKRESUME
80682607Sdillonnooption	ATKBD_DFLT_KEYMAP
8072729Sdfrnooption	AHD_DEBUG
8082729Sdfrnooption	AHD_DEBUG_OPTS
8092729Sdfrnooption	AHD_REG_PRETTY_PRINT
810100523Salfrednooption	ADW_ALLOW_MEMIO
8112729Sdfrnooption	DPT_LOST_IRQ
8122729Sdfrnooption	DPT_RESET_HBA
8132729Sdfrnooption	DPT_TIMEOUT_FACTOR
8142729Sdfrnooption	AAC_DEBUG
8152729Sdfrnooption	ACPI_MAX_THREADS
8162729Sdfr
8172729Sdfr
8182729Sdfr#####################################################################
8192729Sdfr# Make options we don't want to deal with
820137613Srwatson
8212729Sdfrnomakeoption	ATKBD_DFLT_KEYMAP
8222729Sdfr