types: set the type definitions ready for non 8bit 16bit addressed
authorAlan Cox <alan@linux.intel.com>
Mon, 26 Jan 2015 22:54:35 +0000 (22:54 +0000)
committerAlan Cox <alan@linux.intel.com>
Mon, 26 Jan 2015 22:54:35 +0000 (22:54 +0000)
Kernel/devio.c
Kernel/devsys.c
Kernel/include/kernel.h
Kernel/mm.c
Kernel/syscall_exec.c
Kernel/syscall_fs.c
Kernel/syscall_fs2.c
Kernel/syscall_other.c
Kernel/syscall_proc.c

index d584387..d4e27f0 100644 (file)
@@ -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;
index fe05ee2..8101bb7 100644 (file)
@@ -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;
index 8f43f70..486314c 100644 (file)
@@ -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__ */
index c8269fa..3c25fa7 100644 (file)
@@ -2,7 +2,7 @@
 #include <kdata.h>
 #include <printf.h>
 
-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);
index e2d758f..40079ac 100644 (file)
@@ -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;
index 3a175ca..78799a9 100644 (file)
@@ -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;
index 379dd72..3bf448b 100644 (file)
@@ -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;
index 1bb3607..f41475d 100644 (file)
@@ -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;
index b7c4a71..e113eb1 100644 (file)
@@ -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());