Commit Graph

320 Commits

Author SHA1 Message Date
cgd 21c7b563a8 msghdr and x/open iovec structs 1999-05-10 03:58:50 +00:00
cgd 99cc65e9ba regen 1999-05-10 03:34:20 +00:00
cgd 4bf16b94f4 old accept -> compat_43_sys_accept 1999-05-10 03:33:04 +00:00
cgd bf29d6c987 regen 1999-05-10 03:00:27 +00:00
cgd 1c05179cd4 usleep_thread: round ticks up, don't sleep forever, use better wchan 1999-05-10 02:55:57 +00:00
cgd 1e2f18cb6a listen is the same as native 1999-05-10 02:54:57 +00:00
cgd f7c70eaf0e regen 1999-05-10 01:59:41 +00:00
cgd 726fed408a plink, plink.... socketpair! 1999-05-10 01:58:37 +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
cgd 3b5a8a7db7 shuffle (sort) 1999-05-05 01:51:31 +00:00
cgd 5e1a5ebf21 clean up sigset_t manipulation macros 1999-05-05 00:57:43 +00:00
cgd ceff265279 shuffle (alphabetize) 1999-05-05 00:48:30 +00:00
cgd ff38fb6396 regen 1999-05-04 05:23:05 +00:00
cgd e7f2a6f938 stub classcntl(). for now, it returns ENOSYS. (a stub for classcntl()
was suggested by Anders Magnusson <ragge@ludd.luth.se>.)
1999-05-04 05:17:22 +00:00
cgd e24a4116bc add a few XXXs 1999-05-04 05:11:03 +00:00
cgd debeb21304 regen 1999-05-04 05:00:21 +00:00
cgd ab7cdebda6 emulate shm*(), but only so far as to return ENOSYS for now (until
they're really needed).  put them in their own file because when we
need to emulate them, they'll need a bunch of code.
1999-05-04 04:59:21 +00:00
cgd 2165378111 add a 'clean' target to nuke files built from syscalls.master, so that
it's easier to commit non-generated files all at once.
1999-05-04 04:56:44 +00:00
cgd d0937ee8b6 don't pull in osf1_syscall.h 1999-05-04 02:45:35 +00:00
cgd 15e8e0d207 IPC key_t 1999-05-04 02:44:43 +00:00
cgd 759a1e3cd7 regen 1999-05-04 02:12:33 +00:00
cgd bd7a54454d pathconf/fpathconf 1999-05-04 02:12:15 +00:00
cgd a0a7b0de30 protection-related bits -> osf1_prot.c 1999-05-01 05:49:01 +00:00
cgd ca7738a519 clean up ordering, add a comment or two 1999-05-01 05:43:52 +00:00
cgd 12df8bf0da {get,set}rlimit, getrusage -> osf1_resource.c 1999-05-01 05:41:56 +00:00
cgd 8d9e0684d2 descriptor-frobbing syscalls (fstat, fcntl(), lseek(), etc.) ->
osf1_descrip.c.
1999-05-01 05:34:59 +00:00
cgd 39ba96ee96 utimes() belongs here 1999-05-01 05:33:36 +00:00
cgd 789e810c20 get/settimeofday, interval timers -> osf1_time.c 1999-05-01 05:25:37 +00:00
cgd bf9d06e035 typical filename using syscalls (open(), access(), execve(), etc.) -> osf1_file.c 1999-05-01 05:18:01 +00:00
cgd deeb289def sys_generic-ish bits move to osf1_generic.c 1999-05-01 05:06:46 +00:00
cgd f493e92106 clean up vm-related headers 1999-05-01 04:59:42 +00:00
cgd d3b6da7da3 and the socket calls move 1999-05-01 04:57:15 +00:00
cgd ffc61cf092 shuffle some conversion bits around that were missed earlier 1999-05-01 04:47:00 +00:00
cgd 9cc30ed036 needs mount.h 1999-05-01 04:38:39 +00:00
cgd 2d25ceb2d2 pull in compat_util.h 1999-05-01 04:38:20 +00:00
cgd e42f7d331f move mmap() and related functions into their own file 1999-05-01 04:34:20 +00:00
cgd 170b003d0b shuffle bits around. separate conversion conversion functions and tables
from the code that uses them, just as I previously separated out the
OSF/1 definitions and structures from the code that translates to and
from them.
1999-05-01 02:57:08 +00:00
cgd 38da682259 Moved to osf1_cvt_errno.c,v 1999-05-01 02:16:01 +00:00
cgd 333154d794 Moved from osf1_errno.c,v 1999-05-01 02:16:00 +00:00
cgd 1bce8c40fc ep_arglen is in units of 'sizeof (char *)', not in units of bytes. use
howmany(value, sizeof (char *)) to get the right value.
1999-04-30 23:02:06 +00:00
cgd 5a93f3c9b1 emulate wait4(), put some guts into sysinfo(), and redo fcntl()
F_{GET,SET}FL emulation.
1999-04-30 05:25:34 +00:00
cgd 28410181b2 return error if unsupported sigaltstack flags used 1999-04-30 05:24:04 +00:00
cgd a928d381b2 regen 1999-04-30 04:36:04 +00:00
cgd d2d8e961fe emulate wait4, clean up sigreturn args, emulate {get,set}domainname 1999-04-30 04:33:51 +00:00
cgd e836b093b4 nuke most fcntl() F* flags, and note that O_* should be used instead. 1999-04-30 04:31:45 +00:00
cgd c21c5d0c2d systeminfo.h SI_* constants, wait.h W{NOHANG,UNTRACED}, plus spacing cleanup 1999-04-30 02:12:03 +00:00
cgd afe914207b we can actually setitimer() now 1999-04-30 01:57:27 +00:00
cgd 94a4e36ed2 use osf1-specific sigcode 1999-04-30 01:46:09 +00:00
cgd 6abb3f7b37 regen 1999-04-29 23:39:55 +00:00
cgd 59c243a0b7 emulate setitimer(), but for now just return EINVAL. stub sysinfo() (XXX). 1999-04-29 23:37:23 +00:00
cgd e9bc2c7ae3 need to emulate setitimer and sysinfo 1999-04-29 22:08:49 +00:00
cgd 2b9f4ca12d in NetBSD, top 32 bits of ioctl com are always 0 1999-04-29 17:34:49 +00:00
thorpej 0792acce0d Regen. 1999-04-29 17:20:37 +00:00
thorpej fb1f070eba Add entry for set_program_attributes(). 1999-04-29 17:19:47 +00:00
thorpej 8ef6e2a635 Implement set_program_attributes(). 1999-04-29 17:18:59 +00:00
cgd a509481404 itimerval and related constants 1999-04-29 05:54:13 +00:00
cgd ee325de1bb regen for syscalls.master 1999-04-29 02:11:51 +00:00
cgd 1041a1c770 emulate access() and mprotect(), hook into COMPAT_43 get{peer,sock}name 1999-04-29 02:10:07 +00:00
cgd f4507cddca mprotect() and access() 1999-04-29 02:08:58 +00:00
cgd cc4f9f6afb access() flags 1999-04-29 02:06:50 +00:00
cgd 52b80ff167 fix some bugs (good to get to the point where bug-fixing is an issue!):
* when copying out the timezone in gettimeofday, don't accidentally copy
  out the timeval again (into the timezone buffer).
* mmap() PROT_WRITE and PROT_EXECUTE imply PROT_READ.
1999-04-28 06:01:51 +00:00
cgd 278f92716f regen for updated syscalls.master 1999-04-28 05:10:38 +00:00
cgd d3708a1699 more timeval-related lossage. fixed some fns, added settimeofday & utimes 1999-04-28 05:09:47 +00:00
cgd fc1142ac44 be more careful about getting the exec_name emul arg field 1999-04-28 02:49:38 +00:00
cgd a61beae31e regen for changed syscalls.master 1999-04-28 02:34:47 +00:00
cgd a9deaa593a emulate select(), to get the timeval right.
And CGD said, "Let there be eyes!"  And there were eyes, and it was good.
1999-04-28 02:34:25 +00:00
cgd 4c9a03c3b3 do easy 'f'-class ioctls 1999-04-28 02:16:07 +00:00
cgd 3cca776d42 regen for changed syscalls.master 1999-04-28 02:03:45 +00:00
cgd 28561f9679 can't use system gettimeofday, and need to implement uname 1999-04-28 02:03:13 +00:00
cgd 93e2cb1a1e uname, gettimeofday 1999-04-28 02:02:50 +00:00
cgd ccd0018aca uname and timezone structures, and some minor cleanup 1999-04-28 02:00:36 +00:00
cgd 6e5469dc42 implement osf1_sys_madvise() 1999-04-27 18:45:22 +00:00
cgd 3cb15b5b9b regen for changed syscalls.master 1999-04-27 18:41:37 +00:00
cgd df6ae494ef fix madvise args 1999-04-27 18:40:53 +00:00
cgd 99df19a561 madvise operation definitions 1999-04-27 18:38:07 +00:00
cgd 3d0c9ec2a8 kill a couple of debugging printfs i accidentally left in 1999-04-27 17:56:52 +00:00
cgd 8f40430549 regen for changed syscalls.master 1999-04-27 17:53:11 +00:00
cgd 6b9bb2a3cb fix getrusage args 1999-04-27 17:52:44 +00:00
cgd 009c460d25 emulate getrusage, add some XXXs 1999-04-27 17:50:59 +00:00
cgd 9a71b695bd osf1_timeval and osf1_rusage and related constants 1999-04-27 17:50:23 +00:00
cgd 44cbebec30 note that his should be shot from a cannon 1999-04-27 16:09:28 +00:00
cgd 1f9cfb5d53 update for current reality 1999-04-27 16:08:40 +00:00
cgd f355b96b7a note that this document is now out of date 1999-04-27 06:39:49 +00:00
cgd 7e3ad9e963 evil hack to work around non-fixed mmap requests 1999-04-27 06:37:12 +00:00
cgd 6ef8f59ae6 dynamic executable/loader handling, done right 1999-04-27 05:38:08 +00:00
cgd 743038a6cb clean up for ecoff_machdep.h changes, look for the loader 1999-04-27 03:19:44 +00:00
cgd fe6198f6e2 do special OSF/1-specific ECOFF recognition (not yet complete), and
implement a copyargs function to do special argument copying for
emulated processes.
1999-04-27 01:45:03 +00:00
cgd bd33916784 exec internals have been moved (and improved) to osf1_exec.c. Not much
there yet, but more to come.
1999-04-26 18:34:05 +00:00
cgd bd947212ac major(), minor(), and makedev() 1999-04-26 06:10:36 +00:00
cgd 9524149336 use fcntl() flags from osf1.h, map all of them 1999-04-26 05:57:53 +00:00
cgd 1904f78fb5 fcntl() flags 1999-04-26 05:56:34 +00:00
cgd 6d24aedc2c table-based translation of sigaction and sigaltstack flags 1999-04-26 05:35:08 +00:00
cgd 635a7843a1 copyright notice 1999-04-26 05:32:18 +00:00
cgd 6dbaac99f9 slight cleanup of spacing 1999-04-26 04:29:43 +00:00
cgd 35a22b65fc rlimit stuff 1999-04-26 03:30:48 +00:00
cgd 646c8f519a resource limit definitions 1999-04-26 03:29:05 +00:00
cgd 5d3c1d0c49 use osf1.h definitions and some table-based flag translation 1999-04-26 03:10:58 +00:00
cgd 32c9cd9866 exec and mount structs/defns, and some cleanup 1999-04-26 03:07:40 +00:00
cgd 445556f304 add a section of OSF/1 types, and add many more OSF/1 structures and
definitions.
1999-04-26 01:24:26 +00:00
cgd 1d0207c926 const-ify flags translation tables.
kill some cruft, and move various flags and structure definitions into
  osf1.h (not done yet).
Do a better job of translating fcntl(), and translate flags in sento()
  emulation.
1999-04-26 01:23:01 +00:00
cgd 196564f8e3 remove some structs and def'ns; they're moving to osf1.h 1999-04-26 01:22:18 +00:00
cgd 637226f0ad pull in osf1.h 1999-04-26 01:21:43 +00:00
cgd ad10b95967 translate EAGAIN/EWOULDBLOCK properly 1999-04-26 01:16:04 +00:00
cgd 45a020863e substantial cleanup, including:
* do more flags conversions, using the table driven converter.
* check for alternate (emulation) path in lots more places.
1999-04-24 07:23:54 +00:00
cgd ed106195ea cleanup: kill syscall args comments 1999-04-24 07:13:23 +00:00
cgd d081124ca2 cleanup: nuke register 1999-04-24 07:09:49 +00:00
cgd d7c211e583 cleanup: kill syscall args comments 1999-04-24 07:06:35 +00:00
cgd dd4d52e331 slight hdr inclusion cleanup, get ioctl-related def'ns from osf1.h 1999-04-24 06:59:11 +00:00
cgd 8b1bcd5e9c pull in osf1.h, not osf1_errno.h 1999-04-24 06:58:26 +00:00
cgd 2fc0019c7a Collected OSF/1 definitions and structures, sorted by OSF/1 header.
Error numbers (errno.h) aren't here, since they're likely to change
(additions) more often.
1999-04-24 06:56:25 +00:00
cgd f023a00cd1 clean up multiple inclusion protection def'ns 1999-04-23 18:01:05 +00:00
cgd 1c19c07f42 clean up multiple inclusion protection def'ns and whitespace 1999-04-23 18:00:34 +00:00
cgd cc6809bffa regen for 'const poisoning for strings, and minor cleanup' 1999-04-23 06:20:33 +00:00
cgd c95f8f86c1 const poisoning for strings, and minor cleanup 1999-04-23 06:19:51 +00:00
cgd c470144d55 use the errno mapping array 1999-04-23 06:15:35 +00:00
cgd 8ca456cbb3 add osf1_errno.c 1999-04-23 06:07:55 +00:00
cgd f0f87c5554 finish updating this for signal changes, as was started in the
mis-labeled ("const poisoning"?!??!) rev 1.6.
1999-04-23 05:56:28 +00:00
cgd f33ddea5c4 add an OSF1_CHECK_ALT_CREAT, similar to OSF1_CHECK_ALT_EXIST 1999-04-23 05:55:13 +00:00
cgd 4a84f3545a OSF/1 errno definitions, and a NetBSD -> OSF/1 errno mapping table. 1999-04-23 05:37:41 +00:00
itohy e4d7e0a023 Update to OSF/1 V4. 1999-03-23 09:19:25 +00:00
christos bcca34b4fa Regen. 1999-02-09 20:36:17 +00:00
christos 090a9bebbc const poisoning. 1999-02-09 20:34:16 +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
eeh fc6c67ff5d Fixup big-endian syscall args. 1998-10-03 19:33:32 +00:00
perry e1601dc2ca bzero->memset, bcopy->memcpy, bcmp->memcmp 1998-08-09 20:36:58 +00:00
thorpej b413670e49 Regen. 1998-07-01 00:41:55 +00:00
thorpej f76a7b5d83 Add a bunch more system calls from Digital UNIX 4.0D. 1998-07-01 00:41:36 +00:00
chs 75a77b5286 regen 1998-05-20 16:35:19 +00:00
chs 20a0fa6146 make this compile again. 1998-05-20 16:34:29 +00:00
thorpej dc4fe3d32d Regen: makesyscalls.sh changed. 1998-02-19 03:34:15 +00:00
thorpej ffa2f66af1 regen; makesyscalls.sh changed 1998-02-19 00:42:35 +00:00
thorpej db2bdf86a9 Change a comment to reflect new makesyscalls.sh behavior. 1998-02-19 00:42:15 +00:00
kleink 6dccfbdf6f Regen: use POSIX semantics for chown()/fchown()/rename() syscalls, add lchown(). 1998-02-14 21:31:26 +00:00
kleink c19ebc067c * Use sys___posix_{chown,fchown}() instead of sys_{chown,fchown}().
* Change reference from sys_posix_rename() to sys___posix_rename().
* Emulate lchown().
1998-02-14 21:29:14 +00:00
thorpej 8efb4289b4 syscalls.master changed; regen. 1998-02-14 01:30:20 +00:00
thorpej 44102031da We now have a native getsid(2), so there's no need to implement it here;
just use sys_getsid().
1998-02-14 01:29:43 +00:00
thorpej 80fff795f9 Regen. 1998-01-09 06:19:02 +00:00
thorpej 585f0dec73 Regen: back out RCD ID related changes. 1998-01-08 00:17:11 +00:00
perry 36bd5a5407 regened with RCSIDs in place 1998-01-05 18:23:00 +00:00
perry 3c47900572 RCSID Police. 1998-01-05 17:51:27 +00:00
mycroft 16a8787248 Fix execve(2) and *setregs() interfaces so emulations can set registers in a
more correct way.  (See tech-kern.)
1997-09-11 23:01:44 +00:00
kleink ff831a8fcd regen. 1997-06-27 05:36:07 +00:00
kleink 96588fead9 Use sys_posix_rename() instead of sys_rename() as it's the behaviour of the
native implementation.
1997-06-27 05:29:34 +00:00
thorpej 8f8abcd69c Regen; makesyscalls.sh emits comments now. 1997-01-13 18:49:02 +00:00
christos 53e42f3487 Backout previous kprintf change. 1996-10-13 00:46:49 +00:00
christos 5476886e52 printf -> kprintf, sprintf -> ksprintf 1996-10-10 17:47:29 +00:00
mycroft 826fb76b6f Regen. 1996-09-07 14:24:17 +00:00
mycroft 1449e67e30 Modify poll(2) prototype. 1996-09-07 14:20:09 +00:00
mycroft 264dd4757c Regen. 1996-09-07 12:56:49 +00:00
mycroft 2bc736661a Implement poll(2). 1996-09-07 12:40:22 +00:00
mycroft e9e01a4d00 Regen. 1996-09-03 03:19:46 +00:00
mycroft a8fd25767d Define execv() and execve() consistently across emulations.
Do path name translation.
1996-09-03 03:12:17 +00:00
mrg 5abbf990f3 Change reboot(2) to take two arguments: bootopt like normal and also
a boot string for firmware that can do this, such as the SPARC and
the sun3 models.  It is currently silently ignored on all other
hardware now, however.  The MD function "boot()" has been changed to
also take a char *.
1996-08-09 10:30:23 +00:00
jtk e8aa4c9806 fix stray MOUNT_UFS -> MOUNT_FFS 1996-02-17 23:08:36 +00:00
jtc 2fce159ff8 Changed name of sigaltstack's ss_base field to ss_sp to match XPG4.2 and
traditional usage.
1996-01-04 22:21:33 +00:00
cgd bd4a0a45ea note that COMPAT_OSF1 requires ECOFF, in a comment. 1995-11-15 05:42:17 +00:00
mycroft 319813467d Prefix names of system call implementation functions with `sys_'. 1995-10-07 06:53:04 +00:00
mycroft 55c46e9514 Reran makesyscalls.sh. 1995-10-07 06:41:34 +00:00
mycroft 245f292fed Prefix names of system call implementation functions with `sys_'. 1995-10-07 06:25:19 +00:00
thorpej 236ee835ed Add common file lists, similar to what the other emulation modules use. 1995-09-20 00:15:18 +00:00
thorpej 19ccdce168 Make system calls conform to a standard prototype and bring those
prototypes into scope.
1995-09-19 22:44:25 +00:00
thorpej 134a6981d1 makesyscalls.sh changed 1995-09-19 22:42:48 +00:00
cgd 26340c4a2e sync with my current sources. WAY out of date. 1995-06-28 04:41:30 +00:00
cgd 8f62c773e8 don't assume the f_fsnamelen is nul-truncated or longer than MFSNAMELEN 1995-06-18 14:45:14 +00:00
christos 44eef7c28b - added struct emul to all emulations.
- removed all setup functions.
- added copyargs() functions where needed.
1995-04-22 19:48:19 +00:00
mycroft f75ba16b09 Update to use timer{add,sub}(). 1995-03-21 13:33:34 +00:00
cgd 25b31ec7bc mount list is a circleq. 1995-03-08 01:28:55 +00:00
cgd 41f1c5fa0d generated files. 1995-02-13 21:40:43 +00:00
cgd e5a8a9b897 Initial support for DEC OSF/1 AXP binaries. May be applicable to other OSF/1
systems running a BSD-ish server.  No dynamically linked executable support
(it requires weird execve() hacks...), nor any Mach trap support.  But it
ran lots of statically linked binaries well enough for me to get bootstrapped.
1995-02-13 21:39:00 +00:00