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 makeoptions KERNLOADADDR=0xffffffff80100000
29 # We don't need to build a trampolined version of the kernel.
30 makeoptions WITHOUT_KERNEL_TRAMPOLINE=1
32 include "../cavium/std.octeon1"
34 hints "OCTEON1.hints" #Default places to look for devices.
36 makeoptions DEBUG=-g #Build kernel with gdb(1) debug symbols
38 # Board-specific support that cannot be auto-detected at runtime.
39 #options OCTEON_VENDOR_LANNER # Support for Lanner boards.
40 #options OCTEON_VENDOR_RADISYS # Support for Radisys boards.
41 options OCTEON_VENDOR_UBIQUITI # Support for Ubiquiti boards.
42 #options OCTEON_VENDOR_GEFES # Support for GE LANIC boards
43 #options OCTEON_BOARD_CAPK_0100ND # Support for CAPK-0100nd.
45 # Compile for a specified Octeon model. If not specified, support for
46 # detection at runtime will be used instead, which may give inferior
49 # See sys/contrib/octeon-sdk/octeon-model.h for possible values.
50 options OCTEON_MODEL=OCTEON_CN50XX_PASS1
52 options SCHED_ULE # ULE scheduler
53 options PREEMPTION # Enable kernel thread preemption
54 options INET # InterNETworking
55 options INET6 # IPv6 communications protocols
56 options IPSEC # IP (v4/v6) security
57 options TCP_HHOOK # hhook(9) framework for TCP
58 options SCTP # Stream Control Transmission Protocol
59 options FFS # Berkeley Fast Filesystem
60 options SOFTUPDATES # Enable FFS soft updates support
61 options UFS_ACL # Support for access control lists
62 options UFS_DIRHASH # Improve performance on big directories
63 options UFS_GJOURNAL # Enable gjournal-based UFS journaling
64 options MD_ROOT # MD is a potential root device
65 options NFSCL # Network Filesystem Client
66 options NFSD # Network Filesystem Server
67 options NFSLOCKD # Network Lock Manager
68 options NFS_ROOT # NFS usable as /, requires NFSCL
69 options MSDOSFS # MSDOS Filesystem
70 options CD9660 # ISO 9660 Filesystem
71 options PROCFS # Process filesystem (requires PSEUDOFS)
72 options PSEUDOFS # Pseudo-filesystem framework
73 options GEOM_PART_GPT # GUID Partition Tables.
74 options GEOM_LABEL # Provides labelization
75 options COMPAT_FREEBSD32 # Compatible with o32 binaries
76 options COMPAT_FREEBSD10 # Compatible with FreeBSD10
77 options COMPAT_FREEBSD11 # Compatible with FreeBSD11
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 TMPFS # Temporary file system
94 # Debugging for use in -current
95 #options KDB # Enable kernel debugger support.
96 #options DDB # Support DDB.
97 #options GDB # Support remote GDB.
98 #options DEADLKRES # Enable the deadlock resolver
99 #options INVARIANTS # Enable calls of extra sanity checking
100 #options INVARIANT_SUPPORT # Extra sanity checks of internal structures, required by INVARIANTS
101 #options WITNESS # Enable checks to detect deadlocks and cycles
102 #options WITNESS_SKIPSPIN # Don't run witness on spinlocks for speed
103 #options MALLOC_DEBUG_MAXZONES=8 # Separate malloc(9) zones
105 # Make an SMP-capable kernel by default
106 options SMP # Symmetric MultiProcessor Kernel
108 options ROOTDEVNAME=\"ufs:da0s2a\" # Default root filesystem.
110 # ATA/SCSI peripherals
111 device scbus # SCSI bus (required for ATA/SCSI)
112 device ch # SCSI media changers
113 device da # Direct Access (disks)
114 device sa # Sequential Access (tape etc)
116 device pass # Passthrough device (direct ATA/SCSI access)
117 device ses # Enclosure Services (SES and SAF-TE)
120 device uart # Generic UART driver
122 # On-board Cavium Octeon Ethernet.
123 # NOTE: Be sure to keep the 'device miibus' line in order to use these NICs!
126 # Cavium Octeon management Ethernet.
129 # Switch PHY support for the octe driver. These currently present a VLAN per
130 # physical port, but may eventually provide support for DSA or similar instead.
131 #device mv88e61xxphy # Marvell 88E61XX
134 device wlan # 802.11 support
135 options IEEE80211_DEBUG # enable debug msgs
136 options IEEE80211_AMPDU_AGE # age frames in AMPDU reorder q's
137 options IEEE80211_SUPPORT_MESH # enable 802.11s draft support
138 device wlan_wep # 802.11 WEP support
139 device wlan_ccmp # 802.11 CCMP support
140 device wlan_tkip # 802.11 TKIP support
141 device wlan_amrr # AMRR transmit rate control algorithm
142 #device ath # Atheros NIC's
143 #device ath_pci # Atheros pci/cardbus glue
144 #device ath_hal # pci/cardbus chip support
145 #options AH_SUPPORT_AR5416 # enable AR5416 tx/rx descriptors
146 #device ath_rate_sample # SampleRate tx rate control for ath
149 device loop # Network loopback
150 device random # Entropy device
151 device ether # Ethernet support
152 device vlan # 802.1Q VLAN support
153 device tun # Packet tunnel.
154 device md # Memory "disks"
155 device gif # IPv6 and IPv4 tunneling
156 device firmware # firmware assist module
158 # The `bpf' device enables the Berkeley Packet Filter.
159 # Be aware of the administrative consequences of enabling this!
160 # Note that 'bpf' is required for DHCP.
161 device bpf # Berkeley packet filter
163 # Hardware watchdog support.
164 #device octeon_wdog # Octeon hardware watchdog
167 options USB_DEBUG # enable debug msgs
168 device octusb # Cavium Octeon on-board USB interface (USB 2.0)
169 device uhci # UHCI PCI->USB interface
170 device ohci # OHCI PCI->USB interface
171 device ehci # EHCI PCI->USB interface (USB 2.0)
172 device usb # USB Bus (required)
173 #device udbp # USB Double Bulk Pipe devices
174 device uhid # "Human Interface Devices"
175 device ulpt # Printer
176 device umass # Disks/Mass storage - Requires scbus and da
178 device urio # Diamond Rio 500 MP3 player
180 device u3g # USB-based 3G modems (Option, Huawei, Sierra)
181 device uark # Technologies ARK3116 based serial adapters
182 device ubsa # Belkin F5U103 and compatible serial adapters
183 device uftdi # For FTDI usb serial adapters
184 device uipaq # Some WinCE based devices
185 device uplcom # Prolific PL-2303 serial adapters
186 device uslcom # SI Labs CP2101/CP2102 serial adapters
187 device uvisor # Visor and Palm devices
188 device uvscom # USB serial support for DDI pocket's PHS
189 # USB Ethernet, requires miibus
190 device miibus # MII bus support
191 device aue # ADMtek USB Ethernet
192 device axe # ASIX Electronics USB Ethernet
193 device cdce # Generic USB over Ethernet
194 device cue # CATC USB Ethernet
195 device kue # Kawasaki LSI USB Ethernet
196 device rue # RealTek RTL8150 USB Ethernet
197 device udav # Davicom DM9601E USB
199 device rum # Ralink Technology RT2501USB wireless NICs
200 device uath # Atheros AR5523 wireless NICs
201 device ural # Ralink Technology RT2500USB wireless NICs
202 device zyd # ZyDAS zd1211/zd1211b wireless NICs
205 device crypto # core crypto support (required for IPSEC)
206 device cryptodev # /dev/crypto for access to h/w
207 device cryptocteon # Octeon coprocessor 2 crypto offload