From da09a34012aa9e33eb369e0f630b4b4b760fe21b Mon Sep 17 00:00:00 2001 From: Alan Cox Date: Mon, 26 Jan 2015 22:54:35 +0000 Subject: [PATCH] types: set the type definitions ready for non 8bit 16bit addressed --- Kernel/devio.c | 2 +- Kernel/devsys.c | 2 +- Kernel/include/kernel.h | 146 ++++++++++++++++++++-------------------- Kernel/mm.c | 4 +- Kernel/syscall_exec.c | 2 +- Kernel/syscall_fs.c | 32 ++++----- Kernel/syscall_fs2.c | 38 +++++------ Kernel/syscall_other.c | 22 +++--- Kernel/syscall_proc.c | 68 +++++++++---------- 9 files changed, 158 insertions(+), 158 deletions(-) diff --git a/Kernel/devio.c b/Kernel/devio.c index d5843871..d4e27f03 100644 --- a/Kernel/devio.c +++ b/Kernel/devio.c @@ -322,7 +322,7 @@ int no_rdwr(uint8_t minor, uint8_t rawflag, uint8_t flag) return -1; } -int no_ioctl(uint8_t minor, uint16_t a, char *b) +int no_ioctl(uint8_t minor, uarg_t a, char *b) { minor; a; diff --git a/Kernel/devsys.c b/Kernel/devsys.c index fe05ee28..8101bb73 100644 --- a/Kernel/devsys.c +++ b/Kernel/devsys.c @@ -70,7 +70,7 @@ int sys_write(uint8_t minor, uint8_t rawflag, uint8_t flag) #define PIO_TABSIZE 1 #define PIO_ENTRYSIZE 2 -int sys_ioctl(uint8_t minor, uint16_t request, char *data) +int sys_ioctl(uint8_t minor, uarg_t request, char *data) { if (minor != 3) { udata.u_error = ENOTTY; diff --git a/Kernel/include/kernel.h b/Kernel/include/kernel.h index 8f43f70b..486314c7 100644 --- a/Kernel/include/kernel.h +++ b/Kernel/include/kernel.h @@ -325,7 +325,7 @@ typedef struct p_tab { uint16_t p_pid; /* Process ID */ uint16_t p_uid; struct p_tab *p_pptr; /* Process parent's table entry */ - uint16_t p_alarm; /* Centiseconds until alarm goes off */ + uarg_t p_alarm; /* Centiseconds until alarm goes off */ uint16_t p_exitval; /* Exit value */ void * p_wait; /* Address of thing waited for */ uint16_t p_page; /* Page mapping data */ @@ -350,8 +350,8 @@ typedef struct p_tab { #ifdef CONFIG_PROFIL uint8_t p_profscale; void * p_profbuf; - uint16_t p_profsize; - uint16_t p_profoff; + uaddr_t p_profsize; + uaddr_t p_profoff; #endif } p_tab, *ptptr; @@ -374,7 +374,7 @@ typedef struct u_data { arg_t u_argn3; /* args n-3, n-2, n-1, and n */ void * u_isp; /* Value of initial sp (argv) */ usize_t u_top; /* Top of memory for this task */ - int16_t (*u_sigvec[NSIGS])(); /* Array of signal vectors */ + int (*u_sigvec[NSIGS])(); /* Array of signal vectors */ /**** If you change this top section, also update offsets in "kernel.def" ****/ char * u_base; /* Source or dest for I/O */ @@ -390,7 +390,7 @@ typedef struct u_data { uint16_t u_gid; uint16_t u_euid; uint16_t u_egid; - uint16_t u_break; /* Top of data space */ + uaddr_t u_break; /* Top of data space */ char u_name[8]; /* Name invoked with */ clock_t u_utime; /* Elapsed ticks in user mode */ clock_t u_stime; /* Ticks in system mode */ @@ -604,7 +604,7 @@ COMMON int _uzero(uint8_t *user, usize_t count); /* platform/tricks.s */ COMMON void switchout(void); -COMMON void __fastcall__ doexec(uint16_t start_addr); +COMMON void __fastcall__ doexec(uaddr_t start_addr); COMMON void __fastcall__ switchin(ptptr process); COMMON int16_t __fastcall__ dofork(ptptr child); @@ -638,7 +638,7 @@ CODE1 int nxio_open(uint8_t minor, uint16_t flag); CODE1 int no_open(uint8_t minor, uint16_t flag); CODE1 int no_close(uint8_t minor); CODE1 int no_rdwr(uint8_t minir, uint8_t rawflag, uint8_t flag); -CODE1 int no_ioctl(uint8_t minor, uint16_t a, char *b); +CODE1 int no_ioctl(uint8_t minor, uarg_t a, char *b); /* filesys.c */ /* open file, "name" in user address space */ @@ -692,8 +692,8 @@ CODE1 int16_t doclose (uint8_t uindex); CODE1 inoptr rwsetup (bool is_read, uint8_t *flag); /* mm.c */ -CODE2 unsigned int uputsys(unsigned char *from, unsigned int size); -CODE2 unsigned int ugetsys(unsigned char *to, unsigned int size); +CODE2 unsigned int uputsys(unsigned char *from, usize_t size); +CODE2 unsigned int ugetsys(unsigned char *to, usize_t size); /* process.c */ CODE2 void psleep(void *event); @@ -756,7 +756,7 @@ CODE2 extern void inittod(void); /* provided by architecture or helpers */ CODE2 void device_init(void); /* provided by platform */ CODE2 void pagemap_init(void); -CODE2 void pagemap_add(uint8_t page); +CODE2 void pagemap_add(uint8_t page); /* FIXME: may need a page type for big boxes */ CODE2 void pagemap_free(ptptr p); CODE2 int pagemap_alloc(ptptr p); CODE2 int pagemap_realloc(uint16_t p); @@ -773,68 +773,68 @@ CODE2 extern void platform_interrupt(void); COMMON void invalidate_cache(uint16_t page); COMMON void flush_cache(ptptr p); -CODE2 int16_t __exit(void); /* FUZIX system call 0 */ -CODE2 int16_t _open(void); /* FUZIX system call 1 */ -CODE2 int16_t _close(void); /* FUZIX system call 2 */ -CODE2 int16_t _rename(void); /* FUZIX system call 3 */ -CODE2 int16_t _mknod(void); /* FUZIX system call 4 */ -CODE2 int16_t _link(void); /* FUZIX system call 5 */ -CODE2 int16_t _unlink(void); /* FUZIX system call 6 */ -CODE2 int16_t _read(void); /* FUZIX system call 7 */ -CODE2 int16_t _write(void); /* FUZIX system call 8 */ -CODE2 int16_t _lseek(void); /* FUZIX system call 9 */ -CODE2 int16_t _chdir(void); /* FUZIX system call 10 */ -CODE2 int16_t _sync(void); /* FUZIX system call 11 */ -CODE2 int16_t _access(void); /* FUZIX system call 12 */ -CODE2 int16_t _chmod(void); /* FUZIX system call 13 */ -CODE2 int16_t _chown(void); /* FUZIX system call 14 */ -CODE2 int16_t _stat(void); /* FUZIX system call 15 */ -CODE2 int16_t _fstat(void); /* FUZIX system call 16 */ -CODE2 int16_t _dup(void); /* FUZIX system call 17 */ -CODE2 int16_t _getpid(void); /* FUZIX system call 18 */ -CODE2 int16_t _getppid(void); /* FUZIX system call 19 */ -CODE2 int16_t _getuid(void); /* FUZIX system call 20 */ -CODE2 int16_t _umask(void); /* FUZIX system call 21 */ -CODE2 int16_t _getfsys(void); /* FUZIX system call 22 */ -CODE2 int16_t _execve(void); /* FUZIX system call 23 */ -CODE2 int16_t _getdirent(void); /* FUZIX system call 24 */ -CODE2 int16_t _setuid(void); /* FUZIX system call 25 */ -CODE2 int16_t _setgid(void); /* FUZIX system call 26 */ -CODE2 int16_t _time(void); /* FUZIX system call 27 */ -CODE2 int16_t _stime(void); /* FUZIX system call 28 */ -CODE2 int16_t _ioctl(void); /* FUZIX system call 29 */ -CODE2 int16_t _brk(void); /* FUZIX system call 30 */ -CODE2 int16_t _sbrk(void); /* FUZIX system call 31 */ -CODE2 int16_t _fork(void); /* FUZIX system call 32 */ -CODE2 int16_t _mount(void); /* FUZIX system call 33 */ -CODE2 int16_t _umount(void); /* FUZIX system call 34 */ -CODE2 int16_t _signal(void); /* FUZIX system call 35 */ -CODE2 int16_t _dup2(void); /* FUZIX system call 36 */ -CODE2 int16_t _pause(void); /* FUZIX system call 37 */ -CODE2 int16_t _alarm(void); /* FUZIX system call 38 */ -CODE2 int16_t _kill(void); /* FUZIX system call 39 */ -CODE2 int16_t _pipe(void); /* FUZIX system call 40 */ -CODE2 int16_t _getgid(void); /* FUZIX system call 41 */ -CODE2 int16_t _times(void); /* FUZIX system call 42 */ -CODE2 int16_t _utime(void); /* FUZIX system call 43 */ -CODE2 int16_t _geteuid(void); /* FUZIX system call 44 */ -CODE2 int16_t _getegid(void); /* FUZIX system call 45 */ -CODE2 int16_t _chroot(void); /* FUZIX system call 46 */ -CODE2 int16_t _fcntl(void); /* FUZIX system call 47 */ -CODE2 int16_t _fchdir(void); /* FUZIX system call 48 */ -CODE2 int16_t _fchmod(void); /* FUZIX system call 49 */ -CODE2 int16_t _fchown(void); /* FUZIX system call 50 */ -CODE2 int16_t _mkdir(void); /* FUZIX system call 51 */ -CODE2 int16_t _rmdir(void); /* FUZIX system call 52 */ -CODE2 int16_t _setpgrp(void); /* FUZIX system call 53 */ -CODE2 int16_t _uname(void); /* FUZIX system call 54 */ -CODE2 int16_t _waitpid(void); /* FUZIX system call 55 */ -CODE2 int16_t _profil(void); /* FUZIX system call 56 */ -CODE2 int16_t _uadmin(void); /* FUZIX system call 57 */ -CODE2 int16_t _nice(void); /* FUZIX system call 58 */ -CODE2 int16_t _sigdisp(void); /* FUZIX system call 59 */ -CODE2 int16_t _flock(void); /* FUZIX system call 60 */ -CODE2 int16_t _getpgrp(void); /* FUZIX system call 61 */ -CODE2 int16_t _sched_yield(void); /* FUZIX system call 62 */ +CODE2 arg_t __exit(void); /* FUZIX system call 0 */ +CODE2 arg_t _open(void); /* FUZIX system call 1 */ +CODE2 arg_t _close(void); /* FUZIX system call 2 */ +CODE2 arg_t _rename(void); /* FUZIX system call 3 */ +CODE2 arg_t _mknod(void); /* FUZIX system call 4 */ +CODE2 arg_t _link(void); /* FUZIX system call 5 */ +CODE2 arg_t _unlink(void); /* FUZIX system call 6 */ +CODE2 arg_t _read(void); /* FUZIX system call 7 */ +CODE2 arg_t _write(void); /* FUZIX system call 8 */ +CODE2 arg_t _lseek(void); /* FUZIX system call 9 */ +CODE2 arg_t _chdir(void); /* FUZIX system call 10 */ +CODE2 arg_t _sync(void); /* FUZIX system call 11 */ +CODE2 arg_t _access(void); /* FUZIX system call 12 */ +CODE2 arg_t _chmod(void); /* FUZIX system call 13 */ +CODE2 arg_t _chown(void); /* FUZIX system call 14 */ +CODE2 arg_t _stat(void); /* FUZIX system call 15 */ +CODE2 arg_t _fstat(void); /* FUZIX system call 16 */ +CODE2 arg_t _dup(void); /* FUZIX system call 17 */ +CODE2 arg_t _getpid(void); /* FUZIX system call 18 */ +CODE2 arg_t _getppid(void); /* FUZIX system call 19 */ +CODE2 arg_t _getuid(void); /* FUZIX system call 20 */ +CODE2 arg_t _umask(void); /* FUZIX system call 21 */ +CODE2 arg_t _getfsys(void); /* FUZIX system call 22 */ +CODE2 arg_t _execve(void); /* FUZIX system call 23 */ +CODE2 arg_t _getdirent(void); /* FUZIX system call 24 */ +CODE2 arg_t _setuid(void); /* FUZIX system call 25 */ +CODE2 arg_t _setgid(void); /* FUZIX system call 26 */ +CODE2 arg_t _time(void); /* FUZIX system call 27 */ +CODE2 arg_t _stime(void); /* FUZIX system call 28 */ +CODE2 arg_t _ioctl(void); /* FUZIX system call 29 */ +CODE2 arg_t _brk(void); /* FUZIX system call 30 */ +CODE2 arg_t _sbrk(void); /* FUZIX system call 31 */ +CODE2 arg_t _fork(void); /* FUZIX system call 32 */ +CODE2 arg_t _mount(void); /* FUZIX system call 33 */ +CODE2 arg_t _umount(void); /* FUZIX system call 34 */ +CODE2 arg_t _signal(void); /* FUZIX system call 35 */ +CODE2 arg_t _dup2(void); /* FUZIX system call 36 */ +CODE2 arg_t _pause(void); /* FUZIX system call 37 */ +CODE2 arg_t _alarm(void); /* FUZIX system call 38 */ +CODE2 arg_t _kill(void); /* FUZIX system call 39 */ +CODE2 arg_t _pipe(void); /* FUZIX system call 40 */ +CODE2 arg_t _getgid(void); /* FUZIX system call 41 */ +CODE2 arg_t _times(void); /* FUZIX system call 42 */ +CODE2 arg_t _utime(void); /* FUZIX system call 43 */ +CODE2 arg_t _geteuid(void); /* FUZIX system call 44 */ +CODE2 arg_t _getegid(void); /* FUZIX system call 45 */ +CODE2 arg_t _chroot(void); /* FUZIX system call 46 */ +CODE2 arg_t _fcntl(void); /* FUZIX system call 47 */ +CODE2 arg_t _fchdir(void); /* FUZIX system call 48 */ +CODE2 arg_t _fchmod(void); /* FUZIX system call 49 */ +CODE2 arg_t _fchown(void); /* FUZIX system call 50 */ +CODE2 arg_t _mkdir(void); /* FUZIX system call 51 */ +CODE2 arg_t _rmdir(void); /* FUZIX system call 52 */ +CODE2 arg_t _setpgrp(void); /* FUZIX system call 53 */ +CODE2 arg_t _uname(void); /* FUZIX system call 54 */ +CODE2 arg_t _waitpid(void); /* FUZIX system call 55 */ +CODE2 arg_t _profil(void); /* FUZIX system call 56 */ +CODE2 arg_t _uadmin(void); /* FUZIX system call 57 */ +CODE2 arg_t _nice(void); /* FUZIX system call 58 */ +CODE2 arg_t _sigdisp(void); /* FUZIX system call 59 */ +CODE2 arg_t _flock(void); /* FUZIX system call 60 */ +CODE2 arg_t _getpgrp(void); /* FUZIX system call 61 */ +CODE2 arg_t _sched_yield(void); /* FUZIX system call 62 */ #endif /* __FUZIX__KERNEL_DOT_H__ */ diff --git a/Kernel/mm.c b/Kernel/mm.c index c8269fa6..3c25fa7a 100644 --- a/Kernel/mm.c +++ b/Kernel/mm.c @@ -2,7 +2,7 @@ #include #include -unsigned int uputsys(unsigned char *from, unsigned int size) +unsigned int uputsys(unsigned char *from, usize_t size) { if (udata.u_sysio) memcpy(udata.u_base, from, size); @@ -11,7 +11,7 @@ unsigned int uputsys(unsigned char *from, unsigned int size) return size; } -unsigned int ugetsys(unsigned char *to, unsigned int size) +unsigned int ugetsys(unsigned char *to, usize_t size) { if (udata.u_sysio) memcpy(to, udata.u_base, size); diff --git a/Kernel/syscall_exec.c b/Kernel/syscall_exec.c index e2d758f0..40079ac7 100644 --- a/Kernel/syscall_exec.c +++ b/Kernel/syscall_exec.c @@ -62,7 +62,7 @@ char *envp[]; #define argv (char **)udata.u_argn1 #define envp (char **)udata.u_argn2 -int16_t _execve(void) +arg_t _execve(void) { staticfast inoptr ino; staticfast unsigned char *buf; diff --git a/Kernel/syscall_fs.c b/Kernel/syscall_fs.c index 3a175cae..78799a92 100644 --- a/Kernel/syscall_fs.c +++ b/Kernel/syscall_fs.c @@ -22,7 +22,7 @@ void updoff(void) /* We copy the 32bit offset in and out rather than passing it as a 32bit OS might */ -int16_t _lseek(void) +arg_t _lseek(void) { inoptr ino; struct oft *o; @@ -77,7 +77,7 @@ bad: sync() ********************************************/ -int16_t _sync(void) +arg_t _sync(void) { inoptr ino; @@ -108,7 +108,7 @@ int16_t _sync(void) #define path (char *)udata.u_argn #define buf (char *)udata.u_argn1 -int16_t _stat(void) +arg_t _stat(void) { inoptr ino; if (!(ino = n_open(path, NULLINOPTR))) @@ -130,7 +130,7 @@ int16_t _stat(void) #define fd (int16_t)udata.u_argn #define buf (char *)udata.u_argn1 -int16_t _fstat(void) +arg_t _fstat(void) { inoptr ino; @@ -154,7 +154,7 @@ int stcpy(inoptr ino, char *buf) } -int16_t dup_op(int fd, int base) +arg_t dup_op(int fd, int base) { int8_t newd; @@ -173,7 +173,7 @@ int16_t dup_op(int fd, int base) ********************************************/ #define oldd (uint16_t)udata.u_argn -int16_t _dup(void) +arg_t _dup(void) { int8_t newd; if (getinode(oldd) == NULLINODE) @@ -198,7 +198,7 @@ int16_t _dup(void) #define oldd (int16_t)udata.u_argn #define newd (int16_t)udata.u_argn1 -int16_t _dup2(void) +arg_t _dup2(void) { if (getinode(oldd) == NULLINODE) @@ -228,7 +228,7 @@ int16_t _dup2(void) ********************************************/ #define mask (int16_t)udata.u_argn -int16_t _umask(void) +arg_t _umask(void) { int omask; @@ -251,7 +251,7 @@ int16_t _umask(void) #define request (int)udata.u_argn1 #define data (char *)udata.u_argn2 -int16_t _ioctl(void) +arg_t _ioctl(void) { inoptr ino; uint16_t dev; @@ -292,7 +292,7 @@ int16_t uindex; ********************************************/ #define uindex (int8_t)udata.u_argn -int16_t _close(void) +arg_t _close(void) { return (doclose(uindex)); } @@ -306,7 +306,7 @@ int fildes[]; ********************************************/ #define fildes (int16_t *)udata.u_argn -int16_t _pipe(void) +arg_t _pipe(void) { int8_t u1, u2, oft1, oft2; inoptr ino; @@ -364,7 +364,7 @@ char *path; #define path (char *)udata.u_argn /* Helper for the bits shared with rename */ -int16_t unlinki(inoptr ino, inoptr pino, char *fname) +arg_t unlinki(inoptr ino, inoptr pino, char *fname) { if (getmode(ino) == F_DIR) { udata.u_error = EISDIR; @@ -385,7 +385,7 @@ int16_t unlinki(inoptr ino, inoptr pino, char *fname) } /* kind of pinned here by unlinki() */ -int16_t _unlink(void) +arg_t _unlink(void) { inoptr ino; inoptr pino; @@ -421,7 +421,7 @@ uint16_t nbytes; #define buf (char *)udata.u_argn1 #define nbytes (susize_t)udata.u_argn2 -int16_t _read(void) +arg_t _read(void) { inoptr ino; uint8_t flag; @@ -456,7 +456,7 @@ uint16_t nbytes; * Trivial helper to isolate directory size changes * if we make them. */ -int16_t _getdirent(void) +arg_t _getdirent(void) { if (nbytes < 32) { udata.u_error = ENOSPC; @@ -481,7 +481,7 @@ uint16_t nbytes; #define buf (char *)udata.u_argn1 #define nbytes (susize_t)udata.u_argn2 -int16_t _write(void) +arg_t _write(void) { inoptr ino; uint8_t flag; diff --git a/Kernel/syscall_fs2.c b/Kernel/syscall_fs2.c index 379dd726..3bf448b5 100644 --- a/Kernel/syscall_fs2.c +++ b/Kernel/syscall_fs2.c @@ -8,7 +8,7 @@ * we can potentially bank them out if we do a 32K/32K mode) */ -static int16_t chdiroot_op(inoptr ino, inoptr * p) +static arg_t chdiroot_op(inoptr ino, inoptr * p) { if (getmode(ino) != F_DIR) { udata.u_error = ENOTDIR; @@ -26,7 +26,7 @@ static int16_t chdiroot_op(inoptr ino, inoptr * p) ********************************************/ #define dir (char *)udata.u_argn -int16_t _chdir(void) +arg_t _chdir(void) { inoptr newcwd; @@ -43,7 +43,7 @@ int16_t _chdir(void) ********************************************/ #define fd (int16_t)udata.u_argn -int16_t _fchdir(void) +arg_t _fchdir(void) { inoptr newcwd; @@ -61,7 +61,7 @@ int16_t _fchdir(void) ********************************************/ #define dir (char *)udata.u_argn -int16_t _chroot(void) +arg_t _chroot(void) { inoptr newroot; @@ -85,7 +85,7 @@ int16_t _chroot(void) #define mode (int16_t)udata.u_argn1 #define dev (int16_t)udata.u_argn2 -int16_t _mknod(void) +arg_t _mknod(void) { inoptr ino; inoptr parent; @@ -140,7 +140,7 @@ int16_t _mknod(void) #define path (char *)udata.u_argn #define mode (int16_t)udata.u_argn1 -int16_t _access(void) +arg_t _access(void) { inoptr ino; uint16_t euid; @@ -182,7 +182,7 @@ int16_t _access(void) #define mode (int16_t)udata.u_argn1 -static int16_t chmod_op(inoptr ino) +static arg_t chmod_op(inoptr ino) { if (ino->c_node.i_uid != udata.u_euid && esuper()) return (-1); @@ -202,7 +202,7 @@ static int16_t chmod_op(inoptr ino) ********************************************/ #define path (char *)udata.u_argn -int16_t _chmod(void) +arg_t _chmod(void) { inoptr ino; int ret; @@ -223,7 +223,7 @@ int16_t _chmod(void) ********************************************/ #define fd (int16_t)udata.u_argn -int16_t _fchmod(void) +arg_t _fchmod(void) { inoptr ino; @@ -259,7 +259,7 @@ static int chown_op(inoptr ino) ********************************************/ #define path (char *)udata.u_argn -int16_t _chown(void) +arg_t _chown(void) { inoptr ino; int ret; @@ -281,7 +281,7 @@ int16_t _chown(void) ********************************************/ #define fd (int16_t)udata.u_argn -int16_t _fchown(void) +arg_t _fchown(void) { inoptr ino; @@ -301,7 +301,7 @@ int16_t _fchown(void) #define file (char *)udata.u_argn #define buf (char *)udata.u_argn1 -int16_t _utime(void) +arg_t _utime(void) { inoptr ino; time_t t[2]; @@ -348,7 +348,7 @@ out2: *******************************************/ #define fd (int16_t)udata.u_argn -int16_t _acct(void) +arg_t _acct(void) { #ifdef CONFIG_ACCT inoptr inode; @@ -387,7 +387,7 @@ int16_t _acct(void) #define dev (uint16_t)udata.u_argn #define buf (struct filesys *)udata.u_argn1 -int16_t _getfsys(void) +arg_t _getfsys(void) { struct mount *m = fs_tab_get(dev); if (m == NULL || m->m_dev == NO_DEVICE) { @@ -411,7 +411,7 @@ int16_t mode; #define flag (uint16_t)udata.u_argn1 #define mode (uint16_t)udata.u_argn2 -int16_t _open(void) +arg_t _open(void) { int8_t uindex; int8_t oftindex; @@ -538,7 +538,7 @@ char *name2; #define name1 (char *)udata.u_argn #define name2 (char *)udata.u_argn1 -int16_t _link(void) +arg_t _link(void) { inoptr ino; inoptr ino2; @@ -603,7 +603,7 @@ int16_t _link(void) #define request (int)udata.u_argn1 #define data (int)udata.u_argn2 -int16_t _fcntl(void) +arg_t _fcntl(void) { uint8_t *acc; int newd; @@ -657,7 +657,7 @@ with node name. Rest is up to the libc. #define buf (char *)udata.u_argn #define len (uint16_t)udata.u_argn1 -int16_t _uname(void) +arg_t _uname(void) { uint16_t size = sizeof(sysinfo) + uname_len; if (size > len) @@ -685,7 +685,7 @@ Perform locking upon a file. #define file (uint16_t)udata.u_argn #define lockop (uint16_t)udata.u_argn1 -int16_t _flock(void) +arg_t _flock(void) { inoptr ino; struct oft *o; diff --git a/Kernel/syscall_other.c b/Kernel/syscall_other.c index 1bb36074..f41475d0 100644 --- a/Kernel/syscall_other.c +++ b/Kernel/syscall_other.c @@ -24,7 +24,7 @@ put inside itself! #define src (char *)udata.u_argn #define dst (char *)udata.u_argn1 -int16_t _rename(void) +arg_t _rename(void) { staticfast inoptr srci, srcp, dsti, dstp; char fname[FILENAME_LEN + 1]; @@ -109,7 +109,7 @@ int16_t _rename(void) #define name (char *)udata.u_argn #define mode (int16_t)udata.u_argn1 -int16_t _mkdir(void) +arg_t _mkdir(void) { inoptr ino; inoptr parent; @@ -172,7 +172,7 @@ char *path; ********************************************/ #define path (char *)udata.u_argn -int16_t _rmdir(void) +arg_t _rmdir(void) { inoptr ino; inoptr parent; @@ -245,7 +245,7 @@ int16_t _rmdir(void) #define dir (char *)udata.u_argn1 #define flags (int)udata.u_argn2 -int16_t _mount(void) +arg_t _mount(void) { inoptr sino, dino; uint16_t dev; @@ -312,7 +312,7 @@ int16_t _mount(void) ********************************************/ #define spec (char *)udata.u_argn -int16_t _umount(void) +arg_t _umount(void) { inoptr sino; uint16_t dev; @@ -371,9 +371,9 @@ int16_t _umount(void) /******************************************* profil (samples, size, offset, scale) Function 56 char *samples; -uint16_t offset; -uint16_t size; -uint8_t scale; +usize_t offset; +usize_t size; +uint16_t scale; ********************************************/ #define samples (char *)udata.u_argn @@ -381,7 +381,7 @@ uint8_t scale; #define size (usize_t)udata.u_argn2 #define scale (uint16_t)udata.u_argn3 -int16_t _profil(void) +arg_t _profil(void) { #ifdef CONFIG_PROFIL /* For performance reasons scale as @@ -422,7 +422,7 @@ char *ptr; #define func (int16_t)udata.u_argn1 #define ptr (char *)udata.u_argn2 -int16_t _uadmin(void) +arg_t _uadmin(void) { if (!esuper()) return -1; @@ -443,7 +443,7 @@ int16_t pri; ********************************************/ #define pri (int16_t)udata.u_argn -int16_t _nice(void) +arg_t _nice(void) { ptptr p = udata.u_ptab; int16_t np; diff --git a/Kernel/syscall_proc.c b/Kernel/syscall_proc.c index b7c4a716..e113eb1c 100644 --- a/Kernel/syscall_proc.c +++ b/Kernel/syscall_proc.c @@ -10,7 +10,7 @@ Getpid () Function 18 Return Process ID Number (PID) to Caller. ********************************************/ -int16_t _getpid(void) +arg_t _getpid(void) { return (udata.u_ptab->p_pid); } @@ -22,7 +22,7 @@ Getppid () Function 19 Return Parent's Process ID Number (PPID). ********************************************/ -int16_t _getppid(void) +arg_t _getppid(void) { return (udata.u_ptab->p_pptr->p_pid); } @@ -34,7 +34,7 @@ Getuid () Function 20 Return User ID Number (UID) to Caller. ********************************************/ -int16_t _getuid(void) +arg_t _getuid(void) { return (udata.u_ptab->p_uid); } @@ -46,7 +46,7 @@ Geteuid () Function 44 Return Effective User ID Number (EUID). ********************************************/ -int16_t _geteuid(void) +arg_t _geteuid(void) { return (udata.u_euid); } @@ -58,7 +58,7 @@ Getgid () Function 41 Return Group ID Number (GID) to Caller. ********************************************/ -int16_t _getgid(void) +arg_t _getgid(void) { return (udata.u_gid); } @@ -70,7 +70,7 @@ Getegid () Function 45 Return Effective Group ID Number (EGID). ********************************************/ -int16_t _getegid(void) +arg_t _getegid(void) { return (udata.u_egid); } @@ -84,9 +84,9 @@ int uid; Set User ID Number (UID) of Process. Must be SuperUser or owner, else Error (EPERM). ********************************************/ -#define uid (int)udata.u_argn +#define uid (uint16_t)udata.u_argn -int16_t _setuid(void) +arg_t _setuid(void) { if (super() || udata.u_ptab->p_uid == uid) { udata.u_ptab->p_uid = uid; @@ -110,7 +110,7 @@ User or in Group to Set, else Error (EPERM). ********************************************/ #define gid (int16_t)udata.u_argn -int16_t _setgid(void) +arg_t _setgid(void) { if (super() || udata.u_gid == gid) { udata.u_gid = gid; @@ -135,7 +135,7 @@ Read Clock Time/Date to User Buffer. #define tvec (time_t *)udata.u_argn #define type (uint16_t)udata.u_argn1 -int16_t _time(void) +arg_t _time(void) { time_t t; switch (type) { @@ -167,7 +167,7 @@ When active, must be SuperUser to Set Time. #define tvec (time_t *)udata.u_argn #define type (uint16_t)udata.u_argn1 -int16_t _stime(void) +arg_t _stime(void) { time_t t; if (type != 0) { @@ -190,7 +190,7 @@ char *buf; ********************************************/ #define buf (char *)udata.u_argn -int16_t _times(void) +arg_t _times(void) { irqflags_t irq; @@ -215,18 +215,18 @@ char *addr; ********************************************/ #define addr (char *)udata.u_argn -int16_t _brk(void) +arg_t _brk(void) { /* FIXME: when we start building binaries with the stack embedded in them they will need a different test.. */ /* Don't allow break to be set past user's stack pointer */ /*** St. Nitschke allow min. of 512 bytes for Stack ***/ - if (addr >= (char *) (udata.u_syscall_sp) - 512) { + if (addr >= (char *) brk_limit()) { kprintf("%d: out of memory\n", udata.u_ptab->p_pid); udata.u_error = ENOMEM; return (-1); } - udata.u_break = (unsigned) addr; + udata.u_break = (uaddr_t) addr; return (0); } @@ -238,11 +238,11 @@ int16_t _brk(void) sbrk (incr) Function 31 uint16_t incr; ********************************************/ -#define incr (uint16_t)udata.u_argn +#define incr (usize_t)udata.u_argn -int16_t _sbrk(void) +arg_t _sbrk(void) { - unsigned oldbrk; + uaddr_t oldbrk; udata.u_argn += (oldbrk = udata.u_break); if ((unsigned) udata.u_argn < oldbrk) @@ -265,7 +265,7 @@ int options; #define statloc (int *)udata.u_argn1 #define options (int)udata.u_argn2 -int16_t _waitpid(void) +arg_t _waitpid(void) { ptptr p; int retval; @@ -331,7 +331,7 @@ int16_t val; ********************************************/ #define val (int16_t)udata.u_argn -int16_t __exit(void) +arg_t __exit(void) { doexit(val, 0); return 0; // ... yeah. that might not happen. @@ -343,11 +343,11 @@ int16_t __exit(void) fork () Function 32 ********************************************/ -int16_t _fork(void) +arg_t _fork(void) { // allocate new process struct p_tab *new_process; - int16_t r; + arg_t r; irqflags_t irq; new_process = ptab_alloc(); @@ -390,7 +390,7 @@ uint16_t t; #define t (int16_t)udata.u_argn -int16_t _pause(void) +arg_t _pause(void) { /* 0 is a traditional "pause", n is a timeout for doing sleep etc without ugly alarm hacks */ @@ -415,9 +415,9 @@ int16_t sig; int16_t (*func)(); ********************************************/ #define sig (int16_t)udata.u_argn -#define func (int16_t (*)())udata.u_argn1 +#define func (int (*)())udata.u_argn1 -int16_t _signal(void) +arg_t _signal(void) { int16_t retval; irqflags_t irq; @@ -462,7 +462,7 @@ int16_t disp; #define disp (int16_t)udata.u_argn1 /* Implement sighold/sigrelse */ -int16_t _sigdisp(void) +arg_t _sigdisp(void) { if (sig < 1 || sig >= NSIGS || sig == SIGKILL || sig == SIGSTOP) { udata.u_error = EINVAL; @@ -486,7 +486,7 @@ int16_t sig; #define pid (int16_t)udata.u_argn #define sig (int16_t)udata.u_argn1 -int16_t _kill(void) +arg_t _kill(void) { ptptr p; int f = 0, s = 0; @@ -529,13 +529,13 @@ int16_t _kill(void) /******************************************* _alarm (secs) Function 38 -uint16_t secs; +uarg_t secs; ********************************************/ -#define secs (int16_t)udata.u_argn +#define secs (uarg_t)udata.u_argn -int16_t _alarm(void) +arg_t _alarm(void) { - int16_t retval; + arg_t retval; retval = udata.u_ptab->p_alarm / 10; udata.u_ptab->p_alarm = secs * 10; @@ -548,7 +548,7 @@ int16_t _alarm(void) setpgrp (void) Function 53 ********************************************/ -int16_t _setpgrp(void) +arg_t _setpgrp(void) { udata.u_ptab->p_pgrp = udata.u_ptab->p_pid; return (0); @@ -558,7 +558,7 @@ int16_t _setpgrp(void) getpgrp (void) Function 61 *********************************************/ -int16_t _getpgrp(void) +arg_t _getpgrp(void) { udata.u_ptab->p_pgrp = udata.u_ptab->p_pid; return (0); @@ -568,7 +568,7 @@ int16_t _getpgrp(void) _sched_yield (void) Function 62 ********************************************/ -int16_t _sched_yield(void) +arg_t _sched_yield(void) { if (nready > 1) switchin(getproc()); -- 2.34.1