]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - sys/arm64/conf/GENERIC
Add FIB_ALGO to GENERIC on amd64/arm64.
[FreeBSD/FreeBSD.git] / sys / arm64 / conf / GENERIC
1 #
2 # GENERIC -- Generic kernel configuration file for FreeBSD/arm64
3 #
4 # For more information on this file, please read the config(5) manual page,
5 # and/or the handbook section on Kernel Configuration Files:
6 #
7 #    https://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig-config.html
8 #
9 # The handbook is also available locally in /usr/share/doc/handbook
10 # if you've installed the doc distribution, otherwise always see the
11 # FreeBSD World Wide Web server (https://www.FreeBSD.org/) for the
12 # latest information.
13 #
14 # An exhaustive list of options and more detailed explanations of the
15 # device lines is also present in the ../../conf/NOTES and NOTES files.
16 # If you are in doubt as to the purpose or necessity of a line, check first
17 # in NOTES.
18 #
19 # $FreeBSD$
20
21 cpu             ARM64
22 ident           GENERIC
23
24 makeoptions     DEBUG=-g                # Build kernel with gdb(1) debug symbols
25 makeoptions     WITH_CTF=1              # Run ctfconvert(1) for DTrace support
26
27 options         SCHED_ULE               # ULE scheduler
28 options         NUMA                    # Non-Uniform Memory Architecture support
29 options         PREEMPTION              # Enable kernel thread preemption
30 options         VIMAGE                  # Subsystem virtualization, e.g. VNET
31 options         INET                    # InterNETworking
32 options         INET6                   # IPv6 communications protocols
33 options         IPSEC_SUPPORT           # Allow kldload of ipsec and tcpmd5
34 options         ROUTE_MPATH             # Multipath routing support
35 options         FIB_ALGO                # Modular fib lookups
36 options         TCP_OFFLOAD             # TCP offload
37 options         TCP_HHOOK               # hhook(9) framework for TCP
38 options         TCP_RFC7413             # TCP Fast Open
39 options         SCTP_SUPPORT            # Allow kldload of SCTP
40 options         FFS                     # Berkeley Fast Filesystem
41 options         SOFTUPDATES             # Enable FFS soft updates support
42 options         UFS_ACL                 # Support for access control lists
43 options         UFS_DIRHASH             # Improve performance on big directories
44 options         UFS_GJOURNAL            # Enable gjournal-based UFS journaling
45 options         QUOTA                   # Enable disk quotas for UFS
46 options         MD_ROOT                 # MD is a potential root device
47 options         NFSCL                   # Network Filesystem Client
48 options         NFSD                    # Network Filesystem Server
49 options         NFSLOCKD                # Network Lock Manager
50 options         NFS_ROOT                # NFS usable as /, requires NFSCL
51 options         MSDOSFS                 # MSDOS Filesystem
52 options         CD9660                  # ISO 9660 Filesystem
53 options         PROCFS                  # Process filesystem (requires PSEUDOFS)
54 options         PSEUDOFS                # Pseudo-filesystem framework
55 options         TMPFS                   # Efficient memory filesystem
56 options         GEOM_RAID               # Soft RAID functionality.
57 options         GEOM_LABEL              # Provides labelization
58 options         EFIRT                   # EFI Runtime Services support
59 options         COMPAT_FREEBSD32        # Compatible with FreeBSD/arm
60 options         COMPAT_FREEBSD11        # Compatible with FreeBSD11
61 options         COMPAT_FREEBSD12        # Compatible with FreeBSD12
62 options         SCSI_DELAY=5000         # Delay (in ms) before probing SCSI
63 options         KTRACE                  # ktrace(1) support
64 options         STACK                   # stack(9) support
65 options         SYSVSHM                 # SYSV-style shared memory
66 options         SYSVMSG                 # SYSV-style message queues
67 options         SYSVSEM                 # SYSV-style semaphores
68 options         _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions
69 options         PRINTF_BUFR_SIZE=128    # Prevent printf output being interspersed.
70 options         KBD_INSTALL_CDEV        # install a CDEV entry in /dev
71 options         HWPMC_HOOKS             # Necessary kernel hooks for hwpmc(4)
72 options         AUDIT                   # Security event auditing
73 options         CAPABILITY_MODE         # Capsicum capability mode
74 options         CAPABILITIES            # Capsicum capabilities
75 options         MAC                     # TrustedBSD MAC Framework
76 options         KDTRACE_FRAME           # Ensure frames are compiled in
77 options         KDTRACE_HOOKS           # Kernel DTrace hooks
78 options         DDB_CTF                 # Kernel ELF linker loads CTF data
79 options         VFP                     # Floating-point support
80 options         RACCT                   # Resource accounting framework
81 options         RACCT_DEFAULT_TO_DISABLED # Set kern.racct.enable=0 by default
82 options         RCTL                    # Resource limits
83 options         INTRNG
84 options         LINUX_BOOT_ABI          # Boot using booti command from U-Boot
85 options         PERTHREAD_SSP           # Per-thread SSP canary
86
87 # Debugging support.  Always need this:
88 options         KDB                     # Enable kernel debugger support.
89 options         KDB_TRACE               # Print a stack trace for a panic.
90
91 # Kernel Sanitizers
92 #options        COVERAGE                # Generic kernel coverage. Used by KCOV
93 #options        KCOV                    # Kernel Coverage Sanitizer
94 # Warning: KUBSAN can result in a kernel too large for loader to load
95 #options        KUBSAN                  # Kernel Undefined Behavior Sanitizer
96 #options        KCSAN                   # Kernel Concurrency Sanitizer
97
98 # Kernel dump features.
99 options         EKCD                    # Support for encrypted kernel dumps
100 options         GZIO                    # gzip-compressed kernel and user dumps
101 options         ZSTDIO                  # zstd-compressed kernel and user dumps
102 options         DEBUGNET                # debugnet networking
103 options         NETDUMP                 # netdump(4) client support
104
105 # Make an SMP-capable kernel by default
106 options         SMP                     # Symmetric MultiProcessor Kernel
107
108 # SoC support
109 options         SOC_ALLWINNER_A64
110 options         SOC_ALLWINNER_H5
111 options         SOC_ALLWINNER_H6
112 options         SOC_CAVM_THUNDERX
113 options         SOC_FREESCALE_IMX8
114 options         SOC_HISI_HI6220
115 options         SOC_INTEL_STRATIX10
116 options         SOC_BRCM_BCM2837
117 options         SOC_BRCM_BCM2838
118 options         SOC_BRCM_NS2
119 options         SOC_MARVELL_8K
120 options         SOC_NVIDIA_TEGRA210
121 options         SOC_NXP_LS
122 options         SOC_ROCKCHIP_RK3328
123 options         SOC_ROCKCHIP_RK3399
124 options         SOC_XILINX_ZYNQ
125
126 options         PPS_SYNC
127
128 # Timer drivers
129 device          a10_timer
130
131 # Annapurna Alpine drivers
132 device          al_ccu                  # Alpine Cache Coherency Unit
133 device          al_nb_service           # Alpine North Bridge Service
134 device          al_iofic                # I/O Fabric Interrupt Controller
135 device          al_serdes               # Serializer/Deserializer
136 device          al_udma                 # Universal DMA
137
138 # Qualcomm Snapdragon drivers
139 device          qcom_gcc                # Global Clock Controller
140
141 # CPU frequency control
142 device          cpufreq
143
144 # Bus drivers
145 device          pci
146 device          pci_n1sdp       # ARM Neoverse N1 SDP PCI
147 device          al_pci          # Annapurna Alpine PCI-E
148 options         PCI_HP                  # PCI-Express native HotPlug
149 options         PCI_IOV         # PCI SR-IOV support
150
151 # Block devices
152 device          ahci
153 device          scbus
154 device          da
155 device          pvscsi                  # VMware PVSCSI
156
157 # ATA/SCSI peripherals
158 device          cd              # CD
159 device          pass            # Passthrough device (direct ATA/SCSI access)
160
161 # NVM Express (NVMe) support
162 device          nvme            # base NVMe driver
163 options         NVME_USE_NVD=0  # prefer the cam(4) based nda(4) driver
164 device          nvd             # expose NVMe namespaces as disks, depends on nvme
165
166 # DMA controller
167 device          a31_dmac
168
169 # GPIO / PINCTRL
170 device          a37x0_gpio      # Marvell Armada 37x0 GPIO controller
171 device          aw_gpio         # Allwinner GPIO controller
172 device          dwgpio          # Synopsys DesignWare APB GPIO Controller
173 device          gpio
174 device          gpioled
175 device          fdt_pinctrl
176 device          gpioregulator
177 device          ls1046_gpio     # LS1046A GPIO controller
178 device          mv_gpio         # Marvell GPIO controller
179 device          mvebu_pinctrl   # Marvell Pinmux Controller
180 device          pl061           # Arm PL061 GPIO controller
181 device          rk_gpio         # RockChip GPIO Controller
182 device          rk_pinctrl      # RockChip Pinmux Controller
183
184 # I2C
185 device          a37x0_iic       # Armada 37x0 I2C controller
186 device          aw_rsb          # Allwinner Reduced Serial Bus
187 device          bcm2835_bsc     # Broadcom BCM283x I2C bus
188 device          iicbus
189 device          iicmux
190 device          iic
191 device          icee            # Generic IIC eeprom
192 device          twsi            # Allwinner I2C controller
193 device          pca954x         # NPX I2C bus multiplexer
194 device          pcf8563         # NXP Real-time clock/calendar
195 device          rk_i2c          # RockChip I2C controller
196 device          syr827          # Silergy SYR827 PMIC
197 device          sy8106a         # SY8106A Buck Regulator
198 device          vf_i2c          # Freescale Vybrid I2C controller
199 device          fsliic          # Freescale iMX I2C controller
200
201 # Clock and reset controllers
202 device          aw_ccu          # Allwinner clock controller
203
204 # Interrupt controllers
205 device          aw_nmi          # Allwinner NMI support
206 device          aw_r_intc       # Allwinner RINTC support
207 device          mv_cp110_icu    # Marvell CP110 ICU
208 device          mv_ap806_gicp   # Marvell AP806 GICP
209 device          mv_ap806_sei    # Marvell AP806 SEI
210
211 # Real-time clock support
212 device          aw_rtc          # Allwinner Real-time Clock
213 device          mv_rtc          # Marvell Real-time Clock
214
215 # Crypto accelerators
216 device          armv8crypto     # ARMv8 OpenCrypto module
217 device          safexcel        # Inside Secure EIP-97
218
219 # Watchdog controllers
220 device          aw_wdog         # Allwinner Watchdog
221
222 # Power management controllers
223 device          axp81x          # X-Powers AXP81x PMIC
224 device          rk805           # RockChip RK805 PMIC
225
226 # EFUSE
227 device          aw_sid          # Allwinner Secure ID EFUSE
228
229 # Thermal sensors
230 device          aw_thermal      # Allwinner Thermal Sensor Controller
231 device          mv_thermal      # Marvell Thermal Sensor Controller
232
233 # SPI
234 device          spibus
235 device          a37x0_spi       # Marvell Armada 37x0 SPI Controller
236 device          bcm2835_spi     # Broadcom BCM283x SPI bus
237 device          rk_spi          # RockChip SPI controller
238
239 # PWM
240 device          pwm
241 device          aw_pwm
242 device          rk_pwm
243
244 # Console
245 device          vt
246 device          kbdmux
247
248 device          vt_efifb
249
250 # EVDEV support
251 device          evdev                   # input event device support
252 options         EVDEV_SUPPORT           # evdev support in legacy drivers
253 device          uinput                  # install /dev/uinput cdev
254 device          aw_cir
255
256 # Serial (COM) ports
257 device          uart                    # Generic UART driver
258 device          uart_imx                # iMX8 UART
259 device          uart_msm                # Qualcomm MSM UART driver
260 device          uart_mu                 # RPI3 aux port
261 device          uart_mvebu              # Armada 3700 UART driver
262 device          uart_ns8250             # ns8250-type UART driver
263 device          uart_snps
264 device          pl011
265
266 # PCI/PCI-X/PCIe Ethernet NICs that use iflib infrastructure
267 device          iflib
268 device          em                      # Intel PRO/1000 Gigabit Ethernet Family
269 device          ix                      # Intel 10Gb Ethernet Family
270 device          vmx                     # VMware VMXNET3 Ethernet
271
272 # Ethernet NICs
273 device          mdio
274 device          mii
275 device          miibus                  # MII bus support
276 device          al_eth                  # Annapurna Alpine Ethernet NIC
277 device          awg                     # Allwinner EMAC Gigabit Ethernet
278 device          axa                     # AMD Opteron A1100 integrated NIC
279 device          cgem                    # Cadence GEM Gigabit Ethernet device
280 device          dwc_rk                  # Rockchip Designware
281 device          dwc_socfpga             # Altera SOCFPGA Ethernet MAC
282 device          ffec                    # iMX FFEC
283 device          genet                   # Broadcom on RPi4
284 device          msk                     # Marvell/SysKonnect Yukon II Gigabit Ethernet
285 device          neta                    # Marvell Armada 370/38x/XP/3700 NIC
286 device          re                      # RealTek 8139C+/8169/8169S/8110S
287 device          smc                     # SMSC LAN91C111
288 device          vnic                    # Cavium ThunderX NIC
289
290 # Etherswitch devices
291 device          etherswitch             # Enable etherswitch support
292 device          miiproxy                # Required for etherswitch
293 device          e6000sw                 # Marvell mv88e6085 based switches
294
295
296 # Pseudo devices.
297 device          crypto                  # core crypto support
298 device          loop                    # Network loopback
299 device          ether                   # Ethernet support
300 device          vlan                    # 802.1Q VLAN support
301 device          tuntap                  # Packet tunnel.
302 device          md                      # Memory "disks"
303 device          gif                     # IPv6 and IPv4 tunneling
304 device          firmware                # firmware assist module
305
306 # EXT_RESOURCES pseudo devices
307 options         EXT_RESOURCES
308 device          clk
309 device          phy
310 device          hwreset
311 device          nvmem
312 device          regulator
313 device          syscon
314 device          aw_syscon
315
316 # IO Domains
317 device          rk_iodomain
318
319 # The `bpf' device enables the Berkeley Packet Filter.
320 # Be aware of the administrative consequences of enabling this!
321 # Note that 'bpf' is required for DHCP.
322 device          bpf             # Berkeley packet filter
323
324 # USB support
325 options         USB_DEBUG               # enable debug msgs
326 options         USB_HOST_ALIGN=64       # Align usb buffers to cache line size.
327 device          aw_usbphy               # Allwinner USB PHY
328 device          rk_usb2phy              # Rockchip USB2PHY
329 device          rk_typec_phy            # Rockchip TypeC PHY
330 device          dwcotg                  # DWC OTG controller
331 device          musb                    # Mentor Graphics USB OTG controller
332 device          ohci                    # OHCI USB interface
333 device          uhci                    # UHCI USB interface
334 device          ehci                    # EHCI USB interface (USB 2.0)
335 device          ehci_mv                 # Marvell EHCI USB interface
336 device          xhci                    # XHCI USB interface (USB 3.0)
337 device          dwc3                    # Synopsys DWC controller
338 device          aw_dwc3                 # Allwinner DWC3 controller
339 device          rk_dwc3                 # Rockchip DWC3 controller
340 device          usb                     # USB Bus (required)
341 device          ukbd                    # Keyboard
342 device          umass                   # Disks/Mass storage - Requires scbus and da
343 device          tegra210_xusb_fw        # Tegra XUSB firmware
344
345 # USB ethernet support
346 device          muge
347 device          smcphy
348 device          smsc
349 device          ure
350
351 # Sound support
352 device sound
353 device a10_codec
354
355 # MMC/SD/SDIO Card slot support
356 device          sdhci
357 device          sdhci_xenon             # Marvell Xenon SD/MMC controller
358 device          aw_mmc                  # Allwinner SD/MMC controller
359 device          mmc                     # mmc/sd bus
360 device          mmcsd                   # mmc/sd flash cards
361 device          dwmmc
362 device          dwmmc_altera
363 device          dwmmc_hisi
364 device          rk_dwmmc
365 device          rk_emmcphy
366
367 # VirtIO support
368 device          virtio                  # Generic VirtIO bus (required)
369 device          virtio_pci              # VirtIO PCI device
370 device          virtio_mmio             # VirtIO Memory Mapped IO device
371 device          virtio_blk              # VirtIO Block device
372 device          virtio_scsi             # VirtIO SCSI device
373 device          vtnet                   # VirtIO Ethernet device
374
375 # Chip-specific errata
376 options         THUNDERX_PASS_1_1_ERRATA
377
378 options         FDT
379 device          acpi
380
381 # DTBs
382 makeoptions     MODULES_EXTRA="dtb/allwinner dtb/freescale dtb/imx8 dtb/nvidia dtb/mv dtb/rockchip dtb/rpi"
383
384 # HID support
385 options         HID_DEBUG       # enable debug msgs
386 device          hid             # Generic HID support