The branch main has been updated by manu:

URL: 
https://cgit.FreeBSD.org/src/commit/?id=0f2c633164a6af70db8a8ecf4f70f61d241e7529

commit 0f2c633164a6af70db8a8ecf4f70f61d241e7529
Author:     Emmanuel Vadot <[email protected]>
AuthorDate: 2021-02-05 20:41:06 +0000
Commit:     Emmanuel Vadot <[email protected]>
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 ***
_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/dev-commits-src-all
To unsubscribe, send any mail to "[email protected]"

Reply via email to