2015-04-13 14:43:10 +00:00
|
|
|
#
|
|
|
|
# GENERIC -- Generic kernel configuration file for FreeBSD/arm64
|
|
|
|
#
|
|
|
|
# For more information on this file, please read the config(5) manual page,
|
|
|
|
# and/or the handbook section on Kernel Configuration Files:
|
|
|
|
#
|
|
|
|
# http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig-config.html
|
|
|
|
#
|
|
|
|
# The handbook is also available locally in /usr/share/doc/handbook
|
|
|
|
# if you've installed the doc distribution, otherwise always see the
|
|
|
|
# FreeBSD World Wide Web server (http://www.FreeBSD.org/) for the
|
|
|
|
# latest information.
|
|
|
|
#
|
|
|
|
# An exhaustive list of options and more detailed explanations of the
|
|
|
|
# device lines is also present in the ../../conf/NOTES and NOTES files.
|
|
|
|
# If you are in doubt as to the purpose or necessity of a line, check first
|
|
|
|
# in NOTES.
|
|
|
|
#
|
|
|
|
# $FreeBSD$
|
|
|
|
|
|
|
|
cpu ARM64
|
|
|
|
ident GENERIC
|
|
|
|
|
|
|
|
makeoptions DEBUG=-g # Build kernel with gdb(1) debug symbols
|
2015-10-21 19:08:16 +00:00
|
|
|
makeoptions WITH_CTF=1 # Run ctfconvert(1) for DTrace support
|
2015-04-13 14:43:10 +00:00
|
|
|
|
|
|
|
options SCHED_ULE # ULE scheduler
|
|
|
|
options PREEMPTION # Enable kernel thread preemption
|
|
|
|
options INET # InterNETworking
|
|
|
|
options INET6 # IPv6 communications protocols
|
2015-11-08 21:08:31 +00:00
|
|
|
options IPSEC # IP (v4/v6) security
|
In the TCP stack, the hhook(9) framework provides hooks for kernel modules
to add actions that run when a TCP frame is sent or received on a TCP
session in the ESTABLISHED state. In the base tree, this functionality is
only used for the h_ertt module, which is used by the cc_cdg, cc_chd, cc_hd,
and cc_vegas congestion control modules.
Presently, we incur overhead to check for hooks each time a TCP frame is
sent or received on an ESTABLISHED TCP session.
This change adds a new compile-time option (TCP_HHOOK) to determine whether
to include the hhook(9) framework for TCP. To retain backwards
compatibility, I added the TCP_HHOOK option to every configuration file that
already defined "options INET". (Therefore, this patch introduces no
functional change. In order to see a functional difference, you need to
compile a custom kernel without the TCP_HHOOK option.) This change will
allow users to easily exclude this functionality from their kernel, should
they wish to do so.
Note that any users who use a custom kernel configuration and use one of the
congestion control modules listed above will need to add the TCP_HHOOK
option to their kernel configuration.
Reviewed by: rrs, lstewart, hiren (previous version), sjg (makefiles only)
Sponsored by: Netflix
Differential Revision: https://reviews.freebsd.org/D8185
2016-10-12 02:16:42 +00:00
|
|
|
options TCP_HHOOK # hhook(9) framework for TCP
|
2015-04-13 14:43:10 +00:00
|
|
|
options TCP_OFFLOAD # TCP offload
|
|
|
|
options SCTP # Stream Control Transmission Protocol
|
|
|
|
options FFS # Berkeley Fast Filesystem
|
|
|
|
options SOFTUPDATES # Enable FFS soft updates support
|
|
|
|
options UFS_ACL # Support for access control lists
|
|
|
|
options UFS_DIRHASH # Improve performance on big directories
|
|
|
|
options UFS_GJOURNAL # Enable gjournal-based UFS journaling
|
|
|
|
options QUOTA # Enable disk quotas for UFS
|
|
|
|
options MD_ROOT # MD is a potential root device
|
2015-11-08 21:08:31 +00:00
|
|
|
options NFSCL # Network Filesystem Client
|
|
|
|
options NFSD # Network Filesystem Server
|
2015-04-13 14:43:10 +00:00
|
|
|
options NFSLOCKD # Network Lock Manager
|
|
|
|
options NFS_ROOT # NFS usable as /, requires NFSCL
|
|
|
|
options MSDOSFS # MSDOS Filesystem
|
|
|
|
options CD9660 # ISO 9660 Filesystem
|
|
|
|
options PROCFS # Process filesystem (requires PSEUDOFS)
|
|
|
|
options PSEUDOFS # Pseudo-filesystem framework
|
|
|
|
options GEOM_PART_GPT # GUID Partition Tables.
|
|
|
|
options GEOM_RAID # Soft RAID functionality.
|
|
|
|
options GEOM_LABEL # Provides labelization
|
|
|
|
options SCSI_DELAY=5000 # Delay (in ms) before probing SCSI
|
|
|
|
options KTRACE # ktrace(1) support
|
|
|
|
options STACK # stack(9) support
|
|
|
|
options SYSVSHM # SYSV-style shared memory
|
|
|
|
options SYSVMSG # SYSV-style message queues
|
|
|
|
options SYSVSEM # SYSV-style semaphores
|
|
|
|
options _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions
|
|
|
|
options PRINTF_BUFR_SIZE=128 # Prevent printf output being interspersed.
|
|
|
|
options KBD_INSTALL_CDEV # install a CDEV entry in /dev
|
|
|
|
options HWPMC_HOOKS # Necessary kernel hooks for hwpmc(4)
|
|
|
|
options AUDIT # Security event auditing
|
|
|
|
options CAPABILITY_MODE # Capsicum capability mode
|
|
|
|
options CAPABILITIES # Capsicum capabilities
|
|
|
|
options MAC # TrustedBSD MAC Framework
|
|
|
|
options KDTRACE_FRAME # Ensure frames are compiled in
|
|
|
|
options KDTRACE_HOOKS # Kernel DTrace hooks
|
|
|
|
options VFP # Floating-point support
|
2015-05-14 14:03:55 +00:00
|
|
|
options RACCT # Resource accounting framework
|
|
|
|
options RACCT_DEFAULT_TO_DISABLED # Set kern.racct.enable=0 by default
|
|
|
|
options RCTL # Resource limits
|
2015-07-09 13:23:29 +00:00
|
|
|
options SMP
|
2016-06-07 20:14:08 +00:00
|
|
|
options INTRNG
|
2015-04-13 14:43:10 +00:00
|
|
|
|
2015-07-02 14:35:30 +00:00
|
|
|
# Debugging support. Always need this:
|
|
|
|
options KDB # Enable kernel debugger support.
|
|
|
|
options KDB_TRACE # Print a stack trace for a panic.
|
|
|
|
# For full debugger support use (turn off in stable branch):
|
|
|
|
options DDB # Support DDB.
|
|
|
|
#options GDB # Support remote GDB.
|
|
|
|
options DEADLKRES # Enable the deadlock resolver
|
|
|
|
options INVARIANTS # Enable calls of extra sanity checking
|
|
|
|
options INVARIANT_SUPPORT # Extra sanity checks of internal structures, required by INVARIANTS
|
|
|
|
options WITNESS # Enable checks to detect deadlocks and cycles
|
|
|
|
options WITNESS_SKIPSPIN # Don't run witness on spinlocks for speed
|
|
|
|
options MALLOC_DEBUG_MAXZONES=8 # Separate malloc(9) zones
|
|
|
|
|
2015-08-26 11:36:23 +00:00
|
|
|
# SoC support
|
2016-08-25 13:59:19 +00:00
|
|
|
options SOC_ALLWINNER_A64
|
2015-08-26 11:36:23 +00:00
|
|
|
options SOC_CAVM_THUNDERX
|
2015-08-26 18:09:17 +00:00
|
|
|
options SOC_HISI_HI6220
|
2016-11-24 00:45:52 +00:00
|
|
|
options SOC_BRCM_BCM2837
|
2015-08-26 11:36:23 +00:00
|
|
|
|
2016-09-07 05:34:41 +00:00
|
|
|
# Annapurna Alpine drivers
|
|
|
|
device al_ccu # Alpine Cache Coherency Unit
|
|
|
|
device al_nb_service # Alpine North Bridge Service
|
2016-10-20 11:31:11 +00:00
|
|
|
device al_iofic # I/O Fabric Interrupt Controller
|
|
|
|
device al_serdes # Serializer/Deserializer
|
|
|
|
device al_udma # Universal DMA
|
2016-09-07 05:34:41 +00:00
|
|
|
|
2015-08-26 10:32:23 +00:00
|
|
|
# VirtIO support
|
2015-04-13 14:43:10 +00:00
|
|
|
device virtio
|
2016-12-18 11:15:31 +00:00
|
|
|
device virtio_pci
|
2015-04-13 14:43:10 +00:00
|
|
|
device virtio_mmio
|
|
|
|
device virtio_blk
|
|
|
|
device vtnet
|
|
|
|
|
2016-09-06 21:18:14 +00:00
|
|
|
# CPU frequency control
|
|
|
|
device cpufreq
|
|
|
|
|
2015-08-08 20:34:55 +00:00
|
|
|
# Bus drivers
|
|
|
|
device pci
|
2016-09-20 11:11:06 +00:00
|
|
|
device al_pci # Annapurna Alpine PCI-E
|
Native PCI-express HotPlug support.
PCI-express HotPlug support is implemented via bits in the slot
registers of the PCI-express capability of the downstream port along
with an interrupt that triggers when bits in the slot status register
change.
This is implemented for FreeBSD by adding HotPlug support to the
PCI-PCI bridge driver which attaches to the virtual PCI-PCI bridges
representing downstream ports on HotPlug slots. The PCI-PCI bridge
driver registers an interrupt handler to receive HotPlug events. It
also uses the slot registers to determine the current HotPlug state
and drive an internal HotPlug state machine. For simplicty of
implementation, the PCI-PCI bridge device detaches and deletes the
child PCI device when a card is removed from a slot and creates and
attaches a PCI child device when a card is inserted into the slot.
The PCI-PCI bridge driver provides a bus_child_present which claims
that child devices are present on HotPlug-capable slots only when a
card is inserted. Rather than requiring a timeout in the RC for
config accesses to not-present children, the pcib_read/write_config
methods fail all requests when a card is not present (or not yet
ready).
These changes include support for various optional HotPlug
capabilities such as a power controller, mechanical latch,
electro-mechanical interlock, indicators, and an attention button.
It also includes support for devices which require waiting for
command completion events before initiating a subsequent HotPlug
command. However, it has only been tested on ExpressCard systems
which support surprise removal and have none of these optional
capabilities.
PCI-express HotPlug support is conditional on the PCI_HP option
which is enabled by default on arm64, x86, and powerpc.
Reviewed by: adrian, imp, vangyzen (older versions)
Relnotes: yes
Differential Revision: https://reviews.freebsd.org/D6136
2016-05-05 22:26:23 +00:00
|
|
|
options PCI_HP # PCI-Express native HotPlug
|
2015-11-08 21:08:31 +00:00
|
|
|
options PCI_IOV # PCI SR-IOV support
|
2015-08-08 20:34:55 +00:00
|
|
|
|
2015-08-08 20:56:30 +00:00
|
|
|
# Ethernet NICs
|
|
|
|
device mii
|
|
|
|
device miibus # MII bus support
|
2016-08-25 13:59:19 +00:00
|
|
|
device awg # Allwinner EMAC Gigabit Ethernet
|
2015-12-11 15:25:47 +00:00
|
|
|
device em # Intel PRO/1000 Gigabit Ethernet Family
|
2016-02-22 13:34:43 +00:00
|
|
|
device ix # Intel 10Gb Ethernet Family
|
2015-12-11 15:25:47 +00:00
|
|
|
device msk # Marvell/SysKonnect Yukon II Gigabit Ethernet
|
2016-11-16 11:37:43 +00:00
|
|
|
device smc # SMSC LAN91C111
|
2015-12-11 15:25:47 +00:00
|
|
|
device vnic # Cavium ThunderX NIC
|
2016-10-20 11:31:11 +00:00
|
|
|
device al_eth # Annapurna Alpine Ethernet NIC
|
2015-08-08 20:56:30 +00:00
|
|
|
|
|
|
|
# Block devices
|
|
|
|
device ahci
|
|
|
|
device scbus
|
|
|
|
device da
|
|
|
|
|
2015-09-22 21:43:08 +00:00
|
|
|
# ATA/SCSI peripherals
|
|
|
|
device pass # Passthrough device (direct ATA/SCSI access)
|
|
|
|
|
2015-09-01 16:25:12 +00:00
|
|
|
# MMC/SD/SDIO Card slot support
|
2016-10-18 23:48:47 +00:00
|
|
|
device sdhci
|
2016-08-25 13:59:19 +00:00
|
|
|
device aw_mmc # Allwinner SD/MMC controller
|
2015-09-01 16:25:12 +00:00
|
|
|
device mmc # mmc/sd bus
|
|
|
|
device mmcsd # mmc/sd flash cards
|
|
|
|
device dwmmc
|
|
|
|
|
2015-04-13 14:43:10 +00:00
|
|
|
# Serial (COM) ports
|
|
|
|
device uart # Generic UART driver
|
2016-03-01 07:06:36 +00:00
|
|
|
device uart_ns8250 # ns8250-type UART driver
|
2016-08-25 13:59:19 +00:00
|
|
|
device uart_snps
|
2015-04-13 14:43:10 +00:00
|
|
|
device pl011
|
|
|
|
|
2015-09-01 17:13:04 +00:00
|
|
|
# USB support
|
|
|
|
options USB_DEBUG # enable debug msgs
|
2016-08-25 13:59:19 +00:00
|
|
|
device aw_ehci # Allwinner EHCI USB interface (USB 2.0)
|
|
|
|
device aw_usbphy # Allwinner USB PHY
|
2015-09-01 17:13:04 +00:00
|
|
|
device dwcotg # DWC OTG controller
|
2016-08-25 13:59:19 +00:00
|
|
|
device ohci # OHCI USB interface
|
|
|
|
device ehci # EHCI USB interface (USB 2.0)
|
2015-09-15 19:59:35 +00:00
|
|
|
device xhci # XHCI PCI->USB interface (USB 3.0)
|
2015-09-01 17:13:04 +00:00
|
|
|
device usb # USB Bus (required)
|
2015-09-15 19:59:35 +00:00
|
|
|
device ukbd # Keyboard
|
|
|
|
device umass # Disks/Mass storage - Requires scbus and da
|
2015-09-01 17:13:04 +00:00
|
|
|
|
2016-10-18 23:48:47 +00:00
|
|
|
# USB ethernet support
|
|
|
|
device smcphy
|
|
|
|
device smsc
|
|
|
|
|
2016-08-25 13:59:19 +00:00
|
|
|
# GPIO
|
|
|
|
device aw_gpio # Allwinner GPIO controller
|
|
|
|
device gpio
|
2016-10-18 23:48:47 +00:00
|
|
|
device gpioled
|
2016-08-25 13:59:19 +00:00
|
|
|
device fdt_pinctrl
|
|
|
|
|
|
|
|
# I2C
|
|
|
|
device aw_rsb # Allwinner Reduced Serial Bus
|
2016-10-18 23:48:47 +00:00
|
|
|
device bcm2835_bsc # Broadcom BCM283x I2C bus
|
2016-08-25 13:59:19 +00:00
|
|
|
device iicbus
|
|
|
|
|
|
|
|
# Clock and reset controllers
|
|
|
|
device aw_ccu # Allwinner clock controller
|
|
|
|
|
|
|
|
# Interrupt controllers
|
|
|
|
device aw_nmi # Allwinner NMI support
|
|
|
|
|
|
|
|
# Real-time clock support
|
|
|
|
device aw_rtc # Allwinner Real-time Clock
|
|
|
|
|
|
|
|
# Watchdog controllers
|
|
|
|
device aw_wdog # Allwinner Watchdog
|
|
|
|
|
|
|
|
# Power management controllers
|
|
|
|
device axp81x # X-Powers AXP81x PMIC
|
|
|
|
|
2016-09-03 15:26:00 +00:00
|
|
|
# EFUSE
|
|
|
|
device aw_sid # Allwinner Secure ID EFUSE
|
|
|
|
|
|
|
|
# Thermal sensors
|
|
|
|
device aw_thermal # Allwinner Thermal Sensor Controller
|
|
|
|
|
2016-10-18 23:48:47 +00:00
|
|
|
# SPI
|
|
|
|
device spibus
|
|
|
|
device bcm2835_spi # Broadcom BCM283x SPI bus
|
|
|
|
|
|
|
|
# Console
|
|
|
|
device vt
|
|
|
|
device kbdmux
|
|
|
|
|
2015-04-13 14:43:10 +00:00
|
|
|
# Pseudo devices.
|
|
|
|
device loop # Network loopback
|
|
|
|
device random # Entropy device
|
|
|
|
device ether # Ethernet support
|
|
|
|
device vlan # 802.1Q VLAN support
|
|
|
|
device tun # Packet tunnel.
|
|
|
|
device md # Memory "disks"
|
|
|
|
device gif # IPv6 and IPv4 tunneling
|
|
|
|
device firmware # firmware assist module
|
2015-04-13 16:41:33 +00:00
|
|
|
device psci # Support for ARM PSCI
|
2015-04-13 14:43:10 +00:00
|
|
|
|
2016-08-25 13:59:19 +00:00
|
|
|
# EXT_RESOURCES pseudo devices
|
|
|
|
options EXT_RESOURCES
|
|
|
|
device clk
|
|
|
|
device phy
|
|
|
|
device hwreset
|
|
|
|
device regulator
|
|
|
|
|
2015-04-13 14:43:10 +00:00
|
|
|
# The `bpf' device enables the Berkeley Packet Filter.
|
|
|
|
# Be aware of the administrative consequences of enabling this!
|
|
|
|
# Note that 'bpf' is required for DHCP.
|
|
|
|
device bpf # Berkeley packet filter
|
|
|
|
|
2015-07-31 10:00:45 +00:00
|
|
|
# Chip-specific errata
|
|
|
|
options THUNDERX_PASS_1_1_ERRATA
|
|
|
|
|
2015-04-13 14:43:10 +00:00
|
|
|
options FDT
|
2016-12-12 18:13:03 +00:00
|
|
|
device acpi
|
2015-07-04 17:37:00 +00:00
|
|
|
|
2015-07-14 10:47:56 +00:00
|
|
|
# The crypto framework is required by IPSEC
|
2015-07-04 17:37:00 +00:00
|
|
|
device crypto # Required by IPSEC
|