Revision tags: release/6.4.0_cvs, release/6.4.0 |
|
#
9e51595c |
| 02-Sep-2008 |
Warner Losh <imp@FreeBSD.org> |
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.
|
Revision tags: release/7.0.0_cvs, release/7.0.0, release/6.3.0_cvs, release/6.3.0 |
|
#
a96811b1 |
| 23-May-2007 |
Konstantin Belousov <kib@FreeBSD.org> |
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
|
#
1c182de9 |
| 23-May-2007 |
Konstantin Belousov <kib@FreeBSD.org> |
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
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
show more ...
|
Revision tags: release/6.2.0_cvs, release/6.2.0 |
|
#
3680a419 |
| 29-Oct-2006 |
Alexander Leidinger <netchild@FreeBSD.org> |
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 solve
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
show more ...
|
#
6a1162d4 |
| 15-Oct-2006 |
Alexander Leidinger <netchild@FreeBSD.org> |
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 f
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>
show more ...
|
#
adfa0ade |
| 15-Aug-2006 |
Alexander Leidinger <netchild@FreeBSD.org> |
- 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 comm
- 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
show more ...
|
Revision tags: release/5.5.0_cvs, release/5.5.0, release/6.1.0_cvs, release/6.1.0 |
|
#
060e4882 |
| 05-May-2006 |
Doug Ambrisko <ambrisko@FreeBSD.org> |
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
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
show more ...
|
#
5c8919ad |
| 18-Mar-2006 |
Alexander Leidinger <netchild@FreeBSD.org> |
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)
|
#
972e95c8 |
| 26-Jan-2006 |
Alan Cox <alc@FreeBSD.org> |
opt_vmpage.h is no longer needed here because it is not included by vm_page.h.
|
Revision tags: release/6.0.0_cvs, release/6.0.0 |
|
#
82292344 |
| 15-Oct-2005 |
Yaroslav Tykhiy <ytykhiy@gmail.com> |
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 i
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
show more ...
|
#
e8b2943f |
| 04-Jun-2005 |
Warner Losh <imp@FreeBSD.org> |
Move MAINTAINER documentation to MAINTAINERS
|
Revision tags: release/5.4.0_cvs, release/5.4.0, release/4.11.0_cvs, release/4.11.0, release/5.3.0_cvs, release/5.3.0, release/4.10.0_cvs, release/4.10.0, release/5.2.1_cvs, release/5.2.1, release/5.2.0_cvs, release/5.2.0 |
|
#
3193579b |
| 19-Nov-2003 |
Warner Losh <imp@FreeBSD.org> |
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 Remo
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)
show more ...
|
Revision tags: release/4.9.0_cvs, release/4.9.0, release/5.1.0_cvs, release/5.1.0, release/4.8.0_cvs, release/4.8.0 |
|
#
ca26842e |
| 03-Feb-2003 |
Hajimu UMEMOTO <ume@FreeBSD.org> |
Add IPv6 support for Linuxlator.
Reviewed by: dwmalone MFC after: 10 days
|
Revision tags: release/5.0.0_cvs, release/5.0.0, release/4.7.0_cvs |
|
#
c503d870 |
| 08-Sep-2002 |
Peter Wemm <peter@FreeBSD.org> |
opt_kstack_pages.h is not needed anymore. It would have been a Bad Thing if it had been different to the running kernel.
|
#
27d29f42 |
| 07-Sep-2002 |
Thomas Moestl <tmm@FreeBSD.org> |
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
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.
show more ...
|
Revision tags: release/4.6.2_cvs, release/4.6.2 |
|
#
eddc160e |
| 02-Aug-2002 |
Robert Watson <rwatson@FreeBSD.org> |
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 particula
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
show more ...
|
Revision tags: release/4.6.1, release/4.6.0_cvs |
|
#
c444f617 |
| 19-May-2002 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Hook up the new linux_ptrace implementation.
PR: 33299 Submitted by: Alexander N. Kabaev <ak03@gte.com>
|
#
bea8bf95 |
| 22-Feb-2002 |
Dag-Erling Smørgrav <des@FreeBSD.org> |
(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 aa
(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)
show more ...
|
Revision tags: release/4.5.0_cvs, release/4.4.0_cvs |
|
#
ee3c29eb |
| 10-Jan-2002 |
Mike Smith <msmith@FreeBSD.org> |
genassym depends on the presence of common variables, disable the use of -fno-common in this case.
|
#
5c465126 |
| 18-Nov-2001 |
Marcel Moolenaar <marcel@FreeBSD.org> |
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
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!
show more ...
|
#
5002a60f |
| 08-Sep-2001 |
Marcel Moolenaar <marcel@FreeBSD.org> |
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,
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.
show more ...
|
#
055d4956 |
| 29-Aug-2001 |
Andrew Gallatin <gallatin@FreeBSD.org> |
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
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
show more ...
|
Revision tags: release/4.3.0_cvs, release/4.3.0 |
|
#
481d7a58 |
| 04-Feb-2001 |
Peter Wemm <peter@FreeBSD.org> |
Zap obsolete (died with LKM) EXPORT_SYMS variable
|
#
e4b36f7d |
| 07-Jan-2001 |
Peter Wemm <peter@FreeBSD.org> |
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 excludi
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.
show more ...
|
#
c68159a6 |
| 06-Jan-2001 |
David E. O'Brien <obrien@FreeBSD.org> |
Use a consistent style and one much closer to the rest of /usr/src
|