1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
|
; @(#)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
*/
|