Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ sysmips(2) — IRIX 6.5.3f

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

cachectl(2)

cacheflush(2)

sethostname(2)

signal(2)

stime(2)

uname(2)

swap(1M)



SYSMIPS(2)                                                          SYSMIPS(2)



NAME
     sysmips - MIPS Computer Systems Inc. system call

SYNOPSIS
     #include <sys/sysmips.h>

     int sysmips (int cmd, int arg1, int arg2, int arg3);

DESCRIPTION
     sysmips is the interface to various machine specific functions.  The cmd
     argument determines the function performed.  The number of arguments
     expected is dependent on the function.

     SETNAME
          This function renames the system, which is sometimes referred to as
          the node name or host name.  A single argument of type char * is
          expected.  This points to a string that has a length less or equal
          to MAXHOSTNAMELEN characters (defined in param.h).

     Note that this function is obsolescent. Instead, uname(2) should be used.

     STIME
          This function sets the system time and date.  The single argument is
          of type long and contains the time as measured in seconds from
          00:00:00 GMT January 1, 1970.  It does not affect the hardware
          battery backed up time-of-day clock.  Note that this command is only
          available to the super-user.

     FLUSHCACHE
          This function flushes both the instruction and data caches.  On
          multiprocessor systems, all caches on all processors are flushed.
          For finer control, use cacheflush(2).  No arguments are expected.

     SMIPSSWPI
          Add to, delete from, or determine the currently active swap areas.
          The address of an appropriately primed swap buffer is passed as the
          only argument.  (This buffer is displayed below and defined in the
          sys/swap.h header file; refer to this file for details of loading
          the buffer.)

          The format of the swap buffer is:

          struct swapinf {
               char *si_cmd;       /* command: list, add, delete */
               char *si_buf;       /* swap file path pointer */
               int   si_swplo;          /* start block */
               int   si_nblks;          /* swap size */
          }

          Note that the add and delete options of the command may only be
          exercised by the super-user.




                                                                        Page 1





SYSMIPS(2)                                                          SYSMIPS(2)



     MIPSFIXADE
          This function enables or disables the transparent recovery from
          unaligned address exceptions for the current process.  If arg1 is 1,
          recovery is enabled. If arg1 is 0, recovery is disabled.  For
          example, a halfword data access on an odd byte boundary would
          ordinarily generate a SIGBUS signal to the user.  After calling this
          function with arg1 set to 1, the operating system will attempt to
          allow the access to complete by retrying the access using byte-wise
          instructions.

     MIPSFPSIGINTR
          This function permits the caller to decide what happens when a
          floating point operation requires operating system intervention.  If
          arg1 is 0, then these floating point operations are silently
          executed by the operating system.  If arg1 is a 1, then a SIGFPE
          signal is generated before the operation is handled.  The process's
          SIGFPE signal handler may then determine exactly what caused the
          floating point hardware to require software intervention.  The
          operating system, before sending the signal, will change the value
          from a 1 to a 2 which means the next time an operation requires
          operating system assistance, the SIGFPE will not be generated,
          rather the value will be set back to a 1, and the operation will be
          performed.  All other values for arg1 are ignored.  This action is
          cleared on exec(2) and inherited on fork(2) and sproc(2).  A more
          complete exception handling package may be found in
          handle_sigfpes(3C).

     When cmd is invalid, errno is set to EINVAL on return.

     In addition, the cmd SETNAME may also return:

     [EFAULT]       The argument points to an invalid address.

     The cmd SMIPSSWPI may also return:

     [EFAULT]       Swapbuf points to an invalid address.

     [EFAULT]       Swapbuf.si_buf points to an invalid address.

     [ENOTBLK]      Swap area specified is not a block special device.

     [EEXIST]       Swap area specified has already been added.

     [ENOSPC]       Too many swap areas in use (if adding).

     [ENOMEM]       Tried to delete last remaining swap area.

     [ENOMEM]       No place to put swapped pages when deleting a swap area.

     [EINVAL]       Bad arguments.





                                                                        Page 2





SYSMIPS(2)                                                          SYSMIPS(2)



SEE ALSO
     cachectl(2), cacheflush(2), sethostname(2), signal(2), stime(2),
     uname(2), handlesigfpes(3C), swap(1M).

DIAGNOSTICS
     Upon successful completion, the value returned is zero.  Otherwise, a
     value of -1 is returned and errno is set to indicate the error.

BUGS
     The command code MIPSFPU is defined in sys/sysmips.h but is not
     implemented.












































                                                                        Page 3



Typewritten Software • bear@typewritten.org • Edmonds, WA 98026