Commit Graph

2615 Commits

Author SHA1 Message Date
enami bda65c7816 Define local variable cpu_id only when either MULTIPROCESSOR or DIAGNOSTIC
is defined since it isn't used otherwise.
2001-05-01 04:30:04 +00:00
kleink 50d738a0f0 Add %j, %t and %z modifiers. 2001-04-30 21:29:45 +00:00
kml fc1ebff2b2 Large values of sb_max would cause an overflow in sbreserve(); cast to
u_quad_t to avoid this.  (from FreeBSD uipc_socket2.c v1.19)
2001-04-30 03:32:56 +00:00
bjh21 beb69f2aad Before allowing kgmon to do anything, check that we managed to allocate the
profiling buffer at startup.  If not, pretend the kernel doesn't have
profiling support at all.
2001-04-28 12:56:00 +00:00
jdolecek 27706951af Slighly improve comment for ltsleep(), the previous formulation might
be understood incorrectly (at least, it confused me at first, before
I looked at the actual code).
2001-04-27 08:00:03 +00:00
lukem cdf90834d5 put TAB after #defines 2001-04-27 06:07:27 +00:00
marcus 11ac2c3105 STDC cleanup: multi line string literal removed. 2001-04-27 00:06:11 +00:00
marcus b6240639a2 STDC cleanup: volatile needs to be cast away for lk_flags as well. 2001-04-27 00:05:13 +00:00
enami 5a6a17f734 Make sysctl_msgbuf() to copy message buffer to userland even if
the write pointer points to the beginning of message buffer.
2001-04-26 06:07:13 +00:00
thorpej c24c3604b0 SPINLOCK_INTERLOCK_RELEASE_HOOK should actually be
SPINLOCK_SPIN_HOOK, so that we actually check for
pending IPIs on the Alpha more than once.  Also,
when we call alpha_ipi_process(), make sure to go
to splipi().
2001-04-20 22:58:39 +00:00
thorpej a18eaa4cb6 Make sure there is there is a curproc in ltsleep(). 2001-04-20 17:58:49 +00:00
lukem 63a13d4499 use ${.CURDIR:H:H} instead of ../.. for default setting of SYSDIR,
because the latter doesn't work with objdirs
2001-04-18 11:21:24 +00:00
thorpej 5b35dc8136 When unmounting a file system, acquire the syncer_lock before
vfs_busy'ing just before the dounmount() call.  This is to avoid
sleeping with the mountlist_slock held -- but we must acquire
syncer_lock before vfs_busy because the syncer itself uses
syncer_lock -> vfs_busy locking order.
2001-04-16 22:41:09 +00:00
thorpej bf2dcec4f5 Remove the use of splimp() from the NetBSD kernel. splnet()
and only splnet() is allowed for the protection of data structures
used by network devices.
2001-04-13 23:29:55 +00:00
thorpej 4cb159296b Remove an splimp() that really has no purpose in life. 2001-04-12 03:08:42 +00:00
kleink fba80da1d1 Regen. 2001-04-10 11:06:20 +00:00
kleink c73bcbb0f8 Slight indentation nit. 2001-04-10 11:03:56 +00:00
enami c75004b245 Fix the name of some bits in struct vnode.v_flag. 2001-04-09 14:14:10 +00:00
jdolecek b6d1d4db02 Change the first arg to fileops fo_stat routine to struct file *, adjust
callers and appropriate routines to cope. This makes fo_stat more
consistent with rest of fileops routines and also makes the fo_stat
match FreeBSD as an added bonus.
Discussed with Luke Mewburn on tech-kern@.
2001-04-09 10:22:00 +00:00
jdolecek 16b1272b3f Add new 'stat' fileop and call the stat function via f_ops rather
than directly.
For compat syscalls, also add necessary FILE_USE()/FILE_UNUSE().
Now that soo_stat() gets a proc arg, pass it on to usrreq function.
2001-04-07 09:00:57 +00:00
jhawk 4f4abf46ee SYSDIR should be relative here, too.
And actually use it after we define it.

