freebsd-nq/sys/compat/linux
Scott Long 1eba4c7948 Add the CAM 'SG' peripheral device. This device implements a subset of the
Linux SCSI SG passthrough device API.  The intention is to allow for both
running of Linux apps that want to talk to /dev/sg* nodes, and to facilitate
porting of apps from Linux to FreeBSD.  As such, both native and linuxolator
entry points and definitions are provided.

Caveats:
 - This does not support the procfs and sysfs nodes that the Linux SG
   driver provides.  Some Linux apps may rely on these for operation,
   others may only use them for informational purposes.
 - More ioctls need to be implemented.
 - Linux uses a naming scheme of "sg[a-z]" for devices, while FreeBSD uses a
   scheme of "sg[0-9]".  Devfs aliasis (symlinks) are automatically created
   to link the two together.  However, tools like camcontrol only see the
   native names.
 - Some operations were originally designed to return byte counts or other
   data directly as the syscall return value.  The linuxolator doesn't appear
   to support this well, so this driver just punts for these cases.

Now that the driver is in place, others are welcome to add missing
functionality.  Thanks to Roman Divacky for pushing this work along.
2007-04-07 19:40:58 +00:00
..
linux_emul.c MFP4: Turn emul_lock into a mutex. 2007-04-02 18:38:13 +00:00
linux_emul.h MFP4: Turn emul_lock into a mutex. 2007-04-02 18:38:13 +00:00
linux_file.c Replace custom file descriptor array sleep lock constructed using a mutex 2007-04-04 09:11:34 +00:00
linux_futex.c MFP4: Linux futex support for amd64. 2007-03-30 01:07:28 +00:00
linux_futex.h MFp4 (110523, parts which apply cleanly): 2007-02-25 12:40:35 +00:00
linux_getcwd.c Add missed ")". Fix the build. 2006-11-18 17:27:39 +00:00
linux_ioctl.c Add the CAM 'SG' peripheral device. This device implements a subset of the 2007-04-07 19:40:58 +00:00
linux_ioctl.h Add the CAM 'SG' peripheral device. This device implements a subset of the 2007-04-07 19:40:58 +00:00
linux_ipc.c MFp4 (112379): 2007-01-14 16:34:43 +00:00
linux_ipc.h MFP4 (110956): 2006-12-21 13:11:06 +00:00
linux_mib.c MFp4 (112705): 2007-01-14 16:07:01 +00:00
linux_mib.h MFp4 (111746+): 2006-12-31 12:39:10 +00:00
linux_misc.c Partial MFp4 of 114977: 2007-02-24 16:49:25 +00:00
linux_misc.h MFp4: 2006-12-31 11:56:16 +00:00
linux_signal.c MFp4 (112534): 2007-01-07 19:14:06 +00:00
linux_signal.h MFP4 (107868 - 107870): 2006-10-15 12:51:43 +00:00
linux_socket.c Introduce some more SO_ option equivalents from Linux to FreeBSD. 2007-02-01 13:36:19 +00:00
linux_socket.h
linux_stats.c In translate_path_major_minor(), do not calculate otherwise unused 'fp' 2007-03-06 07:39:12 +00:00
linux_sysctl.c Unbreak COMPAT_LINUX32 option support on amd64. 2006-03-19 11:10:33 +00:00
linux_sysproto.h Handle unimplemented syscall by instantly returning ENOSYS instead of sending 2005-03-07 00:18:06 +00:00
linux_time.c MFP4: 109655 2006-12-20 20:17:35 +00:00
linux_uid16.c Partial MFp4 of 114977: 2007-02-24 16:49:25 +00:00
linux_util.c Partial MFp4 of 114977: 2007-02-24 16:49:25 +00:00
linux_util.h Implement the openat() linux syscall 2007-03-29 02:11:46 +00:00