freebsd-skq/sys
Tijl Coosemans 8fc08087a1 On amd64 both Linux compat modules, linux.ko and linux64.ko, provide
linux_ioctl_(un)register_handler that allows other driver modules to
register ioctl handlers.  The ioctl syscall implementation in each Linux
compat module iterates over the list of handlers and forwards the call to
the appropriate driver.  Because the registration functions have the same
name in each module it is not possible for a driver to support both 32 and
64 bit linux compatibility.

Move the list of ioctl handlers to linux_common.ko so it is shared by
both Linux modules and all drivers receive both 32 and 64 bit ioctl calls
with one registration.  These ioctl handlers normally forward the call
to the FreeBSD ioctl handler which can handle both 32 and 64 bit.

Keep the special COMPAT_LINUX32 ioctl handlers in linux.ko in a separate
list for now and let the ioctl syscall iterate over that list first.
Later, COMPAT_LINUX32 support can be added to the 64 bit ioctl handlers
via a runtime check for ILP32 like is done for COMPAT_FREEBSD32 and then
this separate list would disappear again.  That is a much bigger effort
however and this commit is meant to be MFCable.

This enables linux64 support in x11/nvidia-driver*.

PR:		206711
Reviewed by:	kib
MFC after:	3 days
2018-11-06 13:51:08 +00:00
..
amd64 On amd64 both Linux compat modules, linux.ko and linux64.ko, provide 2018-11-06 13:51:08 +00:00
arm Add a KPI for the delay while spinning on a spin lock. 2018-11-05 21:34:17 +00:00
arm64 Add a KPI for the delay while spinning on a spin lock. 2018-11-05 21:34:17 +00:00
bsm
cam Only assert locked for many async events. 2018-11-05 18:47:29 +00:00
cddl 9952 Block size change during zfs receive drops spill block 2018-11-03 03:10:06 +00:00
compat On amd64 both Linux compat modules, linux.ko and linux64.ko, provide 2018-11-06 13:51:08 +00:00
conf newvers.sh: fix git false positive -dirty tag 2018-11-02 21:20:46 +00:00
contrib MFV: r339981 2018-11-02 22:50:13 +00:00
crypto rijndael (AES): Avoid leaking sensitive data on kernel stack 2018-10-26 20:53:01 +00:00
ddb ddb: Enable 'thread <address>' 2018-10-20 20:45:49 +00:00
dev Add a facility for transmitting "raw" work requests on regular NIC queues. 2018-11-06 00:11:36 +00:00
dts Revert r339421 due to unintended files included to commit. 2018-10-18 15:17:58 +00:00
fs Make vop_symlink take a const target path. 2018-11-02 14:42:36 +00:00
gdb
geom Have gconcat advertise delete support if one of its disks does. 2018-10-30 00:22:14 +00:00
gnu dts: Import DTS for arm64 2018-08-23 13:21:01 +00:00
i386 Add a custom implementation of cpu_lock_delay() for x86. 2018-11-05 22:54:03 +00:00
isa Reapply, with minor tweaks, r338025, from the original commit: 2018-09-26 17:12:14 +00:00
kern Fix a couple indentation errors in r339958. 2018-11-06 00:09:43 +00:00
kgssapi OpenCrypto: Convert sessions to opaque handles instead of integers 2018-07-18 00:56:25 +00:00
libkern mcount: tidy up ANSIfication 2018-10-20 22:39:35 +00:00
mips Add a KPI for the delay while spinning on a spin lock. 2018-11-05 21:34:17 +00:00
modules Retire CLANG_NO_IAS34 2018-11-01 23:11:47 +00:00
net pfsync: Handle syncdev going away 2018-11-02 16:57:23 +00:00
net80211 Fix misspellings of transmitter/transmitted 2018-08-10 20:37:32 +00:00
netgraph Make ng_pptpgre(8) netgraph node be able to restore order for packets 2018-11-04 19:10:44 +00:00
netinet Don't use a function when neither INET nor INET6 are defined. 2018-11-06 12:55:03 +00:00
netinet6 Remove redundant checks for a NULL lbgroup table. 2018-11-01 15:52:49 +00:00
netipsec Add sadb_x_sa2 extension to SADB_ACQUIRE requests. 2018-10-21 14:19:16 +00:00
netpfil pf: Fix build if INVARIANTS is not set 2018-11-02 19:23:50 +00:00
netsmb Make timespecadd(3) and friends public 2018-07-30 15:46:40 +00:00
nfs
nfsclient
nfsserver
nlm
ofed Introduce and use sgid_index in CM requests in ibcore. 2018-09-09 07:20:15 +00:00
opencrypto Add sha224 to the authctx union. 2018-10-23 18:07:37 +00:00
powerpc Add a KPI for the delay while spinning on a spin lock. 2018-11-05 21:34:17 +00:00
riscv Add a KPI for the delay while spinning on a spin lock. 2018-11-05 21:34:17 +00:00
rpc Set SO_SNDTIMEO in the client side krpc when CLSET_TIMEOUT is done. 2018-07-20 12:03:16 +00:00
security Add const to input-only char * arguments. 2018-11-02 20:50:22 +00:00
sparc64 Add a KPI for the delay while spinning on a spin lock. 2018-11-05 21:34:17 +00:00
sys capability.h: add comment about planned removal timeline 2018-11-06 00:05:17 +00:00
teken Implement ECMA-48 "REP", some Linuxen have started emitting them recently. 2018-10-21 08:29:36 +00:00
tests epoch_test: fix compile 2018-07-15 00:31:17 +00:00
tools embed_mfs.sh: replace some compound statements with conventional ifs 2018-11-02 21:07:06 +00:00
ufs Make vop_symlink take a const target path. 2018-11-02 14:42:36 +00:00
vm Initialize last_target in the laundry thread control loop. 2018-11-06 02:52:54 +00:00
x86 Add a custom implementation of cpu_lock_delay() for x86. 2018-11-05 22:54:03 +00:00
xdr
xen xen: legacy PVH fixes for the new interrupt count 2018-09-13 07:14:11 +00:00
Makefile