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