Commit Graph

161 Commits

Author SHA1 Message Date
lukem dab6ef8b56 add RCSIDs (including regeneration of files as appropriate) 2001-11-13 02:07:52 +00:00
jdolecek ef8abe0767 Make the setregs hook emulation-specific, rather than executable
format specific.
Struct emul has a e_setregs hook back, which points to emulation-specific
setregs function. es_setregs of struct execsw now only points to
optional executable-specific setup function (this is only used for
ECOFF).
2001-09-18 19:36:32 +00:00
jdolecek 9edaceed67 g/c dead code 2001-09-17 17:47:47 +00:00
christos 0f380fac15 Add an e_trapsignal member to struct emul, so that emulated processes can
send the appropriate signal depending on the trap type.
2001-06-18 02:00:48 +00:00
thorpej 80cc38a1af Fix a partial construction problem that can cause race conditions
between creation of a file descriptor and close(2) when using kernel
assisted threads.  What we do is stick descriptors in the table, but
mark them as "larval".  This causes essentially everything to treat
it as a non-existent descriptor, except for fdalloc(), which sees a
filled slot so that it won't (incorrectly) allocate it again.  When
a descriptor is fully constructed, the code that has constructed it
marks it as "mature" (which actually clears the "larval" flag), and
things continue to work as normal.

While here, gather all the code that gets a descriptor from the table
into a fd_getfile() function, and call it, rather than having the
same (sometimes incorrect) code copied all over the place.
2001-06-14 20:32:41 +00:00
mrg 6a89288a37 use _KERNEL_OPT. 2001-05-30 11:37:21 +00:00
matt eae1312a70 Use NULL instead of an explicit cast. 2001-05-03 05:30:35 +00:00
thorpej 95a72e42de egen; getpid(2) is MP-safe. 2001-01-27 08:02:10 +00:00
thorpej 00d798f276 getpid(2) is MP-safe. 2001-01-27 07:59:58 +00:00
thorpej 1b6a66420e Regen; add sy_flags. 2001-01-27 07:23:06 +00:00
thorpej 009d2d725c Grok __HAVE_MINIMAL_EMUL and __HAVE_SYSCALL_INTERN. 2001-01-15 21:33:52 +00:00
simonb f514e805ed Move prototypes for mips_user_cachectl() and mips_user_cacheflush()
to <mips/cachectl.h>.
2001-01-07 04:13:16 +00:00
jdolecek 72014988d6 adapt to recent struct emul changes 2000-12-16 13:30:08 +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
jdolecek 217ab37653 split ecoff specific code to separate file ultrix_exec_ecoff.c 2000-12-09 12:19:28 +00:00
mycroft f348afacb9 Regen. 2000-12-09 05:37:01 +00:00
mycroft d47448bce6 Add the %% separators. 2000-12-09 05:31:10 +00:00
mycroft 9682cf0b09 Add the %% separators. 2000-12-09 05:27:28 +00:00
jdolecek 8e91e3f0bd make LKM safe 2000-12-01 19:26:57 +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
jdolecek 6626f506b3 LKMify 2000-11-30 19:05:26 +00:00
jdolecek 73f3cd8c7e LKMify 2000-11-29 21:51:49 +00:00
jdolecek baae0324b9 restructure struct emul and execsw, in preparation to make emulations LKMable:
* move all exec-type specific information from struct emul to execsw[] and
  provide single struct emul per emulation
* elf:
  - kern/exec_elf32.c:probe_funcs[] is gone, execsw[] how has one entry
    per emulation and contains pointer to respective probe function
  - interp is allocated via MALLOC() rather than on stack
  - elf_args structure is allocated via MALLOC() rather than malloc()
* ecoff: the per-emulation hooks moved from alpha and mips specific code
  to OSF1 and Ultrix compat code as appropriate, execsw[] has one entry per
  emulation supporting ecoff with appropriate probe function
* the makecmds/probe functions don't set emulation, pointer to emulation is
  part of appropriate execsw[] entry
