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(); }