cvs commit: src/share/man/man5 linsysfs.5 src/sys/amd64/linux32 linux32_sysvec.c src/sys/compat/linux linux_stats.c linux_util.c linux_util.h src/sys/i386/linux linux_sysvec.c src/sys/modules/linux Makefile src/sys/compat/linprocfs ...

Doug Ambrisko ambrisko at FreeBSD.org
Thu Jun 15 15:52:05 UTC 2006


ambrisko    2006-06-15 15:52:05 UTC

  FreeBSD src repository

  Modified files:        (Branch: RELENG_6)
    sys/amd64/linux32    linux32_sysvec.c 
    sys/compat/linux     linux_stats.c linux_util.c linux_util.h 
    sys/i386/linux       linux_sysvec.c 
    sys/modules/linux    Makefile 
    sys/compat/linprocfs linprocfs.c 
  Added files:           (Branch: RELENG_6)
    share/man/man5       linsysfs.5 
    sys/compat/linsysfs  linsysfs.c 
  Log:
  MFC the enhancements to the Linux emulation layer so the MegaRAID SAS
  management tools can work.  This is not totally connected to the build
  yet.  The mfi(4) change have not been MFC'ed yet.  This will be done
  shortly.  I'm trying to do this in chunks so I don't totally break
  the build on a missed commit.  This has passed make universe a while
  ago:
    Enhance the Linux emulation layer to make MegaRAID SAS managements tool happy.
    Add back in a scheme to emulate old type major/minor numbers via hooks into
    stat, linprocfs to return major/minors that Linux app's expect.  Currently
    only /dev/null is always registered.  Drivers can register via the Linux
    type shim similar to the ioctl shim but by using
    linux_device_register_handler/linux_device_unregister_handler functions.
    The structure is:
  
      struct linux_device_handler {
          char    *bsd_driver_name;
          char    *linux_driver_name;
          char    *bsd_device_name;
          char    *linux_device_name;
          int     linux_major;
          int     linux_minor;
          int     linux_char_device;
      };
  
    Linprocfs uses this to display the major number of the driver.  The
    soon to be available linsysfs will use it to fill in the driver name.
    Linux_stat uses it to translate the major/minor into Linux type values.
  
    Note major numbers are dynamically assigned via passing in a -1 for
    the major number so we don't need to keep track of them.
  
    This is somewhat needed due to us switching to our devfs.
  
  Revision   Changes    Path
  1.2.2.1    +85 -0     src/share/man/man5/linsysfs.5 (new)
  1.7.2.3    +6 -0      src/sys/amd64/linux32/linux32_sysvec.c
  1.89.2.2   +37 -12    src/sys/compat/linprocfs/linprocfs.c
  1.2.2.1    +283 -0    src/sys/compat/linsysfs/linsysfs.c (new)
  1.72.2.2   +75 -2     src/sys/compat/linux/linux_stats.c
  1.29.2.1   +137 -0    src/sys/compat/linux/linux_util.c
  1.25.2.2   +18 -0     src/sys/compat/linux/linux_util.h
  1.137.2.2  +6 -0      src/sys/i386/linux/linux_sysvec.c
  1.63.2.2   +1 -1      src/sys/modules/linux/Makefile


More information about the cvs-src mailing list