blob: 01ff9eec21f0bc2914ce8a088baa4b8d8d712825 [file] [log] [blame]
; @(#)sysmac.h 1.7 90/10/14 20:56:17, Copyright 1988, 1989, 1990 AMD
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Copyright 1988, 1989, 1990 Advanced Micro Devices, Inc.
;
; This software is the property of Advanced Micro Devices, Inc (AMD) which
; specifically grants the user the right to modify, use and distribute this
; software provided this notice is not removed or altered. All other rights
; are reserved by AMD.
;
; AMD MAKES NO WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, WITH REGARD TO THIS
; SOFTWARE. IN NO EVENT SHALL AMD BE LIABLE FOR INCIDENTAL OR CONSEQUENTIAL
; DAMAGES IN CONNECTION WITH OR ARISING FROM THE FURNISHING, PERFORMANCE, OR
; USE OF THIS SOFTWARE.
;
; So that all may benefit from your experience, please report any problems
; or suggestions about this software to the 29K Technical Support Center at
; 800-29-29-AMD (800-292-9263) in the USA, or 0800-89-1131 in the UK, or
; 0031-11-1129 in Japan, toll free. The direct dial number is 512-462-4118.
;
; Advanced Micro Devices, Inc.
; 29K Support Products
; Mail Stop 573
; 5900 E. Ben White Blvd.
; Austin, TX 78741
; 800-292-9263
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; sysmac.h
;
.include "sys/proreg.h"
; Supported system call function numbers - BSD emulation
.equ BSD_exit, 1
.equ BSD_open, 5
.equ BSD_close, 6
.equ BSD_remove, 10
.equ BSD_lseek, 19
.equ BSD_sbrk, 69
.equ BSD_readv, 120
.equ BSD_writev, 121
.equ BSD_rename, 128
; Functions above 0x100 are handled by Am29000 code
.equ BSD_alloc, 0x101
.equ BSD_free, 0x102
.equ BSD_getpagesize, 0x103
.equ BSD_clock, 0x111
; Supported system call function numbers - HIF version 2.0
.equ HIF_exit, 0x01
.equ HIF_open, 0x11
.equ HIF_close, 0x12
.equ HIF_read, 0x13
.equ HIF_write, 0x14
.equ HIF_lseek, 0x15
.equ HIF_remove, 0x16
.equ HIF_rename, 0x17
.equ HIF_ioctl, 0x18
.equ HIF_iowait, 0x19
.equ HIF_iostat, 0x1a
.equ HIF_tmpnam, 0x21
.equ HIF_time, 0x31
.equ HIF_getenv, 0x41
.equ HIF_gettz, 0x43
.equ HIF_sysalloc, 0x101
.equ HIF_alloc, HIF_sysalloc ;Synonym.
.equ HIF_sysfree, 0x102
.equ HIF_free, HIF_sysfree ;Synonym.
.equ HIF_getpsize, 0x103
.equ HIF_getpagesize,HIF_getpsize ;Synonym.
.equ HIF_getargs, 0x104
.equ HIF_clock, 0x111
.equ HIF_cycles, 0x112
.equ HIF_setvec, 0x121
.equ HIF_settrap, 0x122
.equ HIF_setim, 0x123
.equ HIF_query, 0x131
.equ HIF_signal, 0x141
.equ HIF_sigdfl, 0x142
.equ HIF_sigret, 0x143
.equ HIF_sigrep, 0x144
.equ HIF_sigskp, 0x145
.equ HIF_sendsig, 0x146
;Maintain compatibility with HIF 1.0 code.
.equ EPI_exit, HIF_exit
.equ EPI_open, HIF_open
.equ EPI_close, HIF_close
.equ EPI_read, HIF_read
.equ EPI_write, HIF_write
.equ EPI_lseek, HIF_lseek
.equ EPI_remove, HIF_remove
.equ EPI_rename, HIF_rename
.equ EPI_tmpnam, HIF_tmpnam
.equ EPI_time, HIF_time
.equ EPI_getenv, HIF_getenv
.equ EPI_gettz, HIF_gettz
.equ EPI_alloc, HIF_sysalloc
.equ EPI_free, HIF_sysfree
.equ EPI_getpagesize, HIF_getpsize
.equ EPI_getargs, HIF_getargs
.equ EPI_clock, HIF_clock
.equ EPI_cycles, HIF_cycles
.equ EPI_setvec, HIF_setvec
.equ V_SYSCALL, 69
; System call macros
/* Now that source files have been sed'd to avoid these macros, they
are just commented out. -- gnu@cygnus.com Oct 90
.ifdef _BSD_OS
.equ V_SYSCALL, 66
.else
.equ V_SYSCALL, 69
.endif
.macro syscall, name
.ifdef _BSD_OS
const tav, SYS_@name
.else
const tav, HIF_@name
.endif
asneq V_SYSCALL, gr1, gr1
.endm
; error return
; set errno to the error value in tav.
; return -1
;
.macro returnerr
;; .extern _errno ; rather have undef'd sym than multiple def's
const tpc, _errno
consth tpc, _errno
store 0, 0, tav, tpc
jmpi lr0
constn v0, -1
.endm
; package the most common case in one macro
;
.macro system, name
syscall name
jmpti tav, lr0
returnerr
.endm
*/