Commit Graph

2422 Commits

Author SHA1 Message Date
jdolecek e9e91a0fb5 split off thread specific stuff from struct sigacts to struct sigctx, leaving
only signal handler array sharable between threads
move other random signal stuff from struct proc to struct sigctx

This addresses kern/10981 by Matthew Orgass.
2000-12-22 22:58:52 +00:00
fvdl 0d4862bed1 Regen. 2000-12-22 20:07:09 +00:00
fvdl 8eaf6e8d8e Make that defined(LKM) || defined(_LKM), to catch both the cases
of compiling a kernel with LKM support and compiling an LKM.
2000-12-22 20:05:35 +00:00
fvdl 2ac441ddfb LKM -> _LKM around opt_ include. 2000-12-22 20:00:16 +00:00
mrg 264248925f regen 2000-12-22 15:10:38 +00:00
mrg 80ab63644e redo the previous correctly 2000-12-22 15:09:46 +00:00
mrg af36640df1 regen 2000-12-22 14:59:40 +00:00
mrg 62230909f1 avoid redefinition of VNODE_OP_NOINLINE 2000-12-22 14:58:39 +00:00
mrg a0e71c9ca7 avoid redefinition of VNODE_OP_NOINLINE 2000-12-22 14:45:50 +00:00
scw 96698d967e Change struct emul's "char e_name[8]" field to "const char *e_name"
to allow for emulation names >= 8 characters.
2000-12-19 22:08:36 +00:00
mrg 7284657373 only print the magic number changing if not cold 2000-12-19 04:39:19 +00:00
jdolecek 5c6130a2b1 hum, use freebsd_setregs for FreeBSD ELF binaries (this bug was introduced with
the execsw[] changes)
2000-12-17 21:36:49 +00:00
fvdl 89b5cfa9c5 Jump out of the scandir loop if VOP_READDIR returns an error, avoiding
running around in circles.
2000-12-15 11:52:14 +00:00
mycroft b29180b2ff Tighten up the ELF signature checks, and actually look for the ABI tag added
in newer glibc versions.
2000-12-15 06:14:21 +00:00
jdolecek 03354da279 this doesn't need <sys/trace.h> 2000-12-13 17:48:46 +00:00
jdolecek 0c74ffb7fd if the third argument in syscall.conf matches [a-z0-9_], use it as
a function alias instead of the function name in { ... }
2000-12-12 17:32:45 +00:00
martin ac28b114d2 Make this compilable again on ports without __HAVE_SYSCALL_INTERN. 2000-12-11 19:53:06 +00:00
mycroft 11fcbfe7a6 Call e_syscall_intern every time ktrace flags are modified. 2000-12-11 16:39:01 +00:00
tsutsui aaa48a8d25 Use USPACE_ALIGN for an alignment argument on allocating U-area.
The default value is 0, and could be overridden by machine/vmparam.h.
2000-12-11 15:35:42 +00:00
mycroft f495cd9dc6 Introduce 2 new flags in types.h:
* __HAVE_SYSCALL_INTERN.  If this is defined, e_syscall is replaced by
  e_syscall_intern, which is called at key places in the kernel.  This can be
  used to set a MD syscall handler pointer.  This obsoletes and replaces the
  *_HAS_SEPARATED_SYSCALL flags.
* __HAVE_MINIMAL_EMUL.  If this is defined, certain (deprecated) elements in
  struct emul are omitted.