* constify couple of structures
2000-11-21 00:37:49 +00:00
simonb f2df695c3b Update extern declarations of {hpux,ultrix}_syscallnames for change
to e_syscallnames in struct emul.  Untested on HP, but should be ok.
2000-11-19 12:47:51 +00:00
jdolecek 78b866e95a change the type of *syscallnames[] array to 'const char * const foo[]' 2000-11-13 21:32:15 +00:00
cgd 0199b04bef update for changed makesyscalls.master 2000-08-18 19:35:15 +00:00
cgd e539b49106 update for my change to makesyscalls.sh, and apparently previous
changes as well...
2000-08-18 19:25:37 +00:00
nisimura 7d6022a0db version[] string was const'ifed. Pointed out by Izumi Tsutsui. 2000-07-20 08:29:41 +00:00
mrg 13f211c52e remove include of <vm/vm.h>. <vm/vm.h> -> <uvm/uvm_extern.h> 2000-06-28 15:39:24 +00:00
simonb 3c359c262d The size of the members of struct ultrix_utsname were nothing like
reality - adjust and fill in "version" the same way that some other
compat routines do.  An Ultrix "uname -a" returns something meaninful
now instead of just "NetBSD     ".
2000-04-28 12:52:52 +00:00
augustss a82aeb5508 Kill register declarations. 2000-03-30 11:24:16 +00:00
simonb 2f1fef39b3 Centralise the declarations of cpu_model, machine, machine_arch,
osrelease, and ostype and remove "extern char foo[];" (for hostname
and domainname too).

Also delete redunctant decl of boottime in kern_info_43.c.
2000-03-28 23:57:24 +00:00
kleink 230876cf26 Merge parts of chs-ubc2 into the trunk:
* Remove the casts to vaddr_t from the round_page() and trunc_page() macros to
  make them type-generic, which is necessary i.e. to operate on file offsets
  without truncating them.
* In due course, cast pointer arguments to these macros to an appropriate
  integral type (paddr_t, vaddr_t).

Originally done by Chuck Silvers, updated by myself.
2000-03-26 20:42:21 +00:00
thorpej 2c358fca82 Update for new msgctl()/semctl()/shmctl() calls. 1999-08-25 04:52:06 +00:00
drochner 44b56d917e regen 1999-07-30 16:04:41 +00:00
drochner 287f2ffe69 emulate fcntl(F_SETLK) & Co.
(seti@home works now:-)
1999-07-30 16:03:49 +00:00
kleink dfa5aad003 Regen. 1999-07-12 22:04:00 +00:00
kleink e79a283e47 XSH5: change function signature to `void *sbrk(intptr_t)'. 1999-07-12 21:55:19 +00:00
thorpej e3669c3393 Add "use counting" to file entries. When closing a file, and it's reference
count is 0, wait for use count to drain before finishing the close.

This is necessary in order for multiple processes to safely share file
descriptor tables.
1999-05-05 20:01:01 +00:00
simonb 8a8e8d144f Shut 'gcc -Wuninitialized' up. 1999-04-25 02:42:01 +00:00
christos 908adf3eef Regen 1999-02-09 20:31:43 +00:00
christos a30a9f3d94 const poisoning and CHECK_ALT_CREAT fixes. 1999-02-09 20:30:38 +00:00
drochner ba4af3c3de regen 1998-12-18 18:59:06 +00:00
drochner b71f154130 remove compat_xxx dependencies where they don't belong 1998-12-18 18:49:59 +00:00
christos f0c7751046 Regen 1998-12-10 17:13:06 +00:00
christos b0b86b5b7f Defopt COMPAT_43 1998-12-10 17:03:19 +00:00
sommerfe 6f6b09a92a s/SunOS/Ultrix/ in comment 1998-10-26 18:31:01 +00:00
matt 3ad026ac87 vax -> __vax__ (and mips to __mips__ in ultrix_misc.c) 1998-10-20 01:46:27 +00:00
tron eb17acb9b3 Defopt SYSVMSG, SYSVSEM and SYSVSHM. 1998-10-19 22:43:58 +00:00
eeh 0a89614e93 Fixup big-endian syscall args. 1998-10-03 19:45:37 +00:00