Optimize the find expression (use -prune over -path)
2001-04-05 19:49:40 +00:00
jhawk 0ee6a7e6e9 Remove grossly inefficient "! -path /sys/arch*" construct in favor of -prune.
Use a relative path (../..) instead of /sys.

Enhance the sed expression to work with .'s in paths.
Quote sed expressions in single quotes rather than double
quotes unless there's a good reason otherwise.
2001-04-03 16:56:16 +00:00
chs 702fa72b16 in bwrite(), when deciding whether to convert sync writes into delayed writes,
examine the filesystem contained in a block device rather than the filesystem
containing the block device vnode.  fixes PR 12484.
2001-04-01 16:16:56 +00:00
enami 2ceebb6c0e Remove unnecessary test of tp->t_linesw against NULL; they are results
of confusion while correcting compilation error after t_line is
replaced with t_linesw.
2001-03-31 00:35:21 +00:00
jdolecek 466a79b36b Make it possible to use different function for unimplemented syscalls
than sys_nosys().
2001-03-30 16:56:36 +00:00
fvdl 2c310ee4d5 Depending on the NAMECACHE_ENTER_REVERSE option, always enter reverse
mappings (vnode -> name) in the reverse mapping hash table. Without
this option, there is no change; only directories will be entered to
speed up getcwd. This is an option because it will cause getcwd
to hit longer hash chains, and at the moment its usefulness is
still limited.
2001-03-29 22:39:23 +00:00
lukem b4e2b14fe6 convert to ANSI KNF 2001-03-22 04:52:25 +00:00
thorpej 20fe4e2d96 Add a protosw flag, PR_ABRTACPTDIS (Abort on Accept of Disconnected
Socket), and add it to the protocols that use that behavior (all
PR_LISTEN protocols except for PF_LOCAL stream sockets).
2001-03-21 19:22:27 +00:00
pooka 6c3e28927e fix typo in comment 2001-03-17 09:38:36 +00:00
chs ac3bc537bd eliminate the KERN_* error codes in favor of the traditional E* codes.
the mapping is:

KERN_SUCCESS			0
KERN_INVALID_ADDRESS		EFAULT
KERN_PROTECTION_FAILURE		EACCES
KERN_NO_SPACE			ENOMEM
KERN_INVALID_ARGUMENT		EINVAL
KERN_FAILURE			various, mostly turn into KASSERTs
KERN_RESOURCE_SHORTAGE		ENOMEM
KERN_NOT_RECEIVER		<unused>
KERN_NO_ACCESS			<unused>
KERN_PAGES_LOCKED		<unused>
2001-03-15 06:10:32 +00:00
chs 941da355cf in getnewbuf(), when we need to write a buffer before reusing it,
return NULL instead of restarting the loop since we might sleep
while starting the i/o.  this tells getblk() to check if someone else
created the buffer while we slept.  from OpenBSD.
2001-03-10 18:43:55 +00:00
tsutsui d507b847c6 Declare constty extern. 2001-03-09 13:35:50 +00:00
chs 83d071a318 add UBC memory-usage balancing. we track the number of pages in use for
each of the basic types (anonymous data, executable image, cached files)
and prevent the pagedaemon from reusing a given page if that would reduce
the count of that type of page below a sysctl-setable minimum threshold.
the thresholds are controlled via three new sysctl tunables:
vm.anonmin, vm.vnodemin, and vm.vtextmin.  these tunables are the
percentages of pageable memory reserved for each usage, and we do not allow
the sum of the minimums to be more than 95% so that there's always some
memory that can be reused.
2001-03-09 01:02:10 +00:00
cgd d45416e707 when executing args in the ccode=0 case, send output to a tmp file and
(only if cmd exited successfully) use tmp file as input to sed pipeline.
This works around two issues:
(1) a pathological case where the script would fail in ... interesting
    ways if the command being executed closed its stdout.  (Certain
    commands are used only for their side effects, but not their output,
    and doing some testing on my own i got into hot water when one
    of my mods caused a command to close its output).
