summaryrefslogtreecommitdiffstats
path: root/lkm/linux/linux.c
Commit message (Collapse)AuthorAgeFilesLines
* linux_interp now moved into sys/i386/linux/linux_sysvec.c, but stillpeter1996-03-101-6/+2
| | | | connected at load and unload time from here.
* First attempt at FreeBSD & Linux ELF support.sos1996-03-101-1/+13
| | | | | | | | | | | | | | | | | Compile and link a new kernel, that will give native ELF support, and provide the hooks for other ELF interpreters as well. To make native ELF binaries use John Polstras elf-kit-1.0.1.. For the time being also use his ld-elf.so.1 and put it in /usr/libexec. The Linux emulator has been enhanced to also run ELF binaries, it is however in its very first incarnation. Just get some Linux ELF libs (Slackware-3.0) and put them in the prober place (/compat/linux/...). I've ben able to run all the Slackware-3.0 binaries I've tried so far. (No it won't run quake yet :)
* Changed the first (name) arg of MOD_DEV(), MOD_EXEC() and MOD_MISC()bde1995-11-141-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | from a string to an identifier so that it can be used to generate declarations and strings. It's much easier to stringize an identifier than to identifize a string. A uniform naming scheme must be used for the automatically generated things to apply. This is a feature. Used the module identifer to generate prototypes for the module load, unload and stat functions. Removed the few prototypes for these that already existed. Used the module identifier to generate a unique struct tag in MOD_DEV(). This should probably be done for all the MOD_*() macros. Moved the trailing semicolon from the MOD_*() macro definitions to the macro invocations that didn't already (bogusly) have it. Staticized the module load and unload functions. Added function return types for the module load, unload and stat functions. lkm/ibcs2/ibcs2.c: Included <sys/sysproto.h> to get everything prototyped. Cleaned up #includes. lkm/ibcs2/ipfw.c: Cleaned up #includes. lkm/linux/linux.c: The module name had to change from "linux_emulator" to "linux_mod" to be automatically generated. Cleaned up #includes. lkm/syscons/*/*_saver.c: Completed delcarations of function pointers. sys/i386/isa/atapi.c: The module name had to change from "atapi" to "atapi_mod" to be automatically generated. sys/i386/isa/wcd.c: Used the fixed MOD_DEV(). This module has two devices and expanded the macro in the source instead of fixing it. The module names had to change from "wcd" and "rwcd" to "wcd_mod" and "rwcd_mod" to be automatically generated. sys/pccard/pcic.c: The module name had to change from "pcic" to "pcic_mod" to be automatically generated.
* Replaced nosys() by lkm_nullcmd(). Always call lkm load/unload/statbde1995-11-131-2/+2
| | | | | functions instead of skipping the call if the function is nosys(). nosys() returned the wrong value as well as having the wrong type.
* Do a pass over the broken LKM's and update them to use the "new"peter1995-10-281-2/+2
| | | | | | | | | | | | | | | convention of having their entry point named "<modname>_mod"". Symorder is enforcing this when the current bsd.kmod.mk is installed. I've not tested all these, but at least they all compile now. Reattach them to the makefile. Note that the change that I made to symorder needs to be compiled and installed before any LKM's will work - the last version was corrupting the relocation tables. A "make world" will to this, but if you manually run a make on the lkm's you'll need to take care of it by hand.
* First incarnation of our Linux emulator or rather compatibility code.sos1995-06-251-0/+58
This first shot only incorporaties so much functionality that DOOM can run (the X version), signal handling is VERY weak, so is many other things. But it meets my milestone number one (you guessed it - running DOOM). Uses /compat/linux as prefix for loading shared libs, so it won't conflict with our own libs. Kernel must be compiled with "options COMPAT_LINUX" for this to work.
OpenPOWER on IntegriCloud