freebsd-nq/sys/powerpc/conf/MPC85XX
Kyle Evans 251a32b5b2 tun/tap: merge and rename to tuntap
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
2019-05-08 02:32:11 +00:00

122 lines
2.2 KiB
Plaintext

#
# Custom kernel for Freescale MPC85XX development boards like the CDS etc.
#
# $FreeBSD$
#
cpu BOOKE
cpu BOOKE_E500
ident MPC85XX
machine powerpc powerpc
include "dpaa/config.dpaa"
makeoptions DEBUG=-g #Build kernel with gdb(1) debug symbols
makeoptions WITH_CTF=1
makeoptions WERROR="-Werror -Wno-format -Wno-redundant-decls"
options FPU_EMU
options _KPOSIX_PRIORITY_SCHEDULING
options ALT_BREAK_TO_DEBUGGER
options BREAK_TO_DEBUGGER
options BOOTP
options BOOTP_NFSROOT
#options BOOTP_NFSV3
options CD9660
options COMPAT_43
options DDB
#options DEADLKRES
options DEVICE_POLLING
#options DIAGNOSTIC
options FDT
#makeoptions FDT_DTS_FILE=mpc8555cds.dts
options FFS
options GDB
options GEOM_PART_GPT
options INET
options INET6
options TCP_HHOOK # hhook(9) framework for TCP
options INVARIANTS
options INVARIANT_SUPPORT
options KDB
options KTRACE
options MD_ROOT
options MPC85XX
options MSDOSFS
options NFS_ROOT
options NFSCL
options NFSLOCKD
options PRINTF_BUFR_SIZE=128 # Prevent printf output being interspersed.
options PROCFS
options PSEUDOFS
options SCHED_ULE
options CAPABILITIES
options CAPABILITY_MODE
options SMP
options SYSVMSG
options SYSVSEM
options SYSVSHM
options WITNESS
options WITNESS_SKIPSPIN
options COMPAT_FREEBSD10
options COMPAT_FREEBSD11
options COMPAT_FREEBSD12
options HWPMC_HOOKS
options KDTRACE_HOOKS # Kernel DTrace hooks
options DDB_CTF # Kernel ELF linker loads CTF data
device ata
device bpf
device cfi
device cpufreq
device crypto
device cryptodev
device da
device ds1307
device ds1553
device iflib
device em
device alc
device ether
device fxp
device gpio
device gpiopower
device iic
device iicbus
#device isa
device loop
device md
device miibus
device mmc
device mmcsd
device pass
device pci
device quicc
device random
#device rl
device scbus
device scc
device sdhci
device sec
device spibus
device spigen
device tsec
device dpaa
device tuntap
device uart
options USB_DEBUG # enable debug msgs
#device uhci
device ehci
device ukbd
device ums
device umass
device usb
device vlan
# P1022 DIU
device diu
device videomode
device vt
device fbd