thorpej
b0ca4831ea
Check in two changes I apparently overlooked the last time. "oops"
1995-12-08 07:45:31 +00:00
jtc
0cd793449e
merge in changes from 1.1 release branch
1995-11-30 00:56:23 +00:00
thorpej
0d02785d6c
Re-ran makesyscalls.sh; syscalls.conf and syscalls.master chagned.
1995-11-28 08:43:58 +00:00
thorpej
0ec193c9b2
Get COMPAT_HPUX partially working on the hp300. Notable improvements:
...
* It compiles (and links).
* Make use of "/emul/hpux" where applicable.
* Untangle a bit, pulling some funtions from the monolithic
hpux_compat.c into hpux_file.c, hpux_exec.c, etc.
* Fix a couple of bugs.
Yet to do:
* Move hp300-specific functions into hp300/hp300/hpux_machdep.c.
* Make everything work properly (you laugh...)
These changes are sufficient to run some simple HP-UX 9.x executables,
including ls(1) (which will read password and group information from the
YP server correctly, albeit slowly), a simple "hello world", uname(1),
and a few other odds and ends. Dynamically linked executables work, and
demand-paging _seems_ to work properly. Major problems:
* socket and/or signal handling appears to need some work yet.
* 99% sure I didn't do exactly the right thing adjusting for the
fact that "kstack" is gone now.
* ktrace(1)'ing some executables (HP-UX telnet(1) is what I tried)
causes the HP-UX executable to dump core with a SIGSEGV for an
as of yet unknown reason.
This is mostly meant as a checkpoint/snapshot, to make it easier for others
to track progress on this code, and hack on it themselves. It's certainly
better off now than before.
1995-11-28 08:39:45 +00:00
thorpej
b2f1fb085b
Fix transposed copyin() args, from Niklas Hallqvist <niklas@appli.se>.
1995-11-16 18:42:05 +00:00
cgd
bd4a0a45ea
note that COMPAT_OSF1 requires ECOFF, in a comment.
1995-11-15 05:42:17 +00:00
gwr
883be4be3a
ufs ==> ffs
1995-11-07 22:27:21 +00:00
mycroft
d67fb08153
Make sure we free the pathname buffer in all error cases.
1995-10-22 08:20:44 +00:00
cgd
d71e8d0d69
set, don't add to, CFLAGS from COMPATCFLAGS
1995-10-20 00:34:15 +00:00
mycroft
686dddaff9
Reran makesyscalls.sh.
1995-10-15 06:13:56 +00:00
christos
81ae32e332
syscalls.master was changed.
1995-10-14 20:26:39 +00:00
christos
a4e2f7532a
- Added msgsys, shmsys and semsys... MITSHM needs shmsys, so X applications
...
that used that would fail.
- Propagated all the fixes from the fully prototyped kernel.
1995-10-14 20:24:14 +00:00
pk
b60d6eae12
Gets NFS-mounted /emul/sunos going again by faking readdir cookies if
...
not supported by VOP_READDIR().
1995-10-11 12:50:23 +00:00
mycroft
28484180c7
Fix minor oversight.
1995-10-10 18:27:25 +00:00
mycroft
5d9ff18d18
Switch to user code and data selectors in the GDT while handling signals.
1995-10-10 04:54:18 +00:00
mycroft
25f53a986f
Add USERMODE() and KERNELMODE() macros, and use them.
1995-10-10 04:45:03 +00:00
mycroft
d279b4198a
Convert VMIN and VTIME.
1995-10-10 02:35:16 +00:00
mycroft
e6d9bc8787
Fix typo.
1995-10-10 01:34:37 +00:00
mycroft
a91100d6af
Oops; remove something.
1995-10-10 01:20:55 +00:00
mycroft
e1ac4c6362
Output of makesyscalls.sh.
1995-10-10 01:20:11 +00:00
mycroft
63bb46e733
FreeBSD binary compatibility module, from Noriyuki Soda.
1995-10-10 01:19:24 +00:00
thorpej
d0c7d0fdd6
Add missing F_SETLKW case to svr4_sys_fcntl(), from Niklas Hallqvist
...
<niklas@appli.se>.
1995-10-09 23:56:17 +00:00
mycroft
0fff06cb86
Remove struct sunos_dirent from here.
1995-10-09 16:54:48 +00:00
mycroft
652c9eff74
Use cookies for directory offset, mostly from Greg Hudson.
1995-10-09 11:23:57 +00:00
fvdl
82079ba5b3
Work around calling the NetBSD fcntl(F_{G,S}ETOWN) for now; it is too
...
restrictive to implement the Linux equivalent (and perhaps too restrictive
overall).
1995-10-08 22:53:43 +00:00
fvdl
7292169d66
Avoid unnecessary copyin() of shmid_ds struct for shmctl(IPC_RMID)
1995-10-08 22:49:29 +00:00
fvdl
81d650570f
Implement the KDGKBMODE ioctl for Linux (possible with pcvt 3.32).
1995-10-08 22:45:20 +00:00
mycroft
319813467d
Prefix names of system call implementation functions with `sys_'.
1995-10-07 06:53:04 +00:00
mycroft
6263c69339
Reran makesyscalls.sh.
1995-10-07 06:51:37 +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
pk
23b15422dc
svr4_fcntl: make uap point to argument.
1995-10-02 08:20:47 +00:00
thorpej
4a15671a68
Fix the declaration of compat_43_wait() (int * -> register_t *), pointed
...
out by Chris Demetriou.
1995-09-29 05:18:41 +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
7d7396c414
Make system calls conform to a standard prototype and bring those
...
prototypes into scope.
1995-09-19 22:53:47 +00:00
thorpej
d4153ed512
makesyscalls.sh changed
1995-09-19 22:50:38 +00:00
thorpej
78f7651c91
Make system calls conform to a standard prototype and bring those
...
prototypes into scope.
1995-09-19 22:49:22 +00:00
thorpej
9c2a912abe
makesyscalls.sh changed
1995-09-19 22:46:47 +00:00
thorpej
e4747eef00
Obsolete; use the one in /sys/kern
1995-09-19 22:46:04 +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
thorpej
cd414f7dca
Make system calls conform to a standard prototype and bring those
...
prototypes into scope.
1995-09-19 22:42:02 +00:00
thorpej
6d91dd5b49
makesyscalls.sh changed.
1995-09-19 22:38:15 +00:00
thorpej
e1da0d5390
Make system calls conform to a standard prototype and bring those
...
prototypes into scope.
1995-09-19 22:37:27 +00:00
thorpej
4d68188f17
makesyscalls.sh changed.
1995-09-19 22:24:14 +00:00
thorpej
b5a39bba19
Make system calls conform to a standard prototype and bring those
...
prototypes into scope.
Fix a couple of bugs revealed during the prototyping process.
1995-09-19 22:19:01 +00:00
thorpej
d95577b1ce
makesyscalls.sh changed.
1995-09-19 22:13:07 +00:00
thorpej
eecd40e854
Make system calls conform to a standard prototype and bring those
...
prototypes into scope.
1995-09-19 22:10:11 +00:00
thorpej
c8aae0e18a
makesyscalls.sh changed.
1995-09-19 22:05:58 +00:00
thorpej
7160dfc805
Make system calls conform to a standard prototype and bring those
...
prototypes into scope.
1995-09-19 21:57:36 +00:00
fvdl
788a8655bc
Update offset elsewhere in linux_getdents(); still emulate a bug in
...
Linux, but avoid endless loops.
1995-09-13 21:51:14 +00:00
fvdl
43279db68d
Fix PR #1445 (incorrect ifdef/else/endif), from Bill Sommerfeld via
...
John Kohl.
1995-09-08 07:57:15 +00:00
fvdl
df2f99818a
Get notion of VT number right.
1995-09-07 21:55:43 +00:00
fvdl
698e606f39
syscalls.master changed
1995-09-07 21:49:52 +00:00
fvdl
a396a097b7
Fix some bugs & typing problems.
1995-09-07 21:48:59 +00:00
mycroft
29053c58b2
SA_ONSTACK --> SS_ONSTACK
1995-09-01 20:05:59 +00:00
fvdl
10101d52ba
Only define some vars (one of pcvt-specific type) when pcvt is configured.
...
Fixes PR #1424 (from Mike Long)
1995-08-31 09:33:10 +00:00
fvdl
0324e91dae
Remove VT-switch disabling hack now that pcvt handles this.
1995-08-30 00:32:51 +00:00
fvdl
9ca2821d22
A couple of definitions added for previous changes.
1995-08-27 20:57:18 +00:00
fvdl
040bcc367d
Add some yucky code to emulate Linux VTs well enough to make svgalib
...
stuff work reasonably well.
1995-08-27 20:56:38 +00:00
fvdl
a7459f5321
syscalls.master changed
1995-08-27 20:53:31 +00:00
fvdl
d308963c5d
Add a hook for MD ioctl calls, plus a couple of more changes to make
...
svgalib binaries work on the i386
1995-08-27 20:51:48 +00:00
fvdl
72e901b9ff
syscalls.master changed
1995-08-23 20:19:15 +00:00
fvdl
28d9d64235
Emulate some syscalls that appear in Linux 1.3: a select() with normal args,
...
getdents() and flock().
1995-08-23 20:17:28 +00:00
fvdl
7cd62a508c
Check for status NULL argument in wait4 and waitpid. From PR #1392
...
by Thomas EberHardt.
1995-08-21 23:15:51 +00:00
mycroft
7f01d32fb3
syscalls.master changed.
1995-08-21 03:42:35 +00:00
mycroft
9a0cd13442
Implement the old and older uname(2) calls.
1995-08-21 03:42:09 +00:00
cgd
ce48e523d6
kill some redundant (and harmful) static definitions of functions
1995-08-19 04:04:50 +00:00
mycroft
760379d766
Update for signal handling changes.
1995-08-17 03:07:47 +00:00
mycroft
2c03307168
If updating the timeval would make it negative, zero it instead.
1995-08-16 04:50:17 +00:00
mycroft
dc41c4257e
Allow bogus timevals, per Linux.
1995-08-16 04:29:49 +00:00
mycroft
54c148fda5
Convert 230400 baud.
1995-08-16 04:14:51 +00:00
fvdl
02b3c95be6
Implement the rest of the sysv ipc calls ({sem,msg}*())
1995-08-15 21:14:32 +00:00
gwr
3d4ed382f6
Catch up with renamed SA_DISABLE flag and update
...
sunos_sigvec to allow the new SA_RESETHAND flag.
1995-08-15 17:28:02 +00:00
mycroft
c331c7be82
Rename ss_flags bits.
1995-08-15 16:52:30 +00:00
mycroft
e9d68a777e
Export bsd_to_linux_sig[], and use it.
1995-08-14 02:58:29 +00:00
mycroft
d2c9e4f1c8
Export bsd_to_ibcs2_sig[], and use it.
1995-08-14 02:26:01 +00:00
mycroft
10c06fe363
Prototype some functions.
1995-08-14 02:22:20 +00:00
mycroft
9b899c17cd
Export bsd_to_linux_sig[], and use it.
1995-08-14 02:19:08 +00:00
mycroft
1e69f23205
Export bsd_to_svr4_sig[], and use it.
1995-08-14 02:07:57 +00:00
mycroft
baaaba9bc5
Rearrange #includes.
1995-08-14 01:38:24 +00:00
mycroft
283f211782
Sort.
1995-08-14 01:34:09 +00:00
mycroft
01fa87477a
syscalls.master changed.
1995-08-14 01:29:05 +00:00
mycroft
88b8e43a80
Rearrange #includes.
1995-08-14 01:27:43 +00:00
mycroft
9440382c88
svr4_stack_t --> svr4_sigaltstack
1995-08-14 01:13:29 +00:00
mycroft
05abc039c9
syscalls.master changed.
1995-08-14 01:13:11 +00:00
mycroft
eba2f2e81a
Move signal types into signal.h.
1995-08-14 01:11:52 +00:00
mycroft
3b76c0ddef
svr4_stack_t --> svr4_sigaltstack
1995-08-14 00:57:13 +00:00
mycroft
475edc261c
Move definition of sigset_t into types.h.
1995-08-14 00:50:27 +00:00
mycroft
a6bb142d21
Various clean up and bug fixes. Make this look like the SVR4 and Linux
...
versions.
1995-08-14 00:44:12 +00:00
mycroft
ca057762b9
Minor cleanup.
1995-08-14 00:41:02 +00:00
mycroft
1575859e07
Minor cleanup.
1995-08-13 23:37:56 +00:00
mycroft
a6b7c740c6
Convert SA_RESETHAND and SA_NODEFER.
...
Scrub this code a bit.
1995-08-13 22:57:10 +00:00
mycroft
fef558efaa
Convert SA_NOMASK and SA_ONESHOT.
...
Clean up this code a bit.
1995-08-13 22:55:28 +00:00
mycroft
ad35618e1e
Linux doesn't allow select(2) to be restarted.
1995-08-13 17:51:40 +00:00
mycroft
6f7dc7fd4e
Make this compile if one of SYSV{SEM,SHM,MSG} is not defined.
1995-08-10 04:08:57 +00:00
fvdl
64b54f62f4
syscalls.master changed
1995-07-24 06:39:38 +00:00
fvdl
83ed983d47
mkdir() has 2 arguments.. fixes PR 1248 (from Brad Spencer)
1995-07-24 06:35:28 +00:00
christos
3a1e063118
Make the macro botch fix more palatable.
1995-07-05 17:08:54 +00:00
pk
cde4f269ae
Start using sunos_sigvec().
1995-07-05 13:14:09 +00:00
pk
426fb108d1
Brutally work around a macro botch.
1995-07-05 13:07:12 +00:00
christos
87b62763ae
Add a few more sockio ioctls... Now sunxdoom is running!
1995-07-04 23:00:11 +00:00
christos
c07ddb7c1d
Added sockioctls... Only getifnum supported for now.
...
Added SVR4_EMT_TAGOVF, needed by new machdep translations.
1995-07-04 19:46:58 +00:00
fvdl
059661a991
Fix totally bogus implementation of a few fcntl() calls. I think I'll go
...
live on a deserted island now..
1995-07-03 21:33:59 +00:00
christos
ed63c665eb
- make svr4_break() identical to obreak(). We still keep the code here,
...
to do some more testing.
- add POSIX.4 sysconfig options [we don't support them, but we don't
return EINVAL too]
- More kludges in the interpeter load address. I hope I escape the kludge
police...
1995-07-02 06:16:06 +00:00
christos
294f607d50
Fix alignment of svr4_getdents, so that it works for solaris2.4/sparc
1995-07-01 23:42:54 +00:00
cgd
26340c4a2e
sync with my current sources. WAY out of date.
1995-06-28 04:41:30 +00:00
cgd
65c4cf2b9a
light cleanup, adjustments for the Alpha
1995-06-28 03:00:20 +00:00
christos
68328ddcdd
Fixes for Solaris-2.4/sparc dynamically linked binaries.
...
We can now run them, but:
1. setcontext() causes a panic so binaries that receive signals
crash the machine [something is wrong with the register setup].
sleep 10 ==
Watchdog reset
Data Access Exception
Type help for more information
ok
2. csh says "unknown software trap a7".
3. ls gives us a bus error.
4. ldd works :-)
But I solved the problem that had been bothering me for weeks :-)
1995-06-27 22:12:47 +00:00
christos
c35bc29cc9
Fix PR1160... (bug with the new compat_util prefix)
1995-06-26 19:27:17 +00:00
christos
2a17942096
Add the ability to override COMPATREL and COMPATDST similar to libkern
1995-06-26 03:27:13 +00:00
briggs
a734709115
Oops... NOARGS for compat_43_sigvec.
1995-06-25 14:58:17 +00:00
briggs
e1731cd1bf
syscalls.master changed.
1995-06-25 14:18:56 +00:00
briggs
de17480671
sigvec -> compat_43_sigvec.
1995-06-25 14:18:35 +00:00
briggs
09e0072b98
Add sunos_emul_path (/emul/sunos). I don't know if this is correct, but
...
this will at least aid the compilation step and is similar to the
others.
1995-06-25 14:15:08 +00:00
briggs
c9917aa539
* Don't include sys/exec.h explicitly--it's not protected against multiple
...
inclusions and compat_util.h now includes it.
* Declare struct emul *e=p->p_emul in a couple of places so we can use
STACKGAPBASE macro (should this macro be modified to take a struct
emul * or struct proc * parameter?).
* Declare extern struct emul emul_sunos for sunos_sigvec's comparison.
1995-06-25 13:11:44 +00:00
christos
fc741845e6
Stackgap_init() now takes an p->p_emul argument.
1995-06-24 20:36:28 +00:00
christos
d0169ce44a
Use compat_util.[ch]
1995-06-24 20:29:17 +00:00
christos
5ad8a15866
Syscalls.master was changed
1995-06-24 20:26:41 +00:00
christos
57b6b2745e
Use compat_util.[ch]
1995-06-24 20:22:33 +00:00
christos
6b95b513b0
Use compat_util.[ch].
1995-06-24 20:20:04 +00:00
christos
3a3aa6407e
Use compat_util.[ch]
1995-06-24 20:18:53 +00:00
christos
8207f8e49e
Use the new compat_util.h
1995-06-24 20:17:54 +00:00
christos
dcb2a50b2b
- Extracted all compat routines from the kern directory and moved here.
...
- Created compat_util.c and compat_util.h to be used by the compatibility
modules, so they don't duplicate the same code.
- Added prototypes to the stackgap allocation routines.
1995-06-24 20:15:55 +00:00
fvdl
cbcf8eee8a
Check for invalid filedescriptors in getmsg() and putmsg().
1995-06-24 18:47:08 +00:00
fvdl
1634acc3e4
Include file change.
1995-06-22 21:35:42 +00:00
fvdl
c4aaa6000c
* Changed to use generic ELF code from kern/exec_elf.c (which was taken
...
from the svr4 exec code plus the linux compat mods)
* Include file change
* Add multicast sockopts (from John Brezak)
1995-06-22 21:34:27 +00:00
fvdl
4a10f838e7
Changed to use generic ELF code from kern/exec_elf.c (which was taken
...
from the svr4 exec code plus the linux compat mods)
1995-06-22 21:32:57 +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
pk
1e070197f4
Go with the flow; use `/emul/sunos' pseudo-root (from Matthew Green).
...
Note: sunos_stat() and sunos_lstat() were added too.
1995-06-11 22:33:50 +00:00
fvdl
769310e81d
Linux select() returns the amount of time left before a timeout would have
...
occured in the timeval structure. Emulate this behavior. Reported by
Theo de Raadt.
1995-06-11 21:51:38 +00:00
fvdl
fb777788b1
Don't forget to acknowledge that all the ELF stuff was taken from
...
Christos' svr4 code.
1995-06-11 15:15:09 +00:00
fvdl
8bf395c808
Make this link when SYSVXXXX is not enabled too.
1995-06-11 15:07:55 +00:00
fvdl
a22d72bf4d
* Always kill all vm_cmds before giving up on loading an executable
...
* Don't try to use auxiliary arguments with statically linked executables.
* Remove 'cannot find interpreter' uprintf, as other exec modules may
succeed in running the binary after all, and then we don't want this message.
* Some linkers produce rw- for the data segment, not rwx.
* Remove a few debugging printfs
1995-06-11 15:06:11 +00:00
fvdl
bfc9b29ab2
Remade these after syscalls.master had changed.
1995-06-11 14:57:56 +00:00
fvdl
fc7cfb5f0b
* Make Linux ELF binaries work. Lots of code duplication, but it will have to do
...
for now.
* Add a sanity check in linux_uselib
1995-06-11 14:56:47 +00:00
mycroft
abd4cc9991
Remove /dev/zero special case. It's done in mmap().
1995-06-10 22:45:15 +00:00
mycroft
b1868d1bdf
Set st_rdev in SVR4 struct stat.
1995-06-10 22:44:18 +00:00
mycroft
1e1e52e395
Rename the dirent fields to match Linux. Make sure the requested buffer
...
is no larger than MAXBSIZE.
1995-06-10 22:19:06 +00:00
jtc
95ded74f58
Moved egid credential from cr_groups[0] to new field cr_gid. POSIX.1
...
requires that sgid executables and the setuid() syscall *not* change
the supplemental group list.
1995-06-01 22:43:30 +00:00
mellon
b23214bbd9
Clear up name conflict between Ultrix syscall 103 and 139.
1995-06-01 16:38:15 +00:00
mellon
ccd1ab13a1
syscall 139 is ULTRIX_SYS_sigcleanup (from Simon Burge)
1995-05-29 17:32:35 +00:00
mycroft
cc8da4254d
Need netinet/tcp.h.
1995-05-28 10:20:46 +00:00
mycroft
32659780f6
Convert TCP socket options.
1995-05-28 10:16:32 +00:00
mycroft
00569bf574
Fill in `name' argument to getsockopt() correctly.
1995-05-28 09:39:45 +00:00
mycroft
116c7de730
Fix typo.
1995-05-28 08:52:07 +00:00
mycroft
e89504670f
Convert IP socket options.
1995-05-28 08:50:17 +00:00
mycroft
fbc3ef234b
Get rid of damned `static's.
1995-05-28 08:09:51 +00:00
mycroft
bfd22ffde8
Generate the new ps_strings format.
1995-05-16 14:19:03 +00:00
christos
dbb1f513f8
syscalls.master was changed.
...
Note that COMPAT_OHPUX has been renamed to COMPAT_HPUX_6X and this is a
kernel option now, that should be specified together with COMPAT_HPUX.
1995-05-10 16:47:21 +00:00