Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 7 Apr 2007 19:40:58 +0000 (UTC)
From:      Scott Long <scottl@FreeBSD.org>
To:        src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   cvs commit: src/sys/cam/scsi scsi_sg.c scsi_sg.h src/sys/modules/cam Makefile src/sys/conf NOTES files src/sys/compat/linux linux_ioctl.c linux_ioctl.h
Message-ID:  <200704071940.l37Jew2t013708@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
scottl      2007-04-07 19:40:58 UTC

  FreeBSD src repository

  Modified files:
    sys/modules/cam      Makefile 
    sys/conf             files NOTES 
    sys/compat/linux     linux_ioctl.c linux_ioctl.h 
  Added files:
    sys/cam/scsi         scsi_sg.c scsi_sg.h 
  Log:
  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.
  
  Revision  Changes    Path
  1.1       +987 -0    src/sys/cam/scsi/scsi_sg.c (new)
  1.1       +139 -0    src/sys/cam/scsi/scsi_sg.h (new)
  1.138     +27 -0     src/sys/compat/linux/linux_ioctl.c
  1.25      +34 -0     src/sys/compat/linux/linux_ioctl.h
  1.1419    +5 -0      src/sys/conf/NOTES
  1.1191    +1 -0      src/sys/conf/files
  1.15      +1 -0      src/sys/modules/cam/Makefile



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200704071940.l37Jew2t013708>