Commit Graph

2425 Commits

Author SHA1 Message Date
jdolecek
7899fd7798 regen - utrace(2) addition 2000-12-28 11:16:48 +00:00
jdolecek
a80dee65df add utrace(2) - this syscall allows to add user ktrace entries
idea from FreeBSD, but added argument (const char *id) so that it's possible
to differentiate between entries from different sources
2000-12-28 11:10:15 +00:00
jmc
ca607b87cf Default lock_printf to syslog rather than printf. Some of the lock debug checks
are done inside of wakeup which is holding the sched lock. Printf can cause
wakeup to get called again (pty redirection of console message) which will
panic with sched lock already held.

This isn't a long term fix as not being able to printf vs. sched lock should
be cleaned up better but this avoids continual panics with lockdebug running
and an xterm -C.
2000-12-24 23:56:24 +00:00
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