(2) the fact that genassym would succeed even when the command in
    fact failed (because the last cmd in the pipeline is the one whose
    exit status would be reported).
2001-03-06 02:20:18 +00:00
fvdl f28b5d3d94 Avoid spinning forever when hardclock() wants to grab the kernel lock
held by the reaper. From Bill Sommerfeld.
2001-03-05 20:38:21 +00:00
eeh 59c87936e0 Oops. Forgot to add this to execsw. Seems like SVR4 64 is not used much. 2001-03-03 01:46:04 +00:00
lukem de1c2690b6 convert to ANSI KNF 2001-02-27 05:19:13 +00:00
lukem 1fa336cced oops; accidentally dropped an initialisation in pollscan() in previous.
called poll() to fail in interesting ways. noted by chs/nathanw
2001-02-27 04:44:51 +00:00
lukem 602451ac6e convert to ANSI KNF 2001-02-26 21:58:30 +00:00
lukem 4637391f86 minor KNF 2001-02-26 21:09:57 +00:00
lukem 735e1dcaa8 convert to ANSI KNF 2001-02-26 20:43:25 +00:00
lukem 7fee352603 convert to ANSI KNF 2001-02-26 20:24:30 +00:00
jdolecek 5a8911a72d Call module "stat" entry where appropriate.
Problem reported and patch provided by SATOU Takashi in kern/12037.
2001-02-24 10:16:46 +00:00
nathanw 214bc3e43f All of our ports have reasonable cpu_coredump()'s that set
core.c_midmag. Garbage collect the "traditional dump" code that
handled the core.c_midmag == 0 case.
2001-02-23 22:01:50 +00:00
jdolecek 522f569810 make some more constant arrays 'const' 2001-02-21 21:39:52 +00:00
eeh 6a9224a06d Remove old compatibility hack. Should no longer be needed. 2001-02-21 00:47:21 +00:00
eeh 8a4a682091 Support flexible process address space limits and bump kernel version number. 2001-02-14 18:21:42 +00:00
itojun d64f080341 make sure we do not return shared M_EXT mbuf. it will avoid possible mbuf
overwrites if bridge/loopback/multicast/whatever is used.  sync with kame
2001-02-14 17:09:19 +00:00
itojun 02bc628319 add pfctlinput2() (pfctlinput() with args). 2001-02-11 06:38:45 +00:00
eeh 52af2be8e9 Add COMPAT_SVR4_32 entries. 2001-02-11 01:29:43 +00:00
eeh 24defd04da Rename the tablet line discipline "tablet". 2001-02-11 01:28:47 +00:00
thorpej b016744976 Don't uvm_deallocate() the address space in exit1(). The address
space is already torn down in uvmspace_free() when the vmspace
refrence count reaches 0.  Move the shmexit() call into uvmspace_free().

