Subject: Changes to sys/compat/ultrix/syscalls.master
To: None <port-pmax@NetBSD.ORG>
From: Jonathan Stone <jonathan@DSG.Stanford.EDU>
List: port-pmax
Date: 01/28/1995 02:10:56
The following fixes some gotcha's  in the changes to the
ultrix-emulation syscall vector, which date back to when I converted
the Ultrix syscalls.master from the NetBSD1.0 format to the current
one.

I really, really _REALLY_ want the ioctl hack to go in.  Yes,
it's wrong to map Ultrix ioctls onto native NetBSD ioctls. This
used to work sufficiently for me to run many Ultrix binaries on
NetBSD/pmax, including an xterm.  Without an xterm,  I just don't
find NetBSD usable

I don't believe the other changes are contentious. (Surely I can fix
my own indentation bugs and typos?)




*** syscalls.master.DIST Sat Dec  3 03:20:45 1994
--- syscalls.master Sat Jan 28 02:05:39 1995
***************
*** 1,4 ****
!  $NetBSD: syscalls.master,v 1.8 1994/12/02 18:13:00 dean Exp $
  ; @(#)syscalls.master 8.1 (Berkeley) 7/19/93
  ; System call name/number master file (or rather, slave, from SunOS).
  ; Processed to created sun_sysent.c, sun_syscalls.c and sun_syscall.h.
--- 1,4 ----
!  $NetBSD: syscalls.master,v 1.6 1994/11/23 17:49:07 dean Exp $
  ; @(#)syscalls.master 8.1 (Berkeley) 7/19/93
  ; System call name/number master file (or rather, slave, from SunOS).
  ; Processed to created sun_sysent.c, sun_syscalls.c and sun_syscall.h.
***************
*** 47,54 ****
  4 NOARGS  { int write(int fd, char *buf, u_int nbyte); }
  5 STD  { int sun_open(char *path, int flags, int mode); }
  6 NOARGS  { int close(int fd); }
! 7 UNIMPL 0 old_wait
! 8 STD  { int sun_creat(char *path, int mode); }
  9 NOARGS  { int link(char *path, char *link); }
  10 NOARGS  { int unlink(char *path); }
  11 STD  { int sun_execv(char *path, char **argp); }
--- 47,54 ----
  4 NOARGS  { int write(int fd, char *buf, u_int nbyte); }
  5 STD  { int sun_open(char *path, int flags, int mode); }
  6 NOARGS  { int close(int fd); }
! 7 UNIMPL  old_wait
! 8 NOARGS  { int compat_43_creat(char *path, int mode); }
  9 NOARGS  { int link(char *path, char *link); }
  10 NOARGS  { int unlink(char *path); }
  11 STD  { int sun_execv(char *path, char **argp); }
***************
*** 77,83 ****
  34 OBSOL  v7 nice
  35 OBSOL  v7 ftime
  36 NOARGS  { int sync(void); }
! 37 NOARGS  { int kill(int pidd, int signum); }
  38 NOARGS  { int compat_43_stat(char *path, struct ostat *ub); }
  39 OBSOL  v7 setpgrp
  40 NOARGS  { int compat_43_lstat(char *path, struct ostat *ub); }
--- 77,83 ----
  34 OBSOL  v7 nice
  35 OBSOL  v7 ftime
  36 NOARGS  { int sync(void); }
! 37 NOARGS  { int kill(int pid, int signum); }
  38 NOARGS  { int compat_43_stat(char *path, struct ostat *ub); }
  39 OBSOL  v7 setpgrp
  40 NOARGS  { int compat_43_lstat(char *path, struct ostat *ub); }
***************
*** 86,92 ****
  43 OBSOL  v7 times
  44 NOARGS  { int profil(caddr_t samples, u_int size, \
         u_int offset, u_int scale); }
! 45 UNIMPL 0 nosys
  46 OBSOL  v7 setgid
  47 NOARGS  { gid_t getgid(void); }
  48 UNIMPL  sun_ssig
--- 86,92 ----
  43 OBSOL  v7 times
  44 NOARGS  { int profil(caddr_t samples, u_int size, \
         u_int offset, u_int scale); }
! 45 UNIMPL  nosys
  46 OBSOL  v7 setgid
  47 NOARGS  { gid_t getgid(void); }
  48 UNIMPL  sun_ssig
***************
*** 93,104 ****
  49 UNIMPL  reserved for USG
  50 UNIMPL  reserved for USG
  51 NOARGS  { int acct(char *path); }
! 52 UNIMPL 0 nosys
! 53 UNIMPL 0 syslock
! 54 UNIMPL  { int sunos_ioctl(int fd, u_long com, caddr_t data); }
! 
  55 NOARGS  { int reboot(int opt); }
! 56 UNIMPL  7thedition  mpxchan
  57 NOARGS  { int symlink(char *path, char *link); }
  58 NOARGS  { int readlink(char *path, char *buf, int count); }
  59 NOARGS  { int execve(char *path, char **argp, char **envp); }
--- 93,103 ----
  49 UNIMPL  reserved for USG
  50 UNIMPL  reserved for USG
  51 NOARGS  { int acct(char *path); }
! 52 UNIMPL  nosys
! 53 UNIMPL  syslock
! 54 NOARGS  { int ioctl(int fd, u_long com, caddr_t data); }
  55 NOARGS  { int reboot(int opt); }
! 56 UNIMPL  v7 mpxchan
  57 NOARGS  { int symlink(char *path, char *link); }
  58 NOARGS  { int readlink(char *path, char *buf, int count); }
  59 NOARGS  { int execve(char *path, char **argp, char **envp); }
***************
*** 220,226 ****
  #else
  158 UNIMPL
  #endif
! 159 NOARGS  { int getdirentries(int fd, char *buf, u_int count, \
         long *basep); }
  160 STD  { int sun_statfs(char *path, struct sunos_statfs *buf); }
  161 STD  { int sun_fstatfs(int fd, struct sunos_statfs *buf); }
--- 219,225 ----
  #else
  158 UNIMPL
  #endif
! 159 NOARGS  { int compat_43_getdirentries(int fd, char *buf, u_int count, \
         long *basep); }
  160 STD  { int sun_statfs(char *path, struct sunos_statfs *buf); }
  161 STD  { int sun_fstatfs(int fd, struct sunos_statfs *buf); }
***************
*** 270,277 ****
  182 UNIMPL 0 lockf
  183 STD  { int sun_ustat(int dev, struct sunos_ustat *buf); }
  184 UNIMPL ult_getmnt /*implemented by jonathan@DSG.Stanford.EDU*/
! 185 UNIMPL  notdef
! 186 UNIMPL  notdef
  187 STD  { int sun_sigpending(int *mask); }
  188 NOARGS  { int setsid(void); }
  189 STD  { int ultrix_waitpid(); }
--- 269,276 ----
  182 UNIMPL 0 lockf
  183 STD  { int sun_ustat(int dev, struct sunos_ustat *buf); }
  184 UNIMPL ult_getmnt /* hacked up by jonathan@DSG.Stanford.EDU */
! 185 UNIMPL   notdef
! 186 UNIMPL   notdef
  187 STD  { int sun_sigpending(int *mask); }
  188 NOARGS  { int setsid(void); }
  189 STD  { int ultrix_waitpid(); }