1# 2# ERL - EdgeRouter Lite kernel config 3# Based on configuration from http://rtfm.net/FreeBSD/ERL 4# 5# For more information on this file, please read the config(5) manual page, 6# and/or the handbook section on Kernel Configuration Files: 7# 8# https://docs.freebsd.org/en/books/handbook/kernelconfig/#kernelconfig-config 9# 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 (https://www.FreeBSD.org/) for the 13# latest information. 14# 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 18# in NOTES. 19# 20 21ident ERL 22 23makeoptions ARCH_FLAGS="-march=octeon+" 24makeoptions LDSCRIPT_NAME=ldscript.mips.octeon1 25 26makeoptions KERNLOADADDR=0xffffffff80100000 27 28# We don't need to build a trampolined version of the kernel. 29makeoptions WITHOUT_KERNEL_TRAMPOLINE=1 30 31include "../cavium/std.octeon1" 32 33hints "OCTEON1.hints" #Default places to look for devices. 34 35makeoptions DEBUG=-g #Build kernel with gdb(1) debug symbols 36 37# Board-specific support that cannot be auto-detected at runtime. 38#options OCTEON_VENDOR_LANNER # Support for Lanner boards. 39#options OCTEON_VENDOR_RADISYS # Support for Radisys boards. 40options OCTEON_VENDOR_UBIQUITI # Support for Ubiquiti boards. 41#options OCTEON_VENDOR_GEFES # Support for GE LANIC boards 42#options OCTEON_BOARD_CAPK_0100ND # Support for CAPK-0100nd. 43 44# Compile for a specified Octeon model. If not specified, support for 45# detection at runtime will be used instead, which may give inferior 46# performance. 47# 48# See sys/contrib/octeon-sdk/octeon-model.h for possible values. 49options OCTEON_MODEL=OCTEON_CN50XX_PASS1 50 51options SCHED_ULE # ULE scheduler 52options PREEMPTION # Enable kernel thread preemption 53options INET # InterNETworking 54options INET6 # IPv6 communications protocols 55options IPSEC # IP (v4/v6) security 56options TCP_HHOOK # hhook(9) framework for TCP 57options SCTP_SUPPORT # Allow kldload of SCTP 58options FFS # Berkeley Fast Filesystem 59options SOFTUPDATES # Enable FFS soft updates support 60options UFS_ACL # Support for access control lists 61options UFS_DIRHASH # Improve performance on big directories 62options UFS_GJOURNAL # Enable gjournal-based UFS journaling 63options MD_ROOT # MD is a potential root device 64options NFSCL # Network Filesystem Client 65options NFSD # Network Filesystem Server 66options NFSLOCKD # Network Lock Manager 67options NFS_ROOT # NFS usable as /, requires NFSCL 68options MSDOSFS # MSDOS Filesystem 69options CD9660 # ISO 9660 Filesystem 70options PROCFS # Process filesystem (requires PSEUDOFS) 71options PSEUDOFS # Pseudo-filesystem framework 72options GEOM_PART_GPT # GUID Partition Tables. 73options GEOM_LABEL # Provides labelization 74options COMPAT_FREEBSD32 # Compatible with o32 binaries 75options COMPAT_FREEBSD10 # Compatible with FreeBSD10 76options COMPAT_FREEBSD11 # Compatible with FreeBSD11 77options COMPAT_FREEBSD12 # Compatible with FreeBSD12 78options SCSI_DELAY=5000 # Delay (in ms) before probing SCSI 79options KTRACE # ktrace(1) support 80options STACK # stack(9) support 81options SYSVSHM # SYSV-style shared memory 82options SYSVMSG # SYSV-style message queues 83options SYSVSEM # SYSV-style semaphores 84options _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions 85options PRINTF_BUFR_SIZE=128 # Prevent printf output being interspersed. 86options HWPMC_HOOKS # Necessary kernel hooks for hwpmc(4) 87options AUDIT # Security event auditing 88options MAC # TrustedBSD MAC Framework 89options KDTRACE_FRAME # Ensure frames are compiled in 90options KDTRACE_HOOKS # Kernel DTrace hooks 91options DDB_CTF # Kernel ELF linker loads CTF data 92options INCLUDE_CONFIG_FILE # Include this file in kernel 93options TMPFS # Temporary file system 94options CAPABILITY_MODE # Capsicum capability mode 95options CAPABILITIES # Capsicum capabilities 96 97# Debugging for use in -current 98#options KDB # Enable kernel debugger support. 99options DDB # Support DDB. 100#options GDB # Support remote GDB. 101#options DEADLKRES # Enable the deadlock resolver 102#options INVARIANTS # Enable calls of extra sanity checking 103#options INVARIANT_SUPPORT # Extra sanity checks of internal structures, required by INVARIANTS 104#options WITNESS # Enable checks to detect deadlocks and cycles 105#options WITNESS_SKIPSPIN # Don't run witness on spinlocks for speed 106#options MALLOC_DEBUG_MAXZONES=8 # Separate malloc(9) zones 107 108# Make an SMP-capable kernel by default 109options SMP # Symmetric MultiProcessor Kernel 110 111options ROOTDEVNAME=\"ufs:da0s2a\" # Default root filesystem. 112 113# ATA/SCSI peripherals 114device scbus # SCSI bus (required for ATA/SCSI) 115device ch # SCSI media changers 116device da # Direct Access (disks) 117device sa # Sequential Access (tape etc) 118device cd # CD 119device pass # Passthrough device (direct ATA/SCSI access) 120device ses # Enclosure Services (SES and SAF-TE) 121 122# Serial (COM) ports 123device uart # Generic UART driver 124 125# On-board Cavium Octeon Ethernet. 126# NOTE: Be sure to keep the 'device miibus' line in order to use these NICs! 127device octe 128 129# Cavium Octeon management Ethernet. 130device octm 131 132# Switch PHY support for the octe driver. These currently present a VLAN per 133# physical port, but may eventually provide support for DSA or similar instead. 134#device mv88e61xxphy # Marvell 88E61XX 135 136# Wireless NIC cards 137device wlan # 802.11 support 138options IEEE80211_DEBUG # enable debug msgs 139options IEEE80211_SUPPORT_MESH # enable 802.11s draft support 140device wlan_wep # 802.11 WEP support 141device wlan_ccmp # 802.11 CCMP support 142device wlan_tkip # 802.11 TKIP support 143device wlan_amrr # AMRR transmit rate control algorithm 144#device ath # Atheros NIC's 145#device ath_pci # Atheros pci/cardbus glue 146#device ath_hal # pci/cardbus chip support 147#device ath_rate_sample # SampleRate tx rate control for ath 148 149# Pseudo devices. 150device loop # Network loopback 151device ether # Ethernet support 152device vlan # 802.1Q VLAN support 153device tuntap # Packet tunnel. 154device md # Memory "disks" 155device gif # IPv6 and IPv4 tunneling 156device firmware # firmware assist module 157 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. 161device bpf # Berkeley packet filter 162 163# Hardware watchdog support. 164#device octeon_wdog # Octeon hardware watchdog 165 166# USB support 167options USB_DEBUG # enable debug msgs 168device octusb # Cavium Octeon on-board USB interface (USB 2.0) 169device uhci # UHCI PCI->USB interface 170device ohci # OHCI PCI->USB interface 171device ehci # EHCI PCI->USB interface (USB 2.0) 172device usb # USB Bus (required) 173#device udbp # USB Double Bulk Pipe devices 174device uhid # "Human Interface Devices" 175device ulpt # Printer 176device umass # Disks/Mass storage - Requires scbus and da 177device ums # Mouse 178device urio # Diamond Rio 500 MP3 player 179# USB Serial devices 180device u3g # USB-based 3G modems (Option, Huawei, Sierra) 181device uark # Technologies ARK3116 based serial adapters 182device ubsa # Belkin F5U103 and compatible serial adapters 183device uftdi # For FTDI usb serial adapters 184device uipaq # Some WinCE based devices 185device uplcom # Prolific PL-2303 serial adapters 186device uslcom # SI Labs CP2101/CP2102 serial adapters 187device uvisor # Visor and Palm devices 188device uvscom # USB serial support for DDI pocket's PHS 189# USB Ethernet, requires miibus 190device miibus # MII bus support 191device aue # ADMtek USB Ethernet 192device axe # ASIX Electronics USB Ethernet 193device cdce # Generic USB over Ethernet 194device cue # CATC USB Ethernet 195device kue # Kawasaki LSI USB Ethernet 196device rue # RealTek RTL8150 USB Ethernet 197device udav # Davicom DM9601E USB 198# USB Wireless 199device rum # Ralink Technology RT2501USB wireless NICs 200device uath # Atheros AR5523 wireless NICs 201device ural # Ralink Technology RT2500USB wireless NICs 202device zyd # ZyDAS zd1211/zd1211b wireless NICs 203 204# crypto subsystem 205device crypto # core crypto support (required for IPSEC) 206device cryptodev # /dev/crypto for access to h/w 207device cryptocteon # Octeon coprocessor 2 crypto offload 208 209# GPIO support 210#device gpio 211 212# PMC support 213#device hwpmc 214 215# HID support 216options HID_DEBUG # enable debug msgs 217device hid # Generic HID support 218