2000-12-11 05:28:59 +00:00
thorpej 105cf38061 Add some basic statistics to pool_cache. 2000-12-11 05:22:55 +00:00
fvdl 405b695086 Make sobind() take a struct proc *. It already took curproc and
passed it down to the appropriate usrreq function, and this
allows usage for contexts that need to be explicitly different
from curproc (like in the NFS code when binding to a reserved port).
2000-12-10 23:16:28 +00:00
mycroft 66610a4779 Introduce PROC_PC(), which is used to get a process's user PC. If this is
defined, call addupc_intr() directly from statclock() in the system time case,
using the same P_OWEUPC path if the copyin/copyout fails.
Use this in i386 to remove profiling code from the normal userret() path.
2000-12-10 19:29:30 +00:00
thorpej ce866cd0e8 Don't hold a pool cache lock across any call to pool_get() or pool_put().
This allows us to change a try-lock into a normal lock in the reclaim
case.
2000-12-10 17:03:34 +00:00
fvdl 538c381225 findblkname is not static (and is in fact used outside this file). 2000-12-10 14:14:15 +00:00
jdolecek 7a2157f1f3 emul_unregister(): fix incorrect loop condition - execsw[] is not NULL
terminated
2000-12-10 12:42:30 +00:00
jdolecek 9b6d040095 fork1(): write the ktrace entry before the parent is put to sleep for
FORK_PPWAIT case, so that this DTRT for vfork() too
2000-12-10 11:41:20 +00:00
jdolecek a6ca890142 always fill in e_syscall in respective emul_*; if the emulation doesn't
have it's own separated *_syscall() function, use syscall()
2000-12-09 12:38:23 +00:00
mycroft acbeba20e1 Fix compile glitch. 2000-12-09 07:17:32 +00:00
mycroft 547de8a6a3 Regen. 2000-12-09 07:05:10 +00:00
mycroft 02d8d5f9bf Define 3 new functions:
* sys_getpid_with_ppid()
* sys_getuid_with_euid()
* sys_getgid_with_egid()
that do the retval[1] hack.  Use them when COMPAT_43 is defined.
2000-12-09 07:04:47 +00:00
mycroft 51e3b887d7 Regen. 2000-12-09 06:19:40 +00:00
mycroft e2743f72a9 Round up the sysent table size. 2000-12-09 06:15:42 +00:00
mycroft 8cb9be1967 s/unimplemented/filler/ 2000-12-09 05:41:12 +00:00
mycroft f348afacb9 Regen. 2000-12-09 05:37:01 +00:00
mycroft 23284f8acf Add another const. 2000-12-09 05:33:27 +00:00
mycroft 9682cf0b09 Add the %% separators. 2000-12-09 05:27:28 +00:00
mycroft 060456b651 Couple of changes:
* Make the syscallnames[] table const.
* Add a separator between the #include section and the syscalls section, so
  that #if/#else/#endif can be handled differently in the two.
* Add support for rounding up the size of the sysent table.
2000-12-09 05:27:08 +00:00
jdolecek a65f2129f3 call exec_init() with before letting init(8) exec 2000-12-08 22:07:36 +00:00
jdolecek 0576f87ad3 add infrastructure to load emulations and their executable support dynamically
via LKM
2000-12-08 19:42:11 +00:00
augustss 246260555f Use correct type for todo variable.
Use more explicit panics messages.
2000-12-08 02:25:50 +00:00
thorpej 21ca07bb5c ...and when freeing cache groups, clear `freeto' if that's the one
we're freeing.
2000-12-07 21:30:07 +00:00
thorpej 3e9d93b241 When we invalidate a pool cache, make sure to clear `allocfrom' if
we empty out that cache group.
2000-12-07 20:16:56 +00:00
thorpej 1a658211bc Add a /c modifier to "show pool" to display pool caches. 2000-12-07 19:30:31 +00:00
jdolecek 6ae23b9300 update comment about the sense of placement of NDINIT() 2000-12-07 16:14:35 +00:00
thorpej 7553470722 This is a first-cut implementation of support for caching of
constructed objects in the pool allocator, similar to caching
of constructed objects in the Solaris SLAB allocator.

This implementation is a separate API (pool_cache_*()) layered
on top of pools to keep the caching complexity out of the way
of pools that won't benefit from it.

While we're here, allow pool items to be as large as the pool
page size.
2000-12-07 05:45:57 +00:00
thorpej 581799e1f8 ANSI'ify. 2000-12-06 18:20:52 +00:00
thorpej 131ac36401 pool_handle_t -> struct pool * 2000-12-06 18:05:57 +00:00
scw 6afa06dad6 Add support for COMPAT_AOUT_M68K. 2000-12-02 20:44:09 +00:00
jdolecek fc181f91c6 use EMUL_GETPID_PASS_PPID or EMUL_GETID_PASS_EID to find out if one should
pass parent pid for getpid() or effective id for get[ug]id(), instead
of compile-time dependency
2000-12-01 20:34:17 +00:00