aboutsummaryrefslogtreecommitdiff
path: root/sys/modules/linux/linux.c
Commit message (Collapse)AuthorAgeFilesLines
* Make the long-awaited change from $Id$ to $FreeBSD$Jordan K. Hubbard1997-01-141-1/+1
| | | | | | | | | | | This will make a number of things easier in the future, as well as (finally!) avoiding the Id-smashing problem which has plagued developers for so long. Boy, I'm glad we're not using sup anymore. This update would have been insane otherwise. Notes: svn path=/head/; revision=21673
* Prepare kernel to take advantage of "branded" ELF binaries.Søren Schmidt1996-10-161-4/+4
| | | | Notes: svn path=/head/; revision=18959
* `struct linker_set execsw_set' was declared as const and pointers in itBruce Evans1996-09-031-2/+2
| | | | | | | | | | were declared as non-const. This is backwards (_lkm_exec() changes the pointers but all the target `struct execsw's are const). Fixed this and poisoned related declarations to match and removed the bogus casts that hid the bug. Notes: svn path=/head/; revision=18026
* linux_interp now moved into sys/i386/linux/linux_sysvec.c, but stillPeter Wemm1996-03-101-6/+2
| | | | | | | connected at load and unload time from here. Notes: svn path=/head/; revision=14469
* First attempt at FreeBSD & Linux ELF support.Søren Schmidt1996-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 :) Notes: svn path=/head/; revision=14456
* Changed the first (name) arg of MOD_DEV(), MOD_EXEC() and MOD_MISC()Bruce Evans1995-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. Notes: svn path=/head/; revision=12276
* Replaced nosys() by lkm_nullcmd(). Always call lkm load/unload/statBruce Evans1995-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. Notes: svn path=/head/; revision=12250
* Do a pass over the broken LKM's and update them to use the "new"Peter Wemm1995-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. Notes: svn path=/head/; revision=11857
* First incarnation of our Linux emulator or rather compatibility code.Søren Schmidt1995-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. Notes: svn path=/head/; revision=9313