git: 0f2c633164a6 - main - arm64: Add per SoC family kernel config
Emmanuel Vadot
manu at FreeBSD.org
Sun Jul 18 14:20:51 UTC 2021
The branch main has been updated by manu:
URL: https://cgit.FreeBSD.org/src/commit/?id=0f2c633164a6af70db8a8ecf4f70f61d241e7529
commit 0f2c633164a6af70db8a8ecf4f70f61d241e7529
Author: Emmanuel Vadot <manu at FreeBSD.org>
AuthorDate: 2021-02-05 20:41:06 +0000
Commit: Emmanuel Vadot <manu at FreeBSD.org>
CommitDate: 2021-07-18 14:11:08 +0000
arm64: Add per SoC family kernel config
There is multiple reason for this :
- This makes it easier to see which driver is needed for each SoC
- This makes it easier to create a custom config for one SoC
- This really reduce boot time (which some people might want)
Some explaination about the files :
- std.arm64 contains all standard kernel option
- std.dev contains all the standard kernel devices
- std.<soc> contains all drivers needed to boot on this SoC family
- <SOC> includes std.arm64, std.dev and std.<soc>
- GENERIC includes std.arm64, std.dev and all std.<soc>
Sponsored by: Diablotin Systems
MFC After: 2 months
Reviewed by: mmel, cognet, imp
Differential Revision: https://reviews.freebsd.org/D30474
---
sys/arm64/conf/AL | 27 +++
sys/arm64/conf/ALLWINNER | 27 +++
sys/arm64/conf/ALTERA | 27 +++
sys/arm64/conf/AMD | 27 +++
sys/arm64/conf/ARM | 27 +++
sys/arm64/conf/BROADCOM | 27 +++
sys/arm64/conf/CAVIUM | 27 +++
sys/arm64/conf/GENERIC | 396 +++----------------------------------------
sys/arm64/conf/HISILICON | 27 +++
sys/arm64/conf/IMX | 27 +++
sys/arm64/conf/MARVELL | 27 +++
sys/arm64/conf/NVIDIA | 27 +++
sys/arm64/conf/NXP | 27 +++
sys/arm64/conf/QCOM | 27 +++
sys/arm64/conf/ROCKCHIP | 27 +++
sys/arm64/conf/VIRT | 27 +++
sys/arm64/conf/XILINX | 27 +++
sys/arm64/conf/std.al | 27 +++
sys/arm64/conf/std.allwinner | 72 ++++++++
sys/arm64/conf/std.altera | 21 +++
sys/arm64/conf/std.amd | 16 ++
sys/arm64/conf/std.arm | 15 ++
sys/arm64/conf/std.arm64 | 98 +++++++++++
sys/arm64/conf/std.broadcom | 33 ++++
sys/arm64/conf/std.cavium | 27 +++
sys/arm64/conf/std.dev | 112 ++++++++++++
sys/arm64/conf/std.hisilicon | 19 +++
sys/arm64/conf/std.imx | 21 +++
sys/arm64/conf/std.marvell | 58 +++++++
sys/arm64/conf/std.nvidia | 27 +++
sys/arm64/conf/std.nxp | 26 +++
sys/arm64/conf/std.qcom | 14 ++
sys/arm64/conf/std.rockchip | 51 ++++++
sys/arm64/conf/std.virt | 26 +++
sys/arm64/conf/std.xilinx | 19 +++
35 files changed, 1134 insertions(+), 376 deletions(-)
diff --git a/sys/arm64/conf/AL b/sys/arm64/conf/AL
new file mode 100644
index 000000000000..b5eb983119c7
--- /dev/null
+++ b/sys/arm64/conf/AL
@@ -0,0 +1,27 @@
+#
+# AL -- Annapurna Alpine 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:
+#
+# https://docs.freebsd.org/en/books/handbook/kernelconfig/#kernelconfig-config
+#
+# 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 (https://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.
+#
+
+#NO_UNIVERSE
+
+cpu ARM64
+ident AL
+
+include "std.arm64"
+include "std.dev"
+include "std.al"
diff --git a/sys/arm64/conf/ALLWINNER b/sys/arm64/conf/ALLWINNER
new file mode 100644
index 000000000000..5cf5a0929894
--- /dev/null
+++ b/sys/arm64/conf/ALLWINNER
@@ -0,0 +1,27 @@
+#
+# ALLWINNER -- Allwinner 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:
+#
+# https://docs.freebsd.org/en/books/handbook/kernelconfig/#kernelconfig-config
+#
+# 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 (https://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.
+#
+
+#NO_UNIVERSE
+
+cpu ARM64
+ident ALLWINNER
+
+include "std.arm64"
+include "std.dev"
+include "std.allwinner"
diff --git a/sys/arm64/conf/ALTERA b/sys/arm64/conf/ALTERA
new file mode 100644
index 000000000000..707db3b5ae89
--- /dev/null
+++ b/sys/arm64/conf/ALTERA
@@ -0,0 +1,27 @@
+#
+# ALTERA -- Intel Altera 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:
+#
+# https://docs.freebsd.org/en/books/handbook/kernelconfig/#kernelconfig-config
+#
+# 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 (https://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.
+#
+
+#NO_UNIVERSE
+
+cpu ARM64
+ident ALTERA
+
+include "std.arm64"
+include "std.dev"
+include "std.altera"
diff --git a/sys/arm64/conf/AMD b/sys/arm64/conf/AMD
new file mode 100644
index 000000000000..27058d90dce4
--- /dev/null
+++ b/sys/arm64/conf/AMD
@@ -0,0 +1,27 @@
+#
+# AMD -- AMD Seattle 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:
+#
+# https://docs.freebsd.org/en/books/handbook/kernelconfig/#kernelconfig-config
+#
+# 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 (https://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.
+#
+
+#NO_UNIVERSE
+
+cpu ARM64
+ident AMD
+
+include "std.arm64"
+include "std.dev"
+include "std.amd"
diff --git a/sys/arm64/conf/ARM b/sys/arm64/conf/ARM
new file mode 100644
index 000000000000..78022aa4d568
--- /dev/null
+++ b/sys/arm64/conf/ARM
@@ -0,0 +1,27 @@
+#
+# ARM -- ARM 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:
+#
+# https://docs.freebsd.org/en/books/handbook/kernelconfig/#kernelconfig-config
+#
+# 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 (https://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.
+#
+
+#NO_UNIVERSE
+
+cpu ARM64
+ident ARM
+
+include "std.arm64"
+include "std.dev"
+include "std.arm"
diff --git a/sys/arm64/conf/BROADCOM b/sys/arm64/conf/BROADCOM
new file mode 100644
index 000000000000..0a5478a19d08
--- /dev/null
+++ b/sys/arm64/conf/BROADCOM
@@ -0,0 +1,27 @@
+#
+# BROADCOM -- Broadcom 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:
+#
+# https://docs.freebsd.org/en/books/handbook/kernelconfig/#kernelconfig-config
+#
+# 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 (https://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.
+#
+
+#NO_UNIVERSE
+
+cpu ARM64
+ident BROADCOM
+
+include "std.arm64"
+include "std.dev"
+include "std.broadcom"
diff --git a/sys/arm64/conf/CAVIUM b/sys/arm64/conf/CAVIUM
new file mode 100644
index 000000000000..4ab13de8e4ff
--- /dev/null
+++ b/sys/arm64/conf/CAVIUM
@@ -0,0 +1,27 @@
+#
+# CAVIUM -- Cavium 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:
+#
+# https://docs.freebsd.org/en/books/handbook/kernelconfig/#kernelconfig-config
+#
+# 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 (https://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.
+#
+
+#NO_UNIVERSE
+
+cpu ARM64
+ident CAVIUM
+
+include "std.arm64"
+include "std.dev"
+include "std.cavium"
diff --git a/sys/arm64/conf/GENERIC b/sys/arm64/conf/GENERIC
index c096c4774f41..c716183aae61 100644
--- a/sys/arm64/conf/GENERIC
+++ b/sys/arm64/conf/GENERIC
@@ -16,383 +16,27 @@
# 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
-makeoptions WITH_CTF=1 # Run ctfconvert(1) for DTrace support
-
-options SCHED_ULE # ULE scheduler
-options NUMA # Non-Uniform Memory Architecture support
-options PREEMPTION # Enable kernel thread preemption
-options VIMAGE # Subsystem virtualization, e.g. VNET
-options INET # InterNETworking
-options INET6 # IPv6 communications protocols
-options IPSEC_SUPPORT # Allow kldload of ipsec and tcpmd5
-options ROUTE_MPATH # Multipath routing support
-options FIB_ALGO # Modular fib lookups
-options TCP_OFFLOAD # TCP offload
-options TCP_HHOOK # hhook(9) framework for TCP
-options TCP_RFC7413 # TCP Fast Open
-options SCTP_SUPPORT # Allow kldload of SCTP
-options KERN_TLS # TLS transmit & receive offload
-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
-options NFSCL # Network Filesystem Client
-options NFSD # Network Filesystem Server
-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 TMPFS # Efficient memory filesystem
-options GEOM_RAID # Soft RAID functionality.
-options GEOM_LABEL # Provides labelization
-options EFIRT # EFI Runtime Services support
-options COMPAT_FREEBSD32 # Compatible with FreeBSD/arm
-options COMPAT_FREEBSD11 # Compatible with FreeBSD11
-options COMPAT_FREEBSD12 # Compatible with FreeBSD12
-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 DDB_CTF # Kernel ELF linker loads CTF data
-options VFP # Floating-point support
-options RACCT # Resource accounting framework
-options RACCT_DEFAULT_TO_DISABLED # Set kern.racct.enable=0 by default
-options RCTL # Resource limits
-options INTRNG
-options LINUX_BOOT_ABI # Boot using booti command from U-Boot
-
-# 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
-options ALT_BREAK_TO_DEBUGGER # Enter debugger on keyboard escape sequence
-options VERBOSE_SYSINIT=0 # Support debug.verbose_sysinit, off by default
-
-# Kernel Sanitizers
-#options COVERAGE # Generic kernel coverage. Used by KCOV
-#options KCOV # Kernel Coverage Sanitizer
-# Warning: KUBSAN can result in a kernel too large for loader to load
-#options KUBSAN # Kernel Undefined Behavior Sanitizer
-#options KCSAN # Kernel Concurrency Sanitizer
-
-# Kernel dump features.
-options EKCD # Support for encrypted kernel dumps
-options GZIO # gzip-compressed kernel and user dumps
-options ZSTDIO # zstd-compressed kernel and user dumps
-options DEBUGNET # debugnet networking
-options NETDUMP # netdump(4) client support
-
-# Make an SMP-capable kernel by default
-options SMP # Symmetric MultiProcessor Kernel
-
-# SoC support
-options SOC_ALLWINNER_A64
-options SOC_ALLWINNER_H5
-options SOC_ALLWINNER_H6
-options SOC_CAVM_THUNDERX
-options SOC_FREESCALE_IMX8
-options SOC_HISI_HI6220
-options SOC_INTEL_STRATIX10
-options SOC_BRCM_BCM2837
-options SOC_BRCM_BCM2838
-options SOC_BRCM_NS2
-options SOC_MARVELL_8K
-options SOC_NVIDIA_TEGRA210
-options SOC_NXP_LS
-options SOC_ROCKCHIP_RK3328
-options SOC_ROCKCHIP_RK3399
-options SOC_XILINX_ZYNQ
-
-# Timer drivers
-device a10_timer
-
-# Annapurna Alpine drivers
-device al_ccu # Alpine Cache Coherency Unit
-device al_nb_service # Alpine North Bridge Service
-device al_iofic # I/O Fabric Interrupt Controller
-device al_serdes # Serializer/Deserializer
-device al_udma # Universal DMA
-
-# Qualcomm Snapdragon drivers
-device qcom_gcc # Global Clock Controller
-
-# CPU frequency control
-device cpufreq
-
-# Bus drivers
-device pci
-device pci_n1sdp # ARM Neoverse N1 SDP PCI
-device al_pci # Annapurna Alpine PCI-E
-options PCI_HP # PCI-Express native HotPlug
-options PCI_IOV # PCI SR-IOV support
-
-# Block devices
-device ahci
-device scbus
-device da
-device pvscsi # VMware PVSCSI
-
-# ATA/SCSI peripherals
-device cd # CD
-device pass # Passthrough device (direct ATA/SCSI access)
-
-# NVM Express (NVMe) support
-device nvme # base NVMe driver
-options NVME_USE_NVD=0 # prefer the cam(4) based nda(4) driver
-device nvd # expose NVMe namespaces as disks, depends on nvme
-
-# DMA controller
-device a31_dmac
-
-# GPIO / PINCTRL
-device a37x0_gpio # Marvell Armada 37x0 GPIO controller
-device aw_gpio # Allwinner GPIO controller
-device dwgpio # Synopsys DesignWare APB GPIO Controller
-device gpio
-device gpioled
-device fdt_pinctrl
-device gpioregulator
-device mv_gpio # Marvell GPIO controller
-device mvebu_pinctrl # Marvell Pinmux Controller
-device pl061 # Arm PL061 GPIO controller
-device rk_gpio # RockChip GPIO Controller
-device rk_pinctrl # RockChip Pinmux Controller
-
-# I2C
-device a37x0_iic # Armada 37x0 I2C controller
-device aw_rsb # Allwinner Reduced Serial Bus
-device bcm2835_bsc # Broadcom BCM283x I2C bus
-device iicbus
-device iicmux
-device iic
-device icee # Generic IIC eeprom
-device twsi # Allwinner I2C controller
-device fan53555 # Fairchild Semi FAN53555/SYR82x Regulator
-device pca9547 # NPX I2C bus multiplexer
-device pcf8563 # NXP Real-time clock/calendar
-device rk_i2c # RockChip I2C controller
-device sy8106a # SY8106A Buck Regulator
-device vf_i2c # Freescale Vybrid I2C controller
-device fsliic # Freescale iMX I2C controller
-
-# Clock and reset controllers
-device aw_ccu # Allwinner clock controller
-
-# Interrupt controllers
-device aw_nmi # Allwinner NMI support
-device aw_r_intc # Allwinner RINTC support
-device mv_cp110_icu # Marvell CP110 ICU
-device mv_ap806_gicp # Marvell AP806 GICP
-device mv_ap806_sei # Marvell AP806 SEI
-
-# Real-time clock support
-device aw_rtc # Allwinner Real-time Clock
-device mv_rtc # Marvell Real-time Clock
-
-# Crypto accelerators
-device armv8crypto # ARMv8 OpenCrypto module
-device safexcel # Inside Secure EIP-97
-
-# Watchdog controllers
-device aw_wdog # Allwinner Watchdog
-
-# Power management controllers
-device axp81x # X-Powers AXP81x PMIC
-device rk805 # RockChip RK805 PMIC
-
-# EFUSE
-device aw_sid # Allwinner Secure ID EFUSE
-
-# Thermal sensors
-device aw_thermal # Allwinner Thermal Sensor Controller
-device mv_thermal # Marvell Thermal Sensor Controller
-
-# SPI
-device spibus
-device a37x0_spi # Marvell Armada 37x0 SPI Controller
-device bcm2835_spi # Broadcom BCM283x SPI bus
-device rk_spi # RockChip SPI controller
-
-# PWM
-device pwm
-device aw_pwm
-device rk_pwm
-
-# Console
-device vt
-device kbdmux
-
-device vt_efifb
-
-# EVDEV support
-device evdev # input event device support
-options EVDEV_SUPPORT # evdev support in legacy drivers
-device uinput # install /dev/uinput cdev
-device aw_cir
-
-# Serial (COM) ports
-device uart # Generic UART driver
-device uart_imx # iMX8 UART
-device uart_msm # Qualcomm MSM UART driver
-device uart_mu # RPI3 aux port
-device uart_mvebu # Armada 3700 UART driver
-device uart_ns8250 # ns8250-type UART driver
-device uart_snps
-device pl011
-
-# PCI/PCI-X/PCIe Ethernet NICs that use iflib infrastructure
-device iflib
-device enetc # NXP Gigabit NIC
-device em # Intel PRO/1000 Gigabit Ethernet Family
-device ix # Intel 10Gb Ethernet Family
-device vmx # VMware VMXNET3 Ethernet
-
-# Ethernet NICs
-device mdio
-device mii
-device miibus # MII bus support
-device al_eth # Annapurna Alpine Ethernet NIC
-device awg # Allwinner EMAC Gigabit Ethernet
-device axa # AMD Opteron A1100 integrated NIC
-device cgem # Cadence GEM Gigabit Ethernet device
-device dwc_rk # Rockchip Designware
-device dwc_socfpga # Altera SOCFPGA Ethernet MAC
-device ffec # iMX FFEC
-device genet # Broadcom on RPi4
-device msk # Marvell/SysKonnect Yukon II Gigabit Ethernet
-device neta # Marvell Armada 370/38x/XP/3700 NIC
-device re # RealTek 8139C+/8169/8169S/8110S
-device smc # SMSC LAN91C111
-device vnic # Cavium ThunderX NIC
-
-# Etherswitch devices
-device etherswitch # Enable etherswitch support
-device miiproxy # Required for etherswitch
-device e6000sw # Marvell mv88e6085 based switches
-
-
-# Pseudo devices.
-device crypto # core crypto support
-device loop # Network loopback
-device ether # Ethernet support
-device vlan # 802.1Q VLAN support
-device tuntap # Packet tunnel.
-device md # Memory "disks"
-device gif # IPv6 and IPv4 tunneling
-device firmware # firmware assist module
-
-# EXT_RESOURCES pseudo devices
-options EXT_RESOURCES
-device clk
-device phy
-device hwreset
-device nvmem
-device regulator
-device syscon
-device aw_syscon
-
-# IO Domains
-device rk_iodomain
-
-# 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
-
-# USB support
-options USB_DEBUG # enable debug msgs
-options USB_HOST_ALIGN=64 # Align usb buffers to cache line size.
-device aw_usbphy # Allwinner USB PHY
-device rk_usb2phy # Rockchip USB2PHY
-device rk_typec_phy # Rockchip TypeC PHY
-device dwcotg # DWC OTG controller
-device musb # Mentor Graphics USB OTG controller
-device ohci # OHCI USB interface
-device uhci # UHCI USB interface
-device ehci # EHCI USB interface (USB 2.0)
-device ehci_mv # Marvell EHCI USB interface
-device xhci # XHCI USB interface (USB 3.0)
-device dwc3 # Synopsys DWC controller
-device aw_dwc3 # Allwinner DWC3 controller
-device rk_dwc3 # Rockchip DWC3 controller
-device usb # USB Bus (required)
-device ukbd # Keyboard
-device umass # Disks/Mass storage - Requires scbus and da
-device tegra210_xusb_fw # Tegra XUSB firmware
-
-# USB ethernet support
-device muge
-device smcphy
-device smsc
-device ure
-
-# Sound support
-device sound
-device a10_codec # Allwinner A10 codec
-device aw_i2s # Allwinner I2S
-device a33_codec # Allwinner A33 codec
-device a64_codec # Allwinner A64 Analog codec
-
-# MMC/SD/SDIO Card slot support
-device sdhci
-device sdhci_xenon # Marvell Xenon SD/MMC controller
-device aw_mmc # Allwinner SD/MMC controller
-device mmc # mmc/sd bus
-device mmcsd # mmc/sd flash cards
-device dwmmc
-device dwmmc_altera
-device dwmmc_hisi
-device rk_dwmmc
-device rk_emmcphy
-
-# VirtIO support
-device virtio # Generic VirtIO bus (required)
-device virtio_pci # VirtIO PCI device
-device virtio_mmio # VirtIO Memory Mapped IO device
-device virtio_blk # VirtIO Block device
-device virtio_scsi # VirtIO SCSI device
-device vtnet # VirtIO Ethernet device
-
-# Chip-specific errata
-options THUNDERX_PASS_1_1_ERRATA
-
-options FDT
-device acpi
-
-# DTBs
-makeoptions MODULES_EXTRA="dtb/allwinner dtb/freescale dtb/imx8 dtb/nvidia dtb/mv dtb/rockchip dtb/rpi"
-
-# HID support
-options HID_DEBUG # enable debug msgs
-device hid # Generic HID support
+include "std.arm64"
+include "std.dev"
+
+# Include SoC specific configuration
+include "std.al"
+include "std.allwinner"
+include "std.altera"
+include "std.amd"
+include "std.arm"
+include "std.broadcom"
+include "std.cavium"
+include "std.hisilicon"
+include "std.imx"
+include "std.marvell"
+include "std.nvidia"
+include "std.nxp"
+include "std.qcom"
+include "std.rockchip"
+include "std.virt"
+include "std.xilinx"
diff --git a/sys/arm64/conf/HISILICON b/sys/arm64/conf/HISILICON
new file mode 100644
index 000000000000..3c7eb9573fd2
--- /dev/null
+++ b/sys/arm64/conf/HISILICON
@@ -0,0 +1,27 @@
+#
+# HISILICON -- HiSilicon 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:
+#
+# https://docs.freebsd.org/en/books/handbook/kernelconfig/#kernelconfig-config
+#
+# 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 (https://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.
+#
+
+#NO_UNIVERSE
+
+cpu ARM64
+ident HISILICON
+
+include "std.arm64"
+include "std.dev"
+include "std.hisilicon"
diff --git a/sys/arm64/conf/IMX b/sys/arm64/conf/IMX
new file mode 100644
index 000000000000..b1d3821e077f
--- /dev/null
+++ b/sys/arm64/conf/IMX
@@ -0,0 +1,27 @@
+#
+# IMX -- IMX 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:
+#
+# https://docs.freebsd.org/en/books/handbook/kernelconfig/#kernelconfig-config
+#
+# 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 (https://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.
+#
+
+#NO_UNIVERSE
+
+cpu ARM64
+ident IMX
+
+include "std.arm64"
+include "std.dev"
+include "std.imx"
diff --git a/sys/arm64/conf/MARVELL b/sys/arm64/conf/MARVELL
new file mode 100644
index 000000000000..60538e735e7e
--- /dev/null
+++ b/sys/arm64/conf/MARVELL
@@ -0,0 +1,27 @@
+#
+# MARVELL -- Marvell 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:
+#
+# https://docs.freebsd.org/en/books/handbook/kernelconfig/#kernelconfig-config
+#
+# 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 (https://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.
+#
+
+#NO_UNIVERSE
+
+cpu ARM64
+ident MARVELL
+
+include "std.arm64"
+include "std.dev"
+include "std.marvell"
diff --git a/sys/arm64/conf/NVIDIA b/sys/arm64/conf/NVIDIA
new file mode 100644
index 000000000000..8d5ee13c9a01
--- /dev/null
+++ b/sys/arm64/conf/NVIDIA
@@ -0,0 +1,27 @@
+#
+# NVIDIA -- NVIDIA 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:
+#
+# https://docs.freebsd.org/en/books/handbook/kernelconfig/#kernelconfig-config
+#
+# 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 (https://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.
+#
+
+#NO_UNIVERSE
+
+cpu ARM64
+ident NVIDIA
+
+include "std.arm64"
+include "std.dev"
+include "std.nvidia"
diff --git a/sys/arm64/conf/NXP b/sys/arm64/conf/NXP
new file mode 100644
index 000000000000..51708d18277b
--- /dev/null
+++ b/sys/arm64/conf/NXP
@@ -0,0 +1,27 @@
+#
+# NXP -- NXP 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:
+#
+# https://docs.freebsd.org/en/books/handbook/kernelconfig/#kernelconfig-config
+#
+# 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 (https://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.
+#
+
+#NO_UNIVERSE
+
+cpu ARM64
+ident NXP
+
+include "std.arm64"
+include "std.dev"
+include "std.nxp"
diff --git a/sys/arm64/conf/QCOM b/sys/arm64/conf/QCOM
new file mode 100644
index 000000000000..2e1ec2dea0ab
--- /dev/null
+++ b/sys/arm64/conf/QCOM
@@ -0,0 +1,27 @@
+#
+# QCOM -- Qualcomm 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:
+#
+# https://docs.freebsd.org/en/books/handbook/kernelconfig/#kernelconfig-config
+#
+# 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 (https://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.
+#
+
+#NO_UNIVERSE
+
+cpu ARM64
+ident QCOM
+
+include "std.arm64"
+include "std.dev"
+include "std.qcom"
diff --git a/sys/arm64/conf/ROCKCHIP b/sys/arm64/conf/ROCKCHIP
new file mode 100644
index 000000000000..4024e422a473
--- /dev/null
+++ b/sys/arm64/conf/ROCKCHIP
@@ -0,0 +1,27 @@
+#
+# ROCKCHIP -- Rockchip 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:
+#
+# https://docs.freebsd.org/en/books/handbook/kernelconfig/#kernelconfig-config
+#
+# 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 (https://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.
+#
+
+#NO_UNIVERSE
+
+cpu ARM64
+ident ROCKCHIP
+
+include "std.arm64"
+include "std.dev"
+include "std.rockchip"
diff --git a/sys/arm64/conf/VIRT b/sys/arm64/conf/VIRT
new file mode 100644
index 000000000000..bd5256e428a5
--- /dev/null
+++ b/sys/arm64/conf/VIRT
@@ -0,0 +1,27 @@
+#
+# VIRT -- Virt 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:
+#
+# https://docs.freebsd.org/en/books/handbook/kernelconfig/#kernelconfig-config
+#
+# 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 (https://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.
+#
+
+#NO_UNIVERSE
+
+cpu ARM64
+ident VIRM
+
+include "std.arm64"
+include "std.dev"
+include "std.virt"
diff --git a/sys/arm64/conf/XILINX b/sys/arm64/conf/XILINX
new file mode 100644
index 000000000000..f4c45081bf06
--- /dev/null
+++ b/sys/arm64/conf/XILINX
@@ -0,0 +1,27 @@
+#
+# XILINX -- Xilinx 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:
+#
+# https://docs.freebsd.org/en/books/handbook/kernelconfig/#kernelconfig-config
+#
+# 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 (https://www.FreeBSD.org/) for the
+# latest information.
*** 805 LINES SKIPPED ***
More information about the dev-commits-src-all
mailing list