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