251a32b5b2
tun(4) and tap(4) share the same general management interface and have a lot in common. Bugs exist in tap(4) that have been fixed in tun(4), and vice-versa. Let's reduce the maintenance requirements by merging them together and using flags to differentiate between the three interface types (tun, tap, vmnet). This fixes a couple of tap(4)/vmnet(4) issues right out of the gate: - tap devices may no longer be destroyed while they're open [0] - VIMAGE issues already addressed in tun by kp [0] emaste had removed an easy-panic-button in r240938 due to devdrn blocking. A naive glance over this leads me to believe that this isn't quite complete -- destroy_devl will only block while executing d_* functions, but doesn't block the device from being destroyed while a process has it open. The latter is the intent of the condvar in tun, so this is "fixed" (for certain definitions of the word -- it wasn't really broken in tap, it just wasn't quite ideal). ifconfig(8) also grew the ability to map an interface name to a kld, so that `ifconfig {tun,tap}0` can continue to autoload the correct module, and `ifconfig vmnet0 create` will now autoload the correct module. This is a low overhead addition. (MFC commentary) This may get MFC'd if many bugs in tun(4)/tap(4) are discovered after this, and how critical they are. Changes after this are likely easily MFC'd without taking this merge, but the merge will be easier. I have no plans to do this MFC as of now. Reviewed by: bcr (manpages), tuexen (testing, syzkaller/packetdrill) Input also from: melifaro Relnotes: yes Differential Revision: https://reviews.freebsd.org/D20044
129 lines
3.6 KiB
Plaintext
129 lines
3.6 KiB
Plaintext
#
|
|
# Kernel configuration for Freescale i.MX6 systems.
|
|
#
|
|
# For more information on this file, please read the config(5) manual page,
|
|
# and/or the handbook section on Kernel Configuration Files:
|
|
#
|
|
# https://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 (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.
|
|
#
|
|
# $FreeBSD$
|
|
|
|
ident IMX6
|
|
include "std.armv7"
|
|
include "../freescale/imx/std.imx6"
|
|
|
|
options SOC_IMX6
|
|
|
|
options SCHED_ULE # ULE scheduler
|
|
#options NFSD # Network Filesystem Server
|
|
options INCLUDE_CONFIG_FILE # Include this file in kernel
|
|
options PLATFORM
|
|
options SMP # Enable multiple cores
|
|
|
|
# NFS root from boopt/dhcp
|
|
#options BOOTP
|
|
#options BOOTP_NFSROOT
|
|
#options BOOTP_COMPAT
|
|
#options BOOTP_NFSV3
|
|
#options BOOTP_WIRED_TO=ffec0
|
|
|
|
# U-Boot stuff lives on slice 1, FreeBSD on slice 2.
|
|
options ROOTDEVNAME=\"ufs:mmcsd0s2a\"
|
|
|
|
# Interrupt controller
|
|
device gic
|
|
# Cache controller
|
|
device pl310 # PL310 L2 cache controller
|
|
# ARM MPCore timer
|
|
device mpcore_timer
|
|
|
|
# Pseudo devices.
|
|
device loop # Network loopback
|
|
device random # Entropy device
|
|
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
|
|
device ether # Ethernet support
|
|
device miibus # Required for ethernet
|
|
device bpf # Berkeley packet filter (required for DHCP)
|
|
|
|
# General-purpose input/output
|
|
device gpio
|
|
|
|
# Serial (COM) ports
|
|
device uart # Multi-uart driver
|
|
|
|
# SDCard
|
|
device sdhci # SD controller
|
|
device mmc # SD/MMC protocol
|
|
device mmcsd # SDCard disk device
|
|
|
|
# SCSI peripherals
|
|
device scbus # SCSI bus (required for ATA/SCSI)
|
|
device da # Direct Access (disks)
|
|
device cd # CD
|
|
device pass # Passthrough device (direct ATA/SCSI access)
|
|
|
|
# ATA controllers
|
|
device ahci # AHCI-compatible SATA controllers
|
|
|
|
# USB support
|
|
device ehci # OHCI USB interface
|
|
device usb # USB Bus (required)
|
|
device umass # Disks/Mass storage - Requires scbus and da
|
|
device uhid # "Human Interface Devices"
|
|
device u3g # USB modems
|
|
#device ukbd # Allow keyboard like HIDs to control console
|
|
#device ums # USB mouse
|
|
|
|
# USB Ethernet, requires miibus
|
|
#device aue # ADMtek USB Ethernet
|
|
#device axe # ASIX Electronics USB Ethernet
|
|
#device cdce # Generic USB over Ethernet
|
|
#device cue # CATC USB Ethernet
|
|
#device kue # Kawasaki LSI USB Ethernet
|
|
#device rue # RealTek RTL8150 USB Ethernet
|
|
#device udav # Davicom DM9601E USB
|
|
|
|
# USB Wireless
|
|
#device rum # Ralink Technology RT2501USB wireless NICs
|
|
|
|
# Wireless NIC cards
|
|
#device wlan # 802.11 support
|
|
#device wlan_wep # 802.11 WEP support
|
|
#device wlan_ccmp # 802.11 CCMP support
|
|
#device wlan_tkip # 802.11 TKIP support
|
|
#device wlan_amrr # AMRR transmit rate control algorithm
|
|
|
|
device vt
|
|
device kbdmux
|
|
device ukbd
|
|
device videomode
|
|
device hdmi
|
|
|
|
# Flattened Device Tree
|
|
options FDT # Configure using FDT/DTB data
|
|
makeoptions MODULES_EXTRA="dtb/imx6 imx"
|
|
device fdt_pinctrl # FDT pinmux driver
|
|
|
|
# SoC-specific devices
|
|
device ffec # Freescale Fast Ethernet Controller
|
|
device fsliic # Freescale i2c/iic
|
|
device iic # iic protocol
|
|
device iicbus # iic bus
|
|
device imx6_snvs # On-chip RTC
|
|
device imxwdt # Watchdog. WARNING: can't be disabled!!!
|
|
|