freebsd-nq/sys/compat
Doug Ambrisko 060e488247 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.  MegaCli
will not run until I add in the linsysfs and mfi Linux compat changes.

Sponsored by:	IronPort Systems
2006-05-05 16:10:45 +00:00
..
freebsd32 regen for 32bit System V shared memory 2006-03-30 07:43:01 +00:00
ia32 Remove kern.elf32.can_exec_dyn sysctl. Instead extend Brandinfo structure 2005-12-26 21:23:57 +00:00
linprocfs Enhance the Linux emulation layer to make MegaRAID SAS managements tool happy. 2006-05-05 16:10:45 +00:00
linux Enhance the Linux emulation layer to make MegaRAID SAS managements tool happy. 2006-05-05 16:10:45 +00:00
ndis Somehow memmove() got mapped to memset() in the patch table. Create a 2005-11-23 17:10:46 +00:00
netbsd Start each of the license/copyright comments with /*- 2005-01-05 22:34:37 +00:00
pecoff remove dead code 2005-02-22 01:26:48 +00:00
svr4 Annotate uses of fgetsock() with indications that they should rely 2006-04-01 15:25:01 +00:00