UVM was written by chuck cranor <chuck@maria.wustl.edu>, with some
minor portions derived from the old Mach code. i provided some help
getting swap and paging working, and other bug fixes/ideas. chuck
silvers <chuq@chuq.com> also provided some other fixes.
this is the rest of the MI portion changes.
this will be KNF'd shortly. :-)
- Fix memcntl()
- Fixed stat and mknod syscalls to properly disassemble and reassemble
dev_t values to/from emulation dev_t's
- Added pty (ptmx) subsystem at svr4net minor number 10 -- /dev/ptmx
- Implemented fork1() as fork() (should change if and when threads get
added to the system)
- fixed spellings in disclaimer in svr4_net.c; it looks like someone went
and did a s/nd/st/g on the whole file... yuck
- changed ptmx device to also halt on ENXIO (for pty files that exist with
no kernel pty to back them)
- fixed SVR4 setpgrp() to be a near equivalent to BSD setsid() (old
emulation didn't create a new session)
in 32 bits. Provide an error message to the user, and return EINVAL.
Also, pay attention to the EOF flag from VOP_READDIR. Correct a
misspell in a panic message.
directory and running out of space in the dest buffer, off should point to the
current entry (which was not saved) and not to the next.
I discovered this bug using linux and SunOS emulation over NFS, but seems to
affect other emulations as well.
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...
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 :-)
2. many termio, ioctl, sigaction fixes
3. better socket type emulation; still ticotsord [the loopback interface I
guess] does not work properly on svr4 4.1.
4. new gettimeofday, fixed utssys..
5. rmdir and mkdir were swapped in syscalls.master
1. always do the stackgap_init()/CHECKALT first in syscalls that need it.
2. svr4_emul_find() uses malloc for the buf, does not use copyoutstr, but
copyout().
Removed makesyscalls.sh; it was really old and we don't need a separate copy.