summaryrefslogtreecommitdiffstats
path: root/sys/modules/linux
diff options
context:
space:
mode:
authorambrisko <ambrisko@FreeBSD.org>2006-05-05 16:10:45 +0000
committerambrisko <ambrisko@FreeBSD.org>2006-05-05 16:10:45 +0000
commit31b22ce0171d5f314ab71ecfdc903cd5b4abff7c (patch)
treec811b5cf32301e6302a0ae1c83535f7a7e3ba038 /sys/modules/linux
parent1075788769bc1869a86b8413188a63dca0c3f9ad (diff)
downloadFreeBSD-src-31b22ce0171d5f314ab71ecfdc903cd5b4abff7c.zip
FreeBSD-src-31b22ce0171d5f314ab71ecfdc903cd5b4abff7c.tar.gz
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
Diffstat (limited to 'sys/modules/linux')
-rw-r--r--sys/modules/linux/Makefile2
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/modules/linux/Makefile b/sys/modules/linux/Makefile
index 18f5381..d58e3d6 100644
--- a/sys/modules/linux/Makefile
+++ b/sys/modules/linux/Makefile
@@ -7,7 +7,7 @@ SRCS= linux_dummy.c linux_file.c linux_getcwd.c linux_ioctl.c linux_ipc.c \
linux_machdep.c linux_mib.c linux_misc.c linux_signal.c linux_socket.c \
linux_stats.c linux_sysctl.c linux_sysent.c linux_sysvec.c \
linux_util.c opt_inet6.h opt_mac.h \
- vnode_if.h
+ vnode_if.h device_if.h bus_if.h
OBJS= linux_locore.o
.if ${MACHINE_ARCH} == "i386"
OpenPOWER on IntegriCloud