Commit Graph

24 Commits

Author SHA1 Message Date
dsl b8fbaf8c4b Change the way that emulations locate files within the emulation root to
avoid having to allocate space in the 'stackgap'
  - which is very LWP unfriendly.
The additional code for non-emulation namei() is trivial, the reduction for
  the emulations is massive.
The vnode for a processes emulation root is saved in the cwdi structure
  during process exec.
If the emulation root the TRYEMULROOT flag are set, namei() will do an initial
  search for absolute pathnames in the emulation root, if that fails it will
  retry from the normal root.
".." at the emulation root will always go to the real root, even in the middle
  of paths and when expanding symlinks.
Absolute symlinks found using absolute paths in the emulation root will be
  relative to the emulation root (so /usr/lib/xxx.so -> /lib/xxx.so links
  inside the emulation root don't need changing).
If the root of the emulation would be returned (for an emulation lookup), then
  the real root is returned instead (matching the behaviour of emul_lookup,
  but being a cheap comparison here) so that programs that scan "../.."
  looking for the root dircetory don't loop forever.
The target for symbolic links is no longer mangled (it used to get the
  CHECK_ALT_xxx() treatment, so could get /emul/xxx prepended).
CHECK_ALT_xxx() are no more. Most of the change is deleting them, and adding
  TRYEMULROOT to the flags to NDINIT().
A lot of the emulation system call stubs could now be deleted.
2007-04-22 08:29:55 +00:00
tron 3a715a0a6f Don't build "freebsd_ptrace.c" anymore. ptrace(2) support is optional now
and we can't tell for the LKM whether the kernel supports it or not.
2006-08-31 13:25:50 +00:00
christos 95e1ffb156 merge ktrace-lwp. 2005-12-11 12:16:03 +00:00
rpaulo 6459ccf2df Add freebsd_sysctl.c 2005-09-02 14:34:53 +00:00
rpaulo 5530080d86 Add freebsd_sched.c 2005-09-02 13:34:46 +00:00
perry 477853c351 nuke trailing whitespace 2005-02-26 22:58:54 +00:00
jdolecek 8ad945a36b add freebsd_fork.c 2002-11-28 21:55:48 +00:00
lha f882e535ec deal with the .s -> .S change for i386 2002-11-23 02:15:45 +00:00
lukem 00255d260d define NOMAN= once, at the top level 2001-12-12 11:44:43 +00:00
tv 8e6f7afb5b MKfoo=no -> NOfoo 2001-12-12 01:48:43 +00:00
lukem f5e6ca8797 add RCSIDs 2001-11-12 23:22:57 +00:00
jdolecek a24e94e460 Move the compat_util.c handling to lkm/compat/Makefile.inc. The users
are expected to set COMPAT_UTIL_OVERRIDE to preferred emulation name
prefix.
Use this for compat_freebsd and compat_linux LKMs.
2001-10-27 12:09:34 +00:00
jdolecek ca8ea62791 add freebsd_syscall.c 2000-12-18 20:50:09 +00:00
jdolecek 5803fc683f add emul_find() goo, so that this doesn't depend on emul_find() being already
present in kernel
add (commented out) COMPAT_43, COMPAT_12, COMPAT_09 stuff needed for this
LKM to load
2000-12-17 16:20:23 +00:00
jdolecek aca80bc6f2 use LKM name "compat_FOO", which matches name of the resulting LKM .o file 2000-12-17 16:00:37 +00:00
enami 53c37af153 Cosmetic changes. 2000-12-13 11:18:37 +00:00
jdolecek e6c64e055f add build glue for supported emulations
since only linux compat on i386 is installed, only that LKM is actually
installed (LKMs are build for all platforms as appropriate though)
further changes to compat code would need to happen to make this usable
also for other plaforms or emulations
2000-12-08 20:15:11 +00:00
lukem dcab0210a0 convert from NOxxx= to MKxxx=no.
include <bsd.own.mk> if testing a MKxxx variable.
1999-02-13 02:54:17 +00:00
lukem f984b5a5dc use CPPFLAGS instead of CFLAGS 1997-10-26 21:50:53 +00:00
jtc 9784de474e copyright assigned to TNF 1997-05-19 22:11:12 +00:00
explorer 239580d5d0 Clean up changes to make sys/lkm build again 1996-10-22 19:43:13 +00:00
explorer 03d7e64aaa Make this compile again for i386 1996-10-22 19:32:06 +00:00
mrg 3b78ac59ad Update these to build in a consistant manner, and not assume /sys, etc.
Should work with obj dirs but not heavily tested.
1996-08-23 05:38:53 +00:00
explorer f190d66387 Add the lkm stuff I've been working on to the tree.
This mostly works -- see the README file in sys/lkm for more information
on what does and doesn't.  I'm putting this in here mainly to help speed
development and such to make this useful sooner.
1996-08-22 20:18:07 +00:00