freebsd-nq/sys/i386/linux
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
..
imgact_linux.c - Change the vm_mmap() function to accept an objtype_t parameter specifying 2005-04-01 20:00:11 +00:00
linux_dummy.c regen after COMPAT_43 removal 2006-03-18 18:24:38 +00:00
linux_genassym.c Use __FBSDID(). 2003-06-02 16:56:40 +00:00
linux_ipc64.h
linux_locore.s
linux_machdep.c - Always call exec_free_args() in kern_execve() instead of doing it in all 2006-02-06 22:06:54 +00:00
linux_proto.h regen 2006-03-18 20:49:01 +00:00
linux_ptrace.c Close some races between procfs/ptrace and exit(2): 2006-02-22 18:57:50 +00:00
linux_syscall.h regen 2006-03-18 20:49:01 +00:00
linux_sysent.c regen 2006-03-18 20:49:01 +00:00
linux_sysvec.c Enhance the Linux emulation layer to make MegaRAID SAS managements tool happy. 2006-05-05 16:10:45 +00:00
linux.h regen after COMPAT_43 removal 2006-03-18 18:24:38 +00:00
Makefile
syscalls.conf GC unused 'syshide' override to /dev/null. This was here to disable 2003-12-24 00:32:07 +00:00
syscalls.master Fixup some problems in my previous commit (COMPAT_43). 2006-03-18 20:47:36 +00:00