1194140Simp#
2213340Sjmallett# OCTEON1 -- Generic kernel configuration file for FreeBSD/MIPS on Cavium Octeon
3194140Simp#
4213340Sjmallett# For more information on this file, please read the config(5) manual page,
5213340Sjmallett# and/or the handbook section on Kernel Configuration Files:
6213340Sjmallett#
7194140Simp#    http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig-config.html
8194140Simp#
9194140Simp# The handbook is also available locally in /usr/share/doc/handbook
10194140Simp# if you've installed the doc distribution, otherwise always see the
11194140Simp# FreeBSD World Wide Web server (http://www.FreeBSD.org/) for the
12194140Simp# latest information.
13194140Simp#
14194140Simp# An exhaustive list of options and more detailed explanations of the
15213340Sjmallett# device lines is also present in the ../../conf/NOTES and NOTES files.
16213340Sjmallett# If you are in doubt as to the purpose or necessity of a line, check first
17194140Simp# in NOTES.
18194140Simp#
19194140Simp# $FreeBSD$
20194140Simp
21194143Simpident		OCTEON1
22194140Simp
23210311Sjmallettmakeoptions	ARCH_FLAGS="-march=octeon -mabi=64"
24217653Simpmakeoptions	LDSCRIPT_NAME=ldscript.mips.octeon1
25194140Simp
26194140Simp# Don't build any modules yet.
27194140Simpmakeoptions	MODULES_OVERRIDE=""
28199751Simpmakeoptions	KERNLOADADDR=0xffffffff80100000
29194140Simp
30232913Sjmallett# We don't need to build a trampolined version of the kernel.
31232913Sjmallettmakeoptions	WITHOUT_KERNEL_TRAMPOLINE=1
32232913Sjmallett
33202065Simpinclude		"../cavium/std.octeon1"
34194140Simp
35194143Simphints		"OCTEON1.hints"		#Default places to look for devices.
36194140Simp
37194140Simpmakeoptions	DEBUG=-g		#Build kernel with gdb(1) debug symbols
38194140Simp
39213340Sjmallett# Board-specific support that cannot be auto-detected at runtime.
40213340Sjmallett#options 	OCTEON_VENDOR_LANNER		# Support for Lanner boards.
41242104Sjmallett#options 	OCTEON_VENDOR_RADISYS		# Support for Radisys boards.
42244984Sjmallett#options 	OCTEON_VENDOR_UBIQUITI		# Support for Ubiquiti boards.
43250429Simp#options	OCTEON_VENDOR_GEFES		# Support for GE LANIC boards
44213340Sjmallett#options 	OCTEON_BOARD_CAPK_0100ND	# Support for CAPK-0100nd.
45213340Sjmallett
46243469Sjmallett# Compile for a specified Octeon model.  If not specified, support for
47243469Sjmallett# detection at runtime will be used instead, which may give inferior
48243469Sjmallett# performance.
49243469Sjmallett#
50243469Sjmallett# See sys/contrib/octeon-sdk/octeon-model.h for possible values.
51243469Sjmallett#options 	OCTEON_MODEL=OCTEON_CN58XX_PASS1_1
52243469Sjmallett
53213340Sjmallettoptions 	SCHED_ULE		# ULE scheduler
54213340Sjmallettoptions 	PREEMPTION		# Enable kernel thread preemption
55213340Sjmallettoptions 	INET			# InterNETworking
56213340Sjmallettoptions 	INET6			# IPv6 communications protocols
57213340Sjmallettoptions 	SCTP			# Stream Control Transmission Protocol
58213340Sjmallettoptions 	FFS			# Berkeley Fast Filesystem
59213340Sjmallettoptions 	SOFTUPDATES		# Enable FFS soft updates support
60213340Sjmallettoptions 	UFS_ACL			# Support for access control lists
61213340Sjmallettoptions 	UFS_DIRHASH		# Improve performance on big directories
62213340Sjmallettoptions 	UFS_GJOURNAL		# Enable gjournal-based UFS journaling
63213340Sjmallettoptions 	MD_ROOT			# MD is a potential root device
64221753Sgonzooptions 	NFSCL			# Network Filesystem Client
65221753Sgonzooptions 	NFSD			# Network Filesystem Server
66213340Sjmallettoptions 	NFSLOCKD		# Network Lock Manager
67221753Sgonzooptions 	NFS_ROOT		# NFS usable as /, requires NFSCL
68213340Sjmallettoptions 	MSDOSFS			# MSDOS Filesystem
69213340Sjmallettoptions 	CD9660			# ISO 9660 Filesystem
70213340Sjmallettoptions 	PROCFS			# Process filesystem (requires PSEUDOFS)
71213340Sjmallettoptions 	PSEUDOFS		# Pseudo-filesystem framework
72213340Sjmallettoptions 	GEOM_PART_GPT		# GUID Partition Tables.
73213340Sjmallettoptions 	GEOM_LABEL		# Provides labelization
74232720Sjmallettoptions 	COMPAT_FREEBSD32	# Compatible with o32 binaries
75213340Sjmallettoptions 	SCSI_DELAY=5000		# Delay (in ms) before probing SCSI
76213340Sjmallettoptions 	KTRACE			# ktrace(1) support
77213340Sjmallettoptions 	STACK			# stack(9) support
78213340Sjmallettoptions 	SYSVSHM			# SYSV-style shared memory
79213340Sjmallettoptions 	SYSVMSG			# SYSV-style message queues
80213340Sjmallettoptions 	SYSVSEM			# SYSV-style semaphores
81213340Sjmallettoptions 	_KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions
82213340Sjmallettoptions 	PRINTF_BUFR_SIZE=128	# Prevent printf output being interspersed.
83213340Sjmallettoptions 	HWPMC_HOOKS		# Necessary kernel hooks for hwpmc(4)
84213340Sjmallettoptions 	AUDIT			# Security event auditing
85213340Sjmallettoptions 	MAC			# TrustedBSD MAC Framework
86213340Sjmallett#options 	KDTRACE_FRAME		# Ensure frames are compiled in
87213340Sjmallett#options 	KDTRACE_HOOKS		# Kernel DTrace hooks
88213340Sjmallettoptions 	INCLUDE_CONFIG_FILE     # Include this file in kernel
89213340Sjmallettoptions 	NO_SWAPPING		# Disable support for paging
90194140Simp
91213340Sjmallett# Debugging for use in -current
92213340Sjmallettoptions 	KDB			# Enable kernel debugger support.
93213340Sjmallettoptions 	DDB			# Support DDB.
94213340Sjmallettoptions 	GDB			# Support remote GDB.
95213340Sjmallettoptions 	DEADLKRES		# Enable the deadlock resolver
96213340Sjmallettoptions 	INVARIANTS		# Enable calls of extra sanity checking
97213340Sjmallettoptions 	INVARIANT_SUPPORT	# Extra sanity checks of internal structures, required by INVARIANTS
98213340Sjmallettoptions 	WITNESS			# Enable checks to detect deadlocks and cycles
99213340Sjmallettoptions 	WITNESS_SKIPSPIN	# Don't run witness on spinlocks for speed
100213340Sjmallettoptions 	MALLOC_DEBUG_MAXZONES=8	# Separate malloc(9) zones
101194140Simp
102213340Sjmallett# Make an SMP-capable kernel by default
103213340Sjmallettoptions 	SMP			# Symmetric MultiProcessor Kernel
104194140Simp
105213340Sjmallett# Bus support.
106213340Sjmallettdevice		pci
107194140Simp
108220982Smav# ATA controllers
109220982Smavdevice		ahci		# AHCI-compatible SATA controllers
110220982Smavdevice		ata		# Legacy ATA/SATA controllers
111220982Smavdevice		mvs		# Marvell 88SX50XX/88SX60XX/88SX70XX/SoC SATA
112220982Smavdevice		siis		# SiliconImage SiI3124/SiI3132/SiI3531 SATA
113194140Simp
114213340Sjmallett# On-board Compact Flash driver.
115213340Sjmallettdevice		cf
116213340Sjmallettoptions 	ROOTDEVNAME=\"ufs:cf0s2a\"	# Default root filesystem.
117194140Simp
118213340Sjmallett# SCSI Controllers
119213340Sjmallettdevice		ahc		# AHA2940 and onboard AIC7xxx devices
120213340Sjmallettoptions 	AHC_REG_PRETTY_PRINT	# Print register bitfields in debug
121213340Sjmallett					# output.  Adds ~128k to driver.
122213340Sjmallettdevice		ahd		# AHA39320/29320 and onboard AIC79xx devices
123213340Sjmallettoptions 	AHD_REG_PRETTY_PRINT	# Print register bitfields in debug
124213340Sjmallett					# output.  Adds ~215k to driver.
125228005Smariusdevice		esp		# AMD Am53C974 (Tekram DC-390(T))
126213340Sjmallettdevice		hptiop		# Highpoint RocketRaid 3xxx series
127213340Sjmallettdevice		isp		# Qlogic family
128213340Sjmallett#device		ispfw		# Firmware for QLogic HBAs- normally a module
129213340Sjmallettdevice		mpt		# LSI-Logic MPT-Fusion
130213340Sjmallettdevice		mps		# LSI-Logic MPT-Fusion 2
131265236Skendevice		mpr		# LSI-Logic MPT-Fusion 3
132213340Sjmallett#device		ncr		# NCR/Symbios Logic
133213340Sjmallettdevice		trm		# Tekram DC395U/UW/F DC315U adapters
134210311Sjmallett
135213340Sjmallettdevice		adv		# Advansys SCSI adapters
136213340Sjmallettdevice		adw		# Advansys wide SCSI adapters
137213340Sjmallettdevice		aic		# Adaptec 15[012]x SCSI adapters, AIC-6[23]60.
138213340Sjmallettdevice		bt		# Buslogic/Mylex MultiMaster SCSI adapters
139210311Sjmallett
140220982Smav# ATA/SCSI peripherals
141220982Smavdevice		scbus		# SCSI bus (required for ATA/SCSI)
142213340Sjmallettdevice		ch		# SCSI media changers
143213340Sjmallettdevice		da		# Direct Access (disks)
144213340Sjmallettdevice		sa		# Sequential Access (tape etc)
145213340Sjmallettdevice		cd		# CD
146220982Smavdevice		pass		# Passthrough device (direct ATA/SCSI access)
147235898Smavdevice		ses		# Enclosure Services (SES and SAF-TE)
148194140Simp
149213340Sjmallett# RAID controllers interfaced to the SCSI subsystem
150213340Sjmallettdevice		amr		# AMI MegaRAID
151213340Sjmallett#XXX it is not 64-bit clean, -scottl
152213340Sjmallett#device		asr		# DPT SmartRAID V, VI and Adaptec SCSI RAID
153213340Sjmallettdevice		ciss		# Compaq Smart RAID 5*
154213340Sjmallettdevice		dpt		# DPT Smartcache III, IV - See NOTES for options
155213340Sjmallettdevice		iir		# Intel Integrated RAID
156213340Sjmallettdevice		ips		# IBM (Adaptec) ServeRAID
157213340Sjmallettdevice		mly		# Mylex AcceleRAID/eXtremeRAID
158194140Simp
159213340Sjmallett# RAID controllers
160213340Sjmallettdevice		aac		# Adaptec FSA RAID
161213340Sjmallettdevice		aacp		# SCSI passthrough for aac (requires CAM)
162213340Sjmallettdevice		ida		# Compaq Smart RAID
163213340Sjmallettdevice		mfi		# LSI MegaRAID SAS
164213340Sjmallettdevice		mlx		# Mylex DAC960 family
165213340Sjmallett#XXX pointer/int warnings
166213340Sjmallett#device		pst		# Promise Supertrak SX6000
167213340Sjmallettdevice		twe		# 3ware ATA RAID
168194140Simp
169213340Sjmallett# PCCARD (PCMCIA) support
170213340Sjmallett# PCMCIA and cardbus bridge support
171213340Sjmallettdevice		cbb		# cardbus (yenta) bridge
172213340Sjmallettdevice		pccard		# PC Card (16-bit) bus
173213340Sjmallettdevice		cardbus		# CardBus (32-bit) bus
174194140Simp
175213340Sjmallett# Serial (COM) ports
176213340Sjmallettdevice		uart		# Generic UART driver
177213340Sjmallett
178213340Sjmallett# If you've got a "dumb" serial or parallel PCI card that is
179213340Sjmallett# supported by the puc(4) glue driver, uncomment the following
180213340Sjmallett# line to enable it (connects to sio, uart and/or ppc drivers):
181213340Sjmallett#device		puc
182213340Sjmallett
183213340Sjmallett# On-board Cavium Octeon Ethernet.
184213340Sjmallett# NOTE: Be sure to keep the 'device miibus' line in order to use these NICs!
185213340Sjmallettdevice		octe
186213340Sjmallett
187217214Sjmallett# Cavium Octeon management Ethernet.
188217214Sjmallettdevice		octm
189217214Sjmallett
190213762Sjmallett# Switch PHY support for the octe driver.  These currently present a VLAN per
191213762Sjmallett# physical port, but may eventually provide support for DSA or similar instead.
192213762Sjmallett#device		mv88e61xxphy	# Marvell 88E61XX
193213762Sjmallett
194213340Sjmallett# PCI Ethernet NICs.
195213340Sjmallettdevice		de		# DEC/Intel DC21x4x (``Tulip'')
196213340Sjmallettdevice		em		# Intel PRO/1000 Gigabit Ethernet Family
197213340Sjmallettdevice		igb		# Intel PRO/1000 PCIE Server Gigabit Family
198280226Sjfvdevice		ix		# Intel PRO/10GbE PF PCIE Ethernet Family
199280226Sjfvdevice		ixv		# Intel PRO/10GbE VF PCIE Ethernet Family
200213340Sjmallettdevice		le		# AMD Am7900 LANCE and Am79C9xx PCnet
201213340Sjmallettdevice		ti		# Alteon Networks Tigon I/II gigabit Ethernet
202213340Sjmallettdevice		txp		# 3Com 3cR990 (``Typhoon'')
203213340Sjmallettdevice		vx		# 3Com 3c590, 3c595 (``Vortex'')
204213340Sjmallett
205213340Sjmallett# PCI Ethernet NICs that use the common MII bus controller code.
206213340Sjmallett# NOTE: Be sure to keep the 'device miibus' line in order to use these NICs!
207213340Sjmallettdevice		miibus		# MII bus support
208213340Sjmallettdevice		ae		# Attansic/Atheros L2 FastEthernet
209213340Sjmallettdevice		age		# Attansic/Atheros L1 Gigabit Ethernet
210213340Sjmallettdevice		alc		# Atheros AR8131/AR8132 Ethernet
211213340Sjmallettdevice		ale		# Atheros AR8121/AR8113/AR8114 Ethernet
212213340Sjmallettdevice		bce		# Broadcom BCM5706/BCM5708 Gigabit Ethernet
213213340Sjmallettdevice		bfe		# Broadcom BCM440x 10/100 Ethernet
214213340Sjmallettdevice		bge		# Broadcom BCM570xx Gigabit Ethernet
215213340Sjmallettdevice		dc		# DEC/Intel 21143 and various workalikes
216213340Sjmallettdevice		et		# Agere ET1310 10/100/Gigabit Ethernet
217213340Sjmallettdevice		fxp		# Intel EtherExpress PRO/100B (82557, 82558)
218213340Sjmallettdevice		jme		# JMicron JMC250 Gigabit/JMC260 Fast Ethernet
219213340Sjmallettdevice		lge		# Level 1 LXT1001 gigabit Ethernet
220213340Sjmallettdevice		msk		# Marvell/SysKonnect Yukon II Gigabit Ethernet
221213340Sjmallettdevice		nge		# NatSemi DP83820 gigabit Ethernet
222213340Sjmallettdevice		pcn		# AMD Am79C97x PCI 10/100 (precedence over 'le')
223213340Sjmallettdevice		re		# RealTek 8139C+/8169/8169S/8110S
224213340Sjmallettdevice		rl		# RealTek 8129/8139
225213340Sjmallettdevice		sf		# Adaptec AIC-6915 (``Starfire'')
226213340Sjmallettdevice		sge		# Silicon Integrated Systems SiS190/191
227213340Sjmallettdevice		sis		# Silicon Integrated Systems SiS 900/SiS 7016
228213340Sjmallettdevice		sk		# SysKonnect SK-984x & SK-982x gigabit Ethernet
229213340Sjmallettdevice		ste		# Sundance ST201 (D-Link DFE-550TX)
230213340Sjmallettdevice		stge		# Sundance/Tamarack TC9021 gigabit Ethernet
231213340Sjmallettdevice		tl		# Texas Instruments ThunderLAN
232213340Sjmallettdevice		tx		# SMC EtherPower II (83c170 ``EPIC'')
233213340Sjmallettdevice		vge		# VIA VT612x gigabit Ethernet
234213340Sjmallettdevice		vr		# VIA Rhine, Rhine II
235213340Sjmallettdevice		wb		# Winbond W89C840F
236213340Sjmallettdevice		xl		# 3Com 3c90x (``Boomerang'', ``Cyclone'')
237213340Sjmallett
238213340Sjmallett# Wireless NIC cards
239213340Sjmallettdevice		wlan		# 802.11 support
240213340Sjmallettoptions 	IEEE80211_DEBUG	# enable debug msgs
241213340Sjmallettoptions 	IEEE80211_AMPDU_AGE # age frames in AMPDU reorder q's
242213340Sjmallettoptions 	IEEE80211_SUPPORT_MESH	# enable 802.11s draft support
243213340Sjmallettdevice		wlan_wep	# 802.11 WEP support
244213340Sjmallettdevice		wlan_ccmp	# 802.11 CCMP support
245213340Sjmallettdevice		wlan_tkip	# 802.11 TKIP support
246213340Sjmallettdevice		wlan_amrr	# AMRR transmit rate control algorithm
247213340Sjmallettdevice		an		# Aironet 4500/4800 802.11 wireless NICs.
248220185Sadriandevice		ath		# Atheros NIC's
249232409Sjmallettdevice		ath_pci		# Atheros pci/cardbus glue
250213340Sjmallettdevice		ath_hal		# pci/cardbus chip support
251213340Sjmallettoptions 	AH_SUPPORT_AR5416	# enable AR5416 tx/rx descriptors
252213340Sjmallettdevice		ath_rate_sample	# SampleRate tx rate control for ath
253213340Sjmallettdevice		ral		# Ralink Technology RT2500 wireless NICs.
254213340Sjmallettdevice		wi		# WaveLAN/Intersil/Symbol 802.11 wireless NICs.
255213340Sjmallett
256213340Sjmallett# Pseudo devices.
257213340Sjmallettdevice		loop		# Network loopback
258213340Sjmallettdevice		random		# Entropy device
259213340Sjmallettdevice		ether		# Ethernet support
260213340Sjmallettdevice		vlan		# 802.1Q VLAN support
261213340Sjmallettdevice		tun		# Packet tunnel.
262213340Sjmallettdevice		md		# Memory "disks"
263213340Sjmallettdevice		gif		# IPv6 and IPv4 tunneling
264213340Sjmallettdevice		firmware	# firmware assist module
265213340Sjmallett
266213340Sjmallett# The `bpf' device enables the Berkeley Packet Filter.
267213340Sjmallett# Be aware of the administrative consequences of enabling this!
268213340Sjmallett# Note that 'bpf' is required for DHCP.
269213340Sjmallettdevice		bpf		# Berkeley packet filter
270213340Sjmallett
271242953Sjmallett# Hardware watchdog support.
272242953Sjmallett#device		octeon_wdog	# Octeon hardware watchdog
273242953Sjmallett
274213340Sjmallett# USB support
275213340Sjmallettoptions 	USB_DEBUG	# enable debug msgs
276213340Sjmallettdevice		octusb		# Cavium Octeon on-board USB interface (USB 2.0)
277213340Sjmallettdevice		uhci		# UHCI PCI->USB interface
278213340Sjmallettdevice		ohci		# OHCI PCI->USB interface
279213340Sjmallettdevice		ehci		# EHCI PCI->USB interface (USB 2.0)
280213340Sjmallettdevice		usb		# USB Bus (required)
281213340Sjmallett#device		udbp		# USB Double Bulk Pipe devices
282213340Sjmallettdevice		uhid		# "Human Interface Devices"
283213340Sjmallettdevice		ulpt		# Printer
284213340Sjmallettdevice		umass		# Disks/Mass storage - Requires scbus and da
285213340Sjmallettdevice		ums		# Mouse
286213340Sjmallettdevice		urio		# Diamond Rio 500 MP3 player
287213340Sjmallett# USB Serial devices
288213340Sjmallettdevice		u3g		# USB-based 3G modems (Option, Huawei, Sierra)
289213340Sjmallettdevice		uark		# Technologies ARK3116 based serial adapters
290213340Sjmallettdevice		ubsa		# Belkin F5U103 and compatible serial adapters
291213340Sjmallettdevice		uftdi		# For FTDI usb serial adapters
292213340Sjmallettdevice		uipaq		# Some WinCE based devices
293213340Sjmallettdevice		uplcom		# Prolific PL-2303 serial adapters
294213340Sjmallettdevice		uslcom		# SI Labs CP2101/CP2102 serial adapters
295213340Sjmallettdevice		uvisor		# Visor and Palm devices
296213340Sjmallettdevice		uvscom		# USB serial support for DDI pocket's PHS
297213340Sjmallett# USB Ethernet, requires miibus
298213340Sjmallettdevice		aue		# ADMtek USB Ethernet
299213340Sjmallettdevice		axe		# ASIX Electronics USB Ethernet
300213340Sjmallettdevice		cdce		# Generic USB over Ethernet
301213340Sjmallettdevice		cue		# CATC USB Ethernet
302213340Sjmallettdevice		kue		# Kawasaki LSI USB Ethernet
303213340Sjmallettdevice		rue		# RealTek RTL8150 USB Ethernet
304213340Sjmallettdevice		udav		# Davicom DM9601E USB
305213340Sjmallett# USB Wireless
306213340Sjmallettdevice		rum		# Ralink Technology RT2501USB wireless NICs
307213340Sjmallettdevice		uath		# Atheros AR5523 wireless NICs
308213340Sjmallettdevice		ural		# Ralink Technology RT2500USB wireless NICs
309225482Sbruefferdevice		zyd		# ZyDAS zd1211/zd1211b wireless NICs
310242953Sjmallett
311242953Sjmallett# crypto subsystem
312242953Sjmallettdevice		crypto		# core crypto support
313242953Sjmallettdevice		cryptodev	# /dev/crypto for access to h/w
314242953Sjmallettdevice		cryptocteon	# Octeon coprocessor 2 crypto offload
315242953Sjmallett
316242953Sjmallett# GPIO support
317242953Sjmallett#device		gpio
318242953Sjmallett
319242953Sjmallett# PMC support
320242953Sjmallett#device		hwpmc
321