mirror of
git://sourceware.org/git/newlib-cygwin.git
synced 2025-01-23 23:47:22 +08:00
166 lines
3.9 KiB
C
166 lines
3.9 KiB
C
; @(#)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
|
|
*/
|