SYSMIPS(2) SYSMIPS(2)
sysmips - MIPS Computer Systems Inc. system call
#include <sys/sysmips.h>
int sysmips (int cmd, int arg1, int arg2, int arg3);
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 [Toc] [Back]
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 [Toc] [Back]
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.
FLUSH_CACHE [Toc] [Back]
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 [Toc] [Back]
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)
MIPS_FIXADE [Toc] [Back]
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.
MIPS_FPSIGINTR [Toc] [Back]
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)
cachectl(2), cacheflush(2), sethostname(2), signal(2), stime(2),
uname(2), handle_sigfpes(3C), swap(1M).
Upon successful completion, the value returned is zero. Otherwise, a
value of -1 is returned and errno is set to indicate the error.
The command code MIPS_FPU is defined in sys/sysmips.h but is not
implemented.
PPPPaaaaggggeeee 3333 [ Back ]
|