272461 |
03-Oct-2014 |
gjb |
Copy stable/10@r272459 to releng/10.1 as part of the 10.1-RELEASE process.
Approved by: re (implicit) Sponsored by: The FreeBSD Foundation
|
272020 |
23-Sep-2014 |
bz |
MFC r271743:
Implement most of timer_{create,settime,gettime,getoverrun,delete} for amd64/linux32. Fix the entirely bogus (untested) version from r161310 for i386/linux using the same shared code in compat/linux.
It is unclear to me if we could support more clock mappings but the current set allows me to successfully run commercial 32bit linux software under linuxolator on amd64.
Reviewed by: jhb Differential Revision: D784 Sponsored by: DARPA, AFRL Approved by: re (gjb)
|
256281 |
10-Oct-2013 |
gjb |
Copy head (r256279) to stable/10 as part of the 10.0-RELEASE cycle.
Approved by: re (implicit) Sponsored by: The FreeBSD Foundation
|
255675 |
18-Sep-2013 |
rdivacky |
Revert r255672, it has some serious flaws, leaking file references etc.
Approved by: re (delphij)
|
255672 |
18-Sep-2013 |
rdivacky |
Implement epoll support in Linuxulator. This is a tiny wrapper around kqueue to implement epoll subset of functionality. The kqueue user data are 32bit on i386 which is not enough for epoll user data so this patch overrides kqueue fileops to maintain enough space in struct file.
Initial patch developed by me in 2007 and then extended and finished by Yuri Victorovich.
Approved by: re (delphij) Sponsored by: Google Summer of Code Submitted by: Yuri Victorovich <yuri at rawbw dot com> Tested by: Yuri Victorovich <yuri at rawbw dot com>
|
254967 |
27-Aug-2013 |
rdivacky |
Assemble linux32_locore.s and ia32_sigtramp.S with clang integrated assembler. Support for .code32 and .code64 in llvm was implemented more than 2 years ago.
Tested by: Dan McGregor <dan.mcgregor at usask dot ca>
|
251869 |
17-Jun-2013 |
eadler |
Add missing dependency to linux${SFX}_genassym.c
Submitted by: nox MFC After: 3 days
|
235078 |
06-May-2012 |
uqs |
Fix make depend
|
232263 |
28-Feb-2012 |
dim |
Define several extra macros in bsd.sys.mk and sys/conf/kern.pre.mk, to get rid of testing explicitly for clang (using ${CC:T:Mclang}) in individual Makefiles.
Instead, use the following extra macros, for use with clang: - NO_WERROR.clang (disables -Werror) - NO_WCAST_ALIGN.clang (disables -Wcast-align) - NO_WFORMAT.clang (disables -Wformat and friends) - CLANG_NO_IAS (disables integrated assembler) - CLANG_OPT_SMALL (adds flags for extra small size optimizations)
As a side effect, this enables setting CC/CXX/CPP in src.conf instead of make.conf! For clang, use the following:
CC=clang CXX=clang++ CPP=clang-cpp
MFC after: 2 weeks
|
218893 |
20-Feb-2011 |
dim |
Upgrade our copy of llvm/clang to r126079, from upstream's trunk.
This contains many improvements, primarily better C++ support, an integrated assembler for x86 and support for -pg.
|
218616 |
12-Feb-2011 |
dchagin |
Move linux_clone(), linux_fork(), linux_vfork() to a MI path.
|
211690 |
23-Aug-2010 |
imp |
MFtbemd:
Use MACHINE_CPUARCH in preference to MACHINE_ARCH. The former is the source code location of the machine, the latter the binary output. In general, we want to use MACHINE_CPUARCH instead of MACHINE_ARCH unless we're tesitng for a specific target. The isn't even moot for i386/amd64 where there's momemntum towards a MACHINE_CPUARCH == x86, although a specific cleanup for that likely would be needed...
|
208486 |
24-May-2010 |
wkoszek |
Bring USB fixes for linux(4).
Intention of this commit is to let us take a full advantage of libusb(8) ported to Linux. This decreases a possibility of getting any collisions within ioctl() "command" space, especially with relation to LINUX_SNDCTL_SEQ... stuff.
Basically, we provide commands, that will be mapped in the kernel to correct ones and forward those to the USB layer. Port enabling functionality brought with this patch is here:
http://www.freebsd.org/cgi/query-pr.cgi?pr=146895
Bump __FreeBSD_version to catch, since which version installing a port makes sense.
This patch should bring no regressions. So far, only i386 is tested.
Tested by: thompsa@ Reviewed by: thompsa@ OKed by: netchild@
|
205014 |
11-Mar-2010 |
nwhitehorn |
Provide groundwork for 32-bit binary compatibility on non-x86 platforms, for upcoming 64-bit PowerPC and MIPS support. This renames the COMPAT_IA32 option to COMPAT_FREEBSD32, removes some IA32-specific code from MI parts of the kernel and enhances the freebsd32 compatibility code to support big-endian platforms.
Reviewed by: kib, jhb
|
193744 |
08-Jun-2009 |
bz |
After r193232 rt_tables in vnet.h are no longer indirectly dependent on the ROUTETABLES kernel option thus there is no need to include opt_route.h anymore in all consumers of vnet.h and no longer depend on it for module builds.
Remove the hidden include in flowtable.h as well and leave the two explicit #includes in ip_input.c and ip_output.c.
|
193588 |
06-Jun-2009 |
rwatson |
Remove opt_mac.h generation for various kernel modules that no longer require it.
Submitted by: pjd
|
192855 |
26-May-2009 |
des |
Move opt_apic.h closer to the "XXX: for assym.s" comment.
Suggested by: jhb MFC after: 1 week
|
192852 |
26-May-2009 |
des |
opt_apic.h is i386-only.
MFC after: 1 week
|
191877 |
07-May-2009 |
dchagin |
Add preliminary KTR(9) support to the linux emulation layer.
Approved by: kib (mentor) MFC after: 1 month
|
188516 |
12-Feb-2009 |
n_hibma |
Fix a few problems related to building modules in /sys/modules (not checked whether this applies to builds in /sys/*/compile/* as well):
- Create empty opt_*.h files were missing - Hook up svr4 to the build. It compiles fine here, so no reason to disconnect it in the Makefile. were missing - Hook up svr4 to the build. It compiles fine here, so no reason to disconnect it in the Makefile.
|
185571 |
02-Dec-2008 |
bz |
Rather than using hidden includes (with cicular dependencies), directly include only the header files needed. This reduces the unneeded spamming of various headers into lots of files.
For now, this leaves us with very few modules including vnet.h and thus needing to depend on opt_route.h.
Reviewed by: brooks, gnn, des, zec, imp Sponsored by: The FreeBSD Foundation
|
182668 |
02-Sep-2008 |
imp |
Per email to arch@ a little while ago (that was greeted with silence), prefer the more common > ${.TARGET} over > opt_foo.h in modules makefiles.
|
169903 |
23-May-2007 |
kib |
Fix the dependency for the linux_support.s, explicitely add linux_assym.h.
Reported by: rwatson In collaboration with: rdivacky Sponsored by: Google SoC 2007
|
169895 |
23-May-2007 |
kib |
Move futex support code from <arch>/support.s into linux compat directory. Implement all futex atomic operations in assembler to not depend on the fuword() that does not allow to distinguish between -1 and failure return. Correctly return 0 from atomic operations on success.
In collaboration with: rdivacky Tested by: Scot Hetzel <swhetzel gmail com>, Milos Vyletel <mvyletel mzm cz> Sponsored by: Google SoC 2007
|
163760 |
29-Oct-2006 |
netchild |
Backout the linux aio stuff. Several problems where identified and the dynamic nature (if no native aio code is available, the linux part returns ENOSYS because of missing requisites) should be solved differently than it is.
All this will be done in P4.
Not included in this commit is a backout of the changes to the native aio code (removing static in some places). Those changes (and some more) will also be needed when the reworked linux aio stuff will reenter the tree.
Requested by: rwatson Discussed with: rwatson
|
163379 |
15-Oct-2006 |
netchild |
MFP4 (with some minor changes):
Implement the linux_io_* syscalls (AIO). They are only enabled if the native AIO code is available (either compiled in to the kernel or as a module) at the time the functions are used. If the AIO stuff is not available there will be a ENOSYS.
From the submitter: ---snip--- DESIGN NOTES:
1. Linux permits a process to own multiple AIO queues (distinguished by "context"), but FreeBSD creates only one single AIO queue per process. My code maintains a request queue (STAILQ of queue(3)) per "context", and throws all AIO requests of all contexts owned by a process into the single FreeBSD per-process AIO queue.
When the process calls io_destroy(2), io_getevents(2), io_submit(2) and io_cancel(2), my code can pick out requests owned by the specified context from the single FreeBSD per-process AIO queue according to the per-context request queues maintained by my code.
2. The request queue maintained by my code stores contrast information between Linux IO control blocks (struct linux_iocb) and FreeBSD IO control blocks (struct aiocb). FreeBSD IO control block actually exists in userland memory space, required by FreeBSD native aio_XXXXXX(2).
3. It is quite troubling that the function io_getevents() of libaio-0.3.105 needs to use Linux-specific "struct aio_ring", which is a partial mirror of context in user space. I would rather take the address of context in kernel as the context ID, but the io_getevents() of libaio forces me to take the address of the "ring" in user space as the context ID.
To my surprise, one comment line in the file "io_getevents.c" of libaio-0.3.105 reads:
Ben will hate me for this
REFERENCE:
1. Linux kernel source code: http://www.kernel.org/pub/linux/kernel/v2.6/ (include/linux/aio_abi.h, fs/aio.c)
2. Linux manual pages: http://www.kernel.org/pub/linux/docs/manpages/ (io_setup(2), io_destroy(2), io_getevents(2), io_submit(2), io_cancel(2))
3. Linux Scalability Effort: http://lse.sourceforge.net/io/aio.html The design notes: http://lse.sourceforge.net/io/aionotes.txt
4. The package libaio, both source and binary: http://rpmfind.net/linux/rpm2html/search.php?query=libaio Simple transparent interface to Linux AIO system calls.
5. Libaio-oracle: http://oss.oracle.com/projects/libaio-oracle/ POSIX AIO implementation based on Linux AIO system calls (depending on libaio). ---snip---
Submitted by: Li, Xiao <intron@intron.ac>
|
161312 |
15-Aug-2006 |
netchild |
- Add the new files to the linux module. - Prepare the modules for build on amd64, but don't build them there as part of the kernel build yet. The code for the missing symbols on amd64 isn't committed and it may be solved differently.
Sponsored by: Google SoC 2006 Submitted by: rdivacky
|
158311 |
05-May-2006 |
ambrisko |
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
|
156842 |
18-Mar-2006 |
netchild |
Get rid of the need of COMPAT_43 in the linuxolator.
Submitted by: Divacky Roman <xdivac02@stud.fit.vutbr.cz> Obtained from: DragonFly (some parts)
|
154865 |
26-Jan-2006 |
alc |
opt_vmpage.h is no longer needed here because it is not included by vm_page.h.
|
151350 |
14-Oct-2005 |
yar |
Let modules use the kernel's opt_*.h files if built along with the kernel by wrapping all targets for fake opt_*.h files in .if defined(KERNBUILDDIR). Thus, such fake files won't be created at all if modules are built with the kernel.
Some modules undergo cleanup like removing unused or unneeded options or .h files, without which they wouldn't build this way or the other.
Reviewed by: ru Tested by: no binary changes in modules built alone Tested on: i386 sparc64 amd64
|
146961 |
04-Jun-2005 |
imp |
Move MAINTAINER documentation to MAINTAINERS
|
122894 |
19-Nov-2003 |
imp |
o Remove @- from the ln and change it to a -sf. This was bogus, and regocnized as such at the time. Now that the other bogons in the tree have been fixed, we can remove this ugly kludge. o Remove stale/bogus opt_foo.h files. These are left over from by-gone resources. And they point to the need, yet again, to improve the build system so meta information is only in one place.
Submitted by: ru Reviewed by: bde Approved by: re@ (jhb)
|
110295 |
03-Feb-2003 |
ume |
Add IPv6 support for Linuxlator.
Reviewed by: dwmalone MFC after: 10 days
|
103089 |
08-Sep-2002 |
peter |
opt_kstack_pages.h is not needed anymore. It would have been a Bad Thing if it had been different to the running kernel.
|
103075 |
07-Sep-2002 |
tmm |
Unbreak the modules build: - add dependencies on opt_cpu.h and opt_kstack_pages.h to the linux module Makefile in the i386 case. The latter is needed by an i386-only file, the former by the i386 implementation of linux_sysvec.c (opt_cpu.h is used for architecture-dependent options, so I added it only for i386, although this file is also generated for the alpha). - add a dependency on opt_kstack_pages.h to the pecoff module Makefile.
|
101189 |
01-Aug-2002 |
rwatson |
Introduce support for Mandatory Access Control and extensible kernel access control.
Invoke appropriate MAC entry points for a number of VFS-related operations in the Linux ABI module. In particular, handle uselib in a manner similar to open() (more work is probably needed here), as well as handle statfs(), and linux readdir()-like calls.
Obtained from: TrustedBSD Project Sponsored by: DARPA, NAI Labs
|
96890 |
19-May-2002 |
marcel |
Hook up the new linux_ptrace implementation.
PR: 33299 Submitted by: Alexander N. Kabaev <ak03@gte.com>
|
91072 |
22-Feb-2002 |
des |
(Belatedly) add the required EXPORT_SYMS. I'm not sure the list is complete, but at least linprocfs works (I haven't had the opportunity to test other stuff that depends on the linux module, like aac or tdfx)
|
89181 |
10-Jan-2002 |
msmith |
genassym depends on the presence of common variables, disable the use of -fno-common in this case.
|
86538 |
18-Nov-2001 |
marcel |
Pass maintainership over to emulation@FreeBSD.org. It has been fun, but time and other interests is making it hard. Open the door for new blood and fresh tactics now that the Linuxulator has had its facelift.
Thanks to all who contributed during my tour of duty!
|
83221 |
08-Sep-2001 |
marcel |
Round of cleanups and enhancements. These include (in random order):
o Introduce private types for use in linux syscalls for two reasons: 1. establish type independence for ease in porting and, 2. provide a visual queue as to which syscalls have proper prototypes to further cleanup the i386/alpha split. Linuxulator types are prefixed by 'l_'. void and char have not been "virtualized".
o Provide dummy functions for all syscalls and remove dummy functions or implementations of truely obsolete syscalls.
o Sanitize the shm*, sem* and msg* syscalls.
o Make a first attempt to implement the linux_sysctl syscall. At this time it only returns one MIB (KERN_VERSION), but most importantly, it tells us when we need to add additional sysctls :-)
o Bump the kenel version up to 2.4.2 (this is not the same as the KERN_VERSION MIB, BTW).
o Implement new syscalls, of which most are specific to i386. Our syscall table is now up to date with Linux 2.4.2. Some highlights: - Implement the 32-bit uid_t and gid_t bases syscalls. - Implement a couple of 64-bit file size/offset bases syscalls.
o Fix or improve numerous syscalls and prototypes.
o Reduce style(9) violations while I'm here. Especially indentation inconsistencies within the same file are addressed. Re-indenting did not obfuscate actual changes to the extend that it could not be combined.
NOTE: I spend some time testing these changes and found that if there were regressions, they were not caused by these changes AFAICT. It was observed that installing a RH 7.1 runtime environment did make matters worse. Hangs and/or reboots have been observed with and without these changes, so when it failed to make life better in cases it doesn't look like it made it worse.
|
82518 |
29-Aug-2001 |
gallatin |
Fix linux_getcwd() so that if the cwd isn't cached (__getcwd() fails), the cwd is looked up inside the kernel. The native getcwd() in libc handles this in userland if __getcwd() fails.
Obtained from: NetBSD via OpenBSD Tested by: Chris Casey <chriss@phys.ksu.edu>, Markus Holmberg <markush@acc.umu.se> Reviewed by: Darrell Anderson <anderson@cs.duke.edu> PR: kern/24315
|
71989 |
04-Feb-2001 |
peter |
Zap obsolete (died with LKM) EXPORT_SYMS variable
|
70739 |
07-Jan-2001 |
peter |
It is unlikely that we'll be supporting old-style ZMAGIC linux a.out binaries on anything but i386.. (ia64, sparc64, etc) Invert the .if so that it is inclusive of i386 platforms rather than excluding just the alpha.
|
70711 |
06-Jan-2001 |
obrien |
Use a consistent style and one much closer to the rest of /usr/src
|
69539 |
03-Dec-2000 |
marcel |
Don't auto-generate the syscalls.
|
69533 |
02-Dec-2000 |
marcel |
Fix dependency for auto-generated files. This commit is for archiving purposes only; auto-generation is going to be reverted.
requested by: obrien submitted: gallatin
|
68341 |
05-Nov-2000 |
marcel |
Fix breakage for parallel builds.
|
68243 |
02-Nov-2000 |
sheldonh |
Retire linux(8). Using shell scripts to load kernel loadable modules is out of fashion. This particular case, unlike joy(8) and friends which are just plain silly, did more than just load a kernel loadable module. However, /etc/rc and the linux_base port were adjusted a while back to cope with the absence of this script.
The only outstanding reason to hang on to it would have been for the linux(8) manual page, which clued folks into the existence of the Linuxulator. A new linux(4) was introduced a while back. It does a much better job.
This script just isn't useful any more.
|
68214 |
01-Nov-2000 |
gallatin |
Support for the linux ipc syscalls on the alpha, where each one has its own syscall rather than going through a demux function like linux_ipc() on i386
|
68162 |
01-Nov-2000 |
obrien |
Allow the building of the syscall bits at compile time.
|
66826 |
08-Oct-2000 |
obrien |
Don't install manpages. They are being moved elsewhere, and they are causing problems being here.
|
66620 |
04-Oct-2000 |
obrien |
Only install secondary components if the destination directory exists. This may be a WIP, but `make release' needs it sooner than later.
|
65548 |
06-Sep-2000 |
obrien |
Since AlphaLinux is the weirdest Linux of all, probably best to do the logic this way.
|
65547 |
06-Sep-2000 |
obrien |
Two sys/compat/linux sources aren't applicable on the Alpha at this time.
|
64930 |
22-Aug-2000 |
marcel |
Connect the new sources in /sys/compat/linux and the new file in /sys/i386/linux.
|
61204 |
03-Jun-2000 |
bde |
Use the genassym script here too. The linux and svr4 modules were broken.
|
60966 |
27-May-2000 |
peter |
Use .include <bsd.kmod.mk> to get to ../../*/conf/kmod.mk instead of encoding the relative path.
|
59951 |
04-May-2000 |
peter |
Pull in sys/conf/kmod.mk, rather than /usr/share/mk/bsd.kmod.mk. This means that the kernel can be totally self contained now and is not dependent on the last buildworld to update /usr/share/mk. This might also make it easier to build 5.x kernels on 4.0 boxes etc, assuming gensetdefs and config(8) are updated.
|
55653 |
09-Jan-2000 |
bde |
Compile linux_genassym.c with ordinary ${CFLAGS}. The (small) need for -U_KERNEL became negative when all all the genassym.c's were converted to be cross-built.
Use "genassym ... > ${.TARGET}", not "genassym -o $@ ...", so that genassym(1) doesn't need to support -o.
Removed duplicate -D_KERNEL from flags for compiling linux_locore.s.
|
55206 |
29-Dec-1999 |
peter |
Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" is an application space macro and the applications are supposed to be free to use it as they please (but cannot). This is consistant with the other BSD's who made this change quite some time ago. More commits to come.
|
55062 |
23-Dec-1999 |
marcel |
Use genassym(1) and <sys/assym.h> to generate assembler symbols.
|
54541 |
13-Dec-1999 |
cracauer |
Add a run of Linux ldconfig.
|
53846 |
28-Nov-1999 |
bde |
Removed special rules for building and cleaning device interface files and empty options files. The rules are now generated automatically in bsd.kmod.mk. Cleaned up related things ($S and ${CLEANFILES}).
|
53116 |
12-Nov-1999 |
marcel |
Replace 'i386' with '${MACHINE_ARCH}' in preparation of the development of a linuxulator for Alpha.
|
50834 |
03-Sep-1999 |
marcel |
Install linux.sh in /usr/sbin and not in /usr/bin.
PR: 13545 Submitted by: Jose M. Alcaide <jose@we.lc.ehu.es>
|
50501 |
28-Aug-1999 |
marcel |
Add MAINTAINER and remove the unused COMPAT_LINUX and VM_STACK defines.
|
50477 |
28-Aug-1999 |
peter |
$Id$ -> $FreeBSD$
|
50465 |
27-Aug-1999 |
marcel |
Add sysctl variables for the Linuxulator. These reside under `compat.linux' as discussed on current.
The following variables are defined (for now):
osname (defaults to "Linux") Allow users to change the name of the OS as returned by uname(2), specially added for all those Linux Netscape users and statistics maniacs :-) We now have what we all wanted!
osrelease (defaults to "2.2.5") Allow users to change the version of the OS as returned by uname(2). Since -current supports glibc2.1 now, change the default to 2.2.5 (was 2.0.36).
oss_version (defaults to 198144 [0x030600]) This one will be used by the OSS_GETVERSION ioctl (PR 12917) which I can commit now that we have the MIB. The default version number is the lowest version possible with the current 'encoding'.
A note about imprisoned processes (see jail(2)): These variables are copy-on-write (as suggested by phk). This means that imprisoned processes will use the system wide value unless it is written/set by the process. From that moment on, a copy local to the prison will be used.
A note about the implementation: I choose to add a single pointer to struct prison, because I didn't like the idea of changing struct prison every time I come up with a new variable. As a side effect, the extra storage is only needed when a variable is set from within the prison. This also minimizes kernel bloat when the Linuxulator is not used; both compiled in or as a module.
Reviewed by: bde (first version only) and phk
|
50028 |
19-Aug-1999 |
mpp |
Sort xrefs.
Submitted by: Alexey Zelkin <phantom@cris.net>
|
49414 |
04-Aug-1999 |
nik |
"Linux emulator" -> "Linux image activator"
PR: docs/12882 Submitted by: des
|
45954 |
23-Apr-1999 |
ghelmer |
Reference kld(4).
Submitted by: Nathan Ahlstrom <nrahlstr@winternet.com>
|
44209 |
22-Feb-1999 |
n_hibma |
Update for the man page. 4.0 is using KLD's not LKM's.
|
43243 |
26-Jan-1999 |
julian |
Compile the linux module with the same flags as the kernel. (oops).
Submitted by: "Richard Seaman, Jr." <dick@tar.com>
|
41104 |
12-Nov-1998 |
jkh |
Install scripts without .sh suffix.
|
41081 |
11-Nov-1998 |
peter |
Rename joy,ibcs2,linux to joy.sh,ibcs2.sh,linux.sh (via repo copy).
|
41065 |
10-Nov-1998 |
jkh |
We need to install the linux shell script or the lkm version will still be in place.
|
40923 |
05-Nov-1998 |
peter |
Build linux_genassym static, this should help aout-to-elf builds
|
40921 |
05-Nov-1998 |
peter |
Do not overwrite the lkm versions of the install scripts for now. linux works but ibcs2 has a load failure and joy doesn't look like it'll work.
|
40920 |
05-Nov-1998 |
peter |
Update to use kldload, no temporary files!
|
40440 |
16-Oct-1998 |
peter |
Sample initial set of kld-ified modules. Not all have been completely converted yet. These are more of a starting point. This is NOT connected to the parent Makefile.
OK'ed by jkh (who is ever so patiently waiting)
|
40237 |
11-Oct-1998 |
alex |
Unregister the glibc2 brand at module unload time.
Change the ELF registration/unregistration scheme to be less error prone. Adding a new brand requires a single addition to linux_brandlist instead of modifying linux_load(), linux_unload(), and linux_elf_init().
Approved by: jkh Reviewed by: msmith
|
39437 |
17-Sep-1998 |
msmith |
Add support for glibc consumers using the new ld-linux.so.2 linker. I can't say this was the most inspired fix, but it matches the design OK.
|
38911 |
07-Sep-1998 |
cracauer |
Load linux emulator lkm only when not already loaded. This avoids leftover files in /tmp. Script slightly modified from PR version to use fewer processes. PR: i386/7725 Submitted by: Stefan Eggers seggers@semyam.dinoco.de
|
37461 |
07-Jul-1998 |
bde |
Added a `build-tools' target for internal tools. (linux_genassym may not actually work for cross compiling, but that is another problem.)
Honor LDFLAGS for building internal tools. (Tools should normally be built static to avoid problems with picking up target shared libraries. bsd.kmod doesn't set -static yet, and has some problems with `LDFLAGS=-static ...' in the environment.)
|
37324 |
01-Jul-1998 |
bde |
Fixed missing options headers. Options that affect LKMs shouldn't exist.
|
34675 |
19-Mar-1998 |
bde |
Fixed a race to build the `@' and `machine' symlinks early enough for `make -jN'.
|
33143 |
06-Feb-1998 |
eivind |
Back out opt_diagnostic.h changes.
|
33105 |
04-Feb-1998 |
eivind |
Make the LKMs handle DIAGNOSTIC as a new-style option.
|
32987 |
01-Feb-1998 |
bde |
Don't handle the `machine' symlink or related include paths here. bsd.kmod.mk now handles it more generally.
|
31783 |
16-Dec-1997 |
eivind |
Handle COMPAT_43 define -> option change.
|
25342 |
01-May-1997 |
jkh |
Merge 1.8.2.1 into -current.
|
24673 |
06-Apr-1997 |
dufault |
Make MOD_* macros almost consistent:
Use the name argument almost the same in all LKM types. Maintain the current behavior for the external (e.g., modstat) name for DEV, EXEC, and MISC types being #name ## "_mod" and SYCALL and VFS only #name. This is a candidate for change and I vote just the name without the "_mod".
Change the DISPATCH macro to MOD_DISPATCH for consistency with the other macros.
Add an LKM_ANON #define to eliminate the magic -1 and associated signed/unsigned warnings.
Add MOD_PRIVATE to support wcd.c's poking around in the lkm structure.
Change source in tree to use the new interface.
Reviewed by: Bruce Evans
|
22982 |
22-Feb-1997 |
peter |
Revert $FreeBSD$ back to $Id$
|
21673 |
14-Jan-1997 |
jkh |
Make the long-awaited change from $Id$ to $FreeBSD$
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.
|
21480 |
10-Jan-1997 |
mpp |
Add a man page for linux(8) (loads the Linux emulator kernel module).
|
18959 |
16-Oct-1996 |
sos |
Prepare kernel to take advantage of "branded" ELF binaries.
|
18026 |
03-Sep-1996 |
bde |
`struct linker_set execsw_set' was declared as const and pointers in it 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.
|
16726 |
25-Jun-1996 |
bde |
Fixed the `machine' link. It pointed to the wrong place, and was created too late to be used in all cases. It should probably be created (early) in bsd.kmod.mk for all LKMs.
Use cc instead of cpp | as for the same reasons as in the kernel makefile. CFLAGS isn't split up as well as in the kernel makefile, but cc doesn't pass compiler warning flags to cpp, so there is no need to split it.
|
14469 |
10-Mar-1996 |
peter |
linux_interp now moved into sys/i386/linux/linux_sysvec.c, but still connected at load and unload time from here.
|
14456 |
10-Mar-1996 |
sos |
First attempt at FreeBSD & Linux ELF support.
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 :)
|
14333 |
02-Mar-1996 |
peter |
Update the linux lkm to use the new file list and build routine. This is a bit of a kludge and needs more work.
|
13657 |
27-Jan-1996 |
rgrimes |
Add missing ${DESTDIR} to afterinstall: target.
|
13340 |
08-Jan-1996 |
peter |
No longer generate empty opt_sysvipc.h, and no longer issue -DSYSVSHM etc for the CFLAGS. Now, it tracks whatever the booted kernel has rather than being specifying what features your kernel has at lkm build time.
|
13289 |
06-Jan-1996 |
ache |
Add opt_sysvipc.h rules similar as in ibcs2 Makefile (make fails in old case)
|
13110 |
29-Dec-1995 |
sos |
Added SYSVSHM define
|
12276 |
14-Nov-1995 |
bde |
Changed the first (name) arg of MOD_DEV(), MOD_EXEC() and MOD_MISC() 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.
|
12250 |
13-Nov-1995 |
bde |
Replaced nosys() by lkm_nullcmd(). Always call lkm load/unload/stat functions instead of skipping the call if the function is nosys(). nosys() returned the wrong value as well as having the wrong type.
|
11857 |
28-Oct-1995 |
peter |
Do a pass over the broken LKM's and update them to use the "new" 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.
|
9313 |
25-Jun-1995 |
sos |
First incarnation of our Linux emulator or rather compatibility code. 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.
|