Note that there is a beneficial side-effect of deferring the unmap
to uvmspace_free() -- on systems where TLB invalidations are
particularly expensive, the unmapping of the address space won't
have to cause TLB invalidations; uvmspace_free() is going to be
run in a context other than the exiting process's, so the "pmap is
active" test will evaluate to FALSE in the pmap module.
2001-02-10 05:05:27 +00:00
itojun d1507261c4 return ECONNABORTED, if the socket (tcp connection for example)
is disconnected by RST right before accept(2).  fixes PR 10698/12027.
checked with SUSv2, XNET 5.2, and Stevens (unix network programming
vol 1 2nd ed) section 5.11.
2001-02-07 12:20:43 +00:00
eeh ec22628573 Move maxdmap and maxsmap where they belong and make them big enough. 2001-02-06 19:54:43 +00:00
eeh 4380259bc7 Specify a process' address space limits for uvmspace_exec(). 2001-02-06 17:01:51 +00:00
chs eef7499a6c in vtruncbuf(), pass 0 (meaning everything at or past the start of the range)
instead of the vnode's size to pgo_flush() since there can be pages past EOF.
in the same call, cast "lbn" to voff_t to avoid overflow.
2001-02-06 10:58:55 +00:00
pk 11c1f60120 When freeing a session, remove the reference to it from the associated tty. 2001-02-04 22:32:24 +00:00
eeh e938c4e842 *NEVER* cast a reference parameter (unless you're using C++). 2001-02-04 19:12:09 +00:00
mrg d4dfeaf200 add sunos32 support. 2001-02-02 07:30:22 +00:00
enami 6dcc7e3de4 Don't use PR_URGENT to allocate page header. We don't want to just panic
on memory shortage.  Instead, use the same wait/nowait condition with the
item requested, and just cleanup and return failure if we can't allocate
page header while we aren't allowed to wait.
2001-01-29 02:38:02 +00:00
thorpej cfa7048975 Regen; getpid(2) is MP-safe. 2001-01-27 07:48:28 +00:00
thorpej 8740614bad getpid(2), our first MP-safe syscall! 2001-01-27 07:47:26 +00:00
thorpej 1b6a66420e Regen; add sy_flags. 2001-01-27 07:23:06 +00:00
thorpej 1628dd441e Add a "sy_flags" to struct sysent, define a SYCALL_MPSAFE
system call flag (indicating that the kernel lock does not
need to be acquired when entering the kernel on that syscall).
2001-01-27 07:21:43 +00:00
itojun 6e24d735f0 when the peer is disconnected before accept(2) is issued,
do not return junk data in mbuf (= sockaddr on accept(2)'s 2nd arg).
set the length zero.

behavior checked with bsdi and freebsd.
partial solution to PR 12027 and 10698 (need more investigation).
2001-01-22 18:14:11 +00:00
jdolecek d9466585b7 make filesystem vnodeop, specop, fifoop and vnodeopv_* arrays const 2001-01-22 12:17:35 +00:00
jdolecek d0a540b250 rename vfs_op_init() to vfs_op_check() and make it only check the offsets
and number of ops, not touch anything - vnode_if.sh now generated
proper offset numbers; vfs_op_check() is only defined and called for DEBUG
kernels

constify extern declaration of vfs_op_descs[]
g/c vfs_opv_numops, use VNODE_OPS_COUNT instead
make vfs_opv_init_explicit() and vfs_opv_init_default() static
2001-01-22 09:57:25 +00:00
jdolecek c3f6f769a3 regen: *_desc are generated correctly, new VNODE_OPS_COUNT,
structures constified
2001-01-22 09:53:31 +00:00
jdolecek 950412b4f5 when generating individual *_desc, generate also proper offsets so that
then don't need to be patched at runtime
add new define VNODE_OPS_COUNT (to vnode_if.h) so that the number is known
at compile-time
make stuff const, it now can be
2001-01-22 09:52:21 +00:00
martin d1ff650a0c Regen after de-const-ing. 2001-01-19 12:24:09 +00:00
martin c9803fbf98 Remove over-const-ification.
This structures are actually modified at kernel init time by vfs_op_init.

XXX - looks like the state after initialization is pretty const and with
some magic in the generator script (and appropriate changes to vfs_op_init)
it could be made const.
2001-01-19 12:22:56 +00:00
jdolecek 34c8ae80da constify 2001-01-18 20:28:15 +00:00
thorpej 2f89e3d744 Explicitly include <machine/intr.h> if __HAVE_GENERIC_SOFT_INTERRUPTS. 2001-01-17 18:21:41 +00:00
fvdl ea08a209b5 Adapt for procfs_valid* argument change. 2001-01-17 01:13:23 +00:00
thorpej d74e432ed3 Make softclock a generic soft interrupt of the API is available,
adding the requisite void * argument to softclock().
2001-01-15 20:19:50 +00:00
thorpej 7200d34a76 Whenever ps_sigcheck is set to true, signotify() the process, and
wrap this all up in a CHECKSIGS() macro.  Also, in psignal1(),
signotify() SRUN and SIDL processes if __HAVE_AST_PERPROC is defined.

Per discussion w/ mycroft.
2001-01-14 22:31:58 +00:00
thorpej a624c70966 Use splvm(), not the home-grown splmem(). 2001-01-14 02:08:35 +00:00
thorpej b5104c1ca5 Change some low-hanging splimp() calls to splvm(). 2001-01-14 02:06:21 +00:00
cgd 926244ff0d nuke extra token (;) after #endif 2001-01-12 22:55:10 +00:00
fvdl 6907c4ded8 Do syscall_intern after p_traceflag has been copied to the new
process (if it is inherited), so that ktrace continues to work
properly on the child.
2001-01-09 23:36:50 +00:00
nathanw d75edd2077 Reserve system call slots for getcontext, setcontext, LWPs, and
scheduler activations.
2001-01-08 18:25:35 +00:00
chs 6717a2ac1b in vtruncbuf(), use a "synchronous freeing" flush to prevent a race
between write i/os in a disk-based filesystem vs. the disk block being
freed by a truncation, allocated to a new file, and written again with
different data.  if the disk driver reorders the requests and does
the second i/o first, the old data will clobber the new, corrupting
the new file.
2001-01-08 07:05:47 +00:00
jdolecek d7f811d098 utrace(2): limit size of user data to KTR_USER_MAXLEN (currently 2048); return EINVAL if 'len' is bigger 2001-01-05 22:25:26 +00:00
jdolecek 2bd5bf0ec2 regen after utrace() parameter rename 2001-01-05 21:53:38 +00:00
jdolecek fbc7e223d7 utrace(2): rename 'id' parameter to 'label' 2001-01-05 21:42:08 +00:00
thorpej eb80878b1b Happy new year! 2001-01-01 20:18:34 +00:00
jdolecek df458f620b Avoid generating duplicate SYS_* defines to *syscall.h - is possible
for kern/syscalls.master's sys_getpid()/sys_getpid_with_ppid().
This fixes kern/11853 by Bernd Ernesti.
2001-01-01 16:41:43 +00:00
sommerfeld aace86f946 MULTIPROCESSOR: The two calls to psignal() inside mi_switch() are
inside the scheduler lock perimeter and should be sched_psignal() instead.
2001-01-01 16:02:51 +00:00
ad e3514a4191 PR 4853: we fork a lot more during startup these days. Wrap nextpid to 500. 2000-12-31 17:43:41 +00:00
sommerfeld f2bdd546dd Add a missing simple_unlock() to the LK_NOWAIT/VXLOCK error case in vget(). 2000-12-31 03:13:51 +00:00
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
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
jdolecek d06ce6de86 set the EMUL_HAS_SYS___syscall flag for emul_netbsd 2000-12-01 19:41:49 +00:00
jdolecek 30760da04a no need to define emul_osf1, <compat/osf1/osf1_exec.h> defines it for us now
set execsw[] entrys' priority to appropriate values
2000-12-01 12:57:55 +00:00
jdolecek 01040d97a2 add e_path (emulation path) to struct emul, which replaces emulation-specific
*_emul_path variables

change macros CHECK_ALT_{CREAT|EXIST} to use that, 'root' doesn't need
to be passed explicitly any more and *_CHECK_ALT_{CREAT|EXIST} are removed
change explicit emul_find() calls in probe functions to get the emulation
path from the checked exec switch entry's emulation

remove no longer needed header files

add e_flags and e_syscall to struct emul; these are unsed and empty for now
2000-12-01 12:28:30 +00:00
nathanw be487a2752 Set doreallocblks=1 here. 2000-11-30 20:56:53 +00:00
jdolecek 7d3a48b31d recognize ^if and ^endif in input master syscall file specially - output it
like #if and #endif to sysdcl; this can be used to insert ifdefs
to generated *sysent.c
2000-11-29 22:09:05 +00:00
thorpej aa77dea4c2 No need to play silly name trickery when we know we're talking about
64-bit ELF binaries.
2000-11-28 21:58:12 +00:00
mrg 51858ad725 backout part of execsw/LKM changes: netbsd_elf32_signature() is used by
the compat/netbsd32 code so de-static it again.
2000-11-28 13:10:41 +00:00