2 # ERL - EdgeRouter Lite kernel config
3 # Based on configuration from http://rtfm.net/FreeBSD/ERL
5 # For more information on this file, please read the config(5) manual page,
6 # and/or the handbook section on Kernel Configuration Files:
8 # http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig-config.html
10 # The handbook is also available locally in /usr/share/doc/handbook
11 # if you've installed the doc distribution, otherwise always see the
12 # FreeBSD World Wide Web server (http://www.FreeBSD.org/) for the
15 # An exhaustive list of options and more detailed explanations of the
16 # device lines is also present in the ../../conf/NOTES and NOTES files.
17 # If you are in doubt as to the purpose or necessity of a line, check first
24 makeoptions ARCH_FLAGS="-march=octeon -mabi=64"
25 makeoptions LDSCRIPT_NAME=ldscript.mips.octeon1
27 # Don't build any modules yet.
28 makeoptions MODULES_OVERRIDE=""
29 makeoptions KERNLOADADDR=0xffffffff80100000
31 # We don't need to build a trampolined version of the kernel.
32 makeoptions WITHOUT_KERNEL_TRAMPOLINE=1
34 include "../cavium/std.octeon1"
36 hints "OCTEON1.hints" #Default places to look for devices.
38 makeoptions DEBUG=-g #Build kernel with gdb(1) debug symbols
40 # Board-specific support that cannot be auto-detected at runtime.
41 #options OCTEON_VENDOR_LANNER # Support for Lanner boards.
42 #options OCTEON_VENDOR_RADISYS # Support for Radisys boards.
43 options OCTEON_VENDOR_UBIQUITI # Support for Ubiquiti boards.
44 #options OCTEON_VENDOR_GEFES # Support for GE LANIC boards
45 #options OCTEON_BOARD_CAPK_0100ND # Support for CAPK-0100nd.
47 # Compile for a specified Octeon model. If not specified, support for
48 # detection at runtime will be used instead, which may give inferior
51 # See sys/contrib/octeon-sdk/octeon-model.h for possible values.
52 options OCTEON_MODEL=OCTEON_CN50XX_PASS1
54 options SCHED_ULE # ULE scheduler
55 options PREEMPTION # Enable kernel thread preemption
56 options INET # InterNETworking
57 options INET6 # IPv6 communications protocols
58 options TCP_HHOOK # hhook(9) framework for TCP
59 options SCTP # Stream Control Transmission Protocol
60 options FFS # Berkeley Fast Filesystem
61 options SOFTUPDATES # Enable FFS soft updates support
62 options UFS_ACL # Support for access control lists
63 options UFS_DIRHASH # Improve performance on big directories
64 options UFS_GJOURNAL # Enable gjournal-based UFS journaling
65 options MD_ROOT # MD is a potential root device
66 options NFSCL # Network Filesystem Client
67 options NFSD # Network Filesystem Server
68 options NFSLOCKD # Network Lock Manager
69 options NFS_ROOT # NFS usable as /, requires NFSCL
70 options MSDOSFS # MSDOS Filesystem
71 options CD9660 # ISO 9660 Filesystem
72 options PROCFS # Process filesystem (requires PSEUDOFS)
73 options PSEUDOFS # Pseudo-filesystem framework
74 options GEOM_PART_GPT # GUID Partition Tables.
75 options GEOM_LABEL # Provides labelization
76 options COMPAT_FREEBSD32 # Compatible with o32 binaries
77 options COMPAT_FREEBSD10 # Compatible with FreeBSD10
78 options SCSI_DELAY=5000 # Delay (in ms) before probing SCSI
79 options KTRACE # ktrace(1) support
80 options STACK # stack(9) support
81 options SYSVSHM # SYSV-style shared memory
82 options SYSVMSG # SYSV-style message queues
83 options SYSVSEM # SYSV-style semaphores
84 options _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions
85 options PRINTF_BUFR_SIZE=128 # Prevent printf output being interspersed.
86 options HWPMC_HOOKS # Necessary kernel hooks for hwpmc(4)
87 options AUDIT # Security event auditing
88 options MAC # TrustedBSD MAC Framework
89 #options KDTRACE_FRAME # Ensure frames are compiled in
90 #options KDTRACE_HOOKS # Kernel DTrace hooks
91 options INCLUDE_CONFIG_FILE # Include this file in kernel
92 options NO_SWAPPING # Disable support for paging
93 options TMPFS # Temporary file system
95 # Debugging for use in -current
96 #options KDB # Enable kernel debugger support.
97 #options DDB # Support DDB.
98 #options GDB # Support remote GDB.
99 #options DEADLKRES # Enable the deadlock resolver
100 #options INVARIANTS # Enable calls of extra sanity checking
101 #options INVARIANT_SUPPORT # Extra sanity checks of internal structures, required by INVARIANTS
102 #options WITNESS # Enable checks to detect deadlocks and cycles
103 #options WITNESS_SKIPSPIN # Don't run witness on spinlocks for speed
104 #options MALLOC_DEBUG_MAXZONES=8 # Separate malloc(9) zones
106 # Make an SMP-capable kernel by default
107 options SMP # Symmetric MultiProcessor Kernel
109 options ROOTDEVNAME=\"ufs:da0s2a\" # Default root filesystem.
111 # ATA/SCSI peripherals
112 device scbus # SCSI bus (required for ATA/SCSI)
113 device ch # SCSI media changers
114 device da # Direct Access (disks)
115 device sa # Sequential Access (tape etc)
117 device pass # Passthrough device (direct ATA/SCSI access)
118 device ses # Enclosure Services (SES and SAF-TE)
121 device uart # Generic UART driver
123 # On-board Cavium Octeon Ethernet.
124 # NOTE: Be sure to keep the 'device miibus' line in order to use these NICs!
127 # Cavium Octeon management Ethernet.
130 # Switch PHY support for the octe driver. These currently present a VLAN per
131 # physical port, but may eventually provide support for DSA or similar instead.
132 #device mv88e61xxphy # Marvell 88E61XX
135 device wlan # 802.11 support
136 options IEEE80211_DEBUG # enable debug msgs
137 options IEEE80211_AMPDU_AGE # age frames in AMPDU reorder q's
138 options IEEE80211_SUPPORT_MESH # enable 802.11s draft support
139 device wlan_wep # 802.11 WEP support
140 device wlan_ccmp # 802.11 CCMP support
141 device wlan_tkip # 802.11 TKIP support
142 device wlan_amrr # AMRR transmit rate control algorithm
143 #device ath # Atheros NIC's
144 #device ath_pci # Atheros pci/cardbus glue
145 #device ath_hal # pci/cardbus chip support
146 #options AH_SUPPORT_AR5416 # enable AR5416 tx/rx descriptors
147 #device ath_rate_sample # SampleRate tx rate control for ath
150 device loop # Network loopback
151 device random # Entropy device
152 device ether # Ethernet support
153 device vlan # 802.1Q VLAN support
154 device tun # Packet tunnel.
155 device md # Memory "disks"
156 device gif # IPv6 and IPv4 tunneling
157 device firmware # firmware assist module
159 # The `bpf' device enables the Berkeley Packet Filter.
160 # Be aware of the administrative consequences of enabling this!
161 # Note that 'bpf' is required for DHCP.
162 device bpf # Berkeley packet filter
164 # Hardware watchdog support.
165 #device octeon_wdog # Octeon hardware watchdog
168 options USB_DEBUG # enable debug msgs
169 device octusb # Cavium Octeon on-board USB interface (USB 2.0)
170 device uhci # UHCI PCI->USB interface
171 device ohci # OHCI PCI->USB interface
172 device ehci # EHCI PCI->USB interface (USB 2.0)
173 device usb # USB Bus (required)
174 #device udbp # USB Double Bulk Pipe devices
175 device uhid # "Human Interface Devices"
176 device ulpt # Printer
177 device umass # Disks/Mass storage - Requires scbus and da
179 device urio # Diamond Rio 500 MP3 player
181 device u3g # USB-based 3G modems (Option, Huawei, Sierra)
182 device uark # Technologies ARK3116 based serial adapters
183 device ubsa # Belkin F5U103 and compatible serial adapters
184 device uftdi # For FTDI usb serial adapters
185 device uipaq # Some WinCE based devices
186 device uplcom # Prolific PL-2303 serial adapters
187 device uslcom # SI Labs CP2101/CP2102 serial adapters
188 device uvisor # Visor and Palm devices
189 device uvscom # USB serial support for DDI pocket's PHS
190 # USB Ethernet, requires miibus
191 device miibus # MII bus support
192 device aue # ADMtek USB Ethernet
193 device axe # ASIX Electronics USB Ethernet
194 device cdce # Generic USB over Ethernet
195 device cue # CATC USB Ethernet
196 device kue # Kawasaki LSI USB Ethernet
197 device rue # RealTek RTL8150 USB Ethernet
198 device udav # Davicom DM9601E USB
200 device rum # Ralink Technology RT2501USB wireless NICs
201 device uath # Atheros AR5523 wireless NICs
202 device ural # Ralink Technology RT2500USB wireless NICs
203 device zyd # ZyDAS zd1211/zd1211b wireless NICs
206 device crypto # core crypto support
207 device cryptodev # /dev/crypto for access to h/w
208 device cryptocteon # Octeon coprocessor 2 crypto offload