FEDRA emulsion software from the OPERA Collaboration
intlevel.h
Go to the documentation of this file.
1
/*******************************************************************
2
*
3
* COPYRIGHT (c) 2000 Matrox Electronic Systems Ltd.
4
* All Rights Reserved
5
*
6
*******************************************************************/
7
8
/*******************************************************************
9
*
10
* Synopsis: Prototypes for interrupt sources.
11
*
12
* Notes:
13
*
14
*******************************************************************/
15
16
#ifndef __INTLEVEL_H__
17
#define __INTLEVEL_H__
18
19
#if !defined(_IM_LOCAL_CODE) && defined(SHOW_INCLUDE_FILE)
20
#pragma message ("#include "
__FILE__)
21
#endif
22
23
#include <linx_reg.h>
24
25
/* Each section use 32 semaphores */
26
#define _MP_MAX_SEMA_BY_SECTION (64)
27
#define _MP_CONTROL_SEMA_OFFSET (0)
28
#define _MP_SOF_SEMA_OFFSET (_MP_CONTROL_SEMA_OFFSET + _MP_MAX_SEMA_BY_SECTION)
29
#define _MP_LINE_INT_SEMA_OFFSET (_MP_SOF_SEMA_OFFSET + _MP_MAX_SEMA_BY_SECTION)
30
#define _MP_EOW_SEMA_OFFSET (_MP_LINE_INT_SEMA_OFFSET + _MP_MAX_SEMA_BY_SECTION)
31
#define _MP_EOF_SEMA_OFFSET (_MP_EOW_SEMA_OFFSET + _MP_MAX_SEMA_BY_SECTION)
32
#define _MP_GPR_SEMA_OFFSET (_MP_EOF_SEMA_OFFSET + _MP_MAX_SEMA_BY_SECTION)
33
34
#define _MP_INTLVL_MASK 0x3f
/* Bit 0 to 63 */
35
#define _MP_SECTION_SHIFT 6
36
37
/* Interrupt status 0 */
38
#define MP_OASIS_INTLVL_HOST_NOT_EMPTY (_MP_CONTROL_SEMA_OFFSET + 0)
39
#define MP_OASIS_INTFLG_HOST_NOT_EMPTY ((REG_LLONG_TYPE)0x1)
40
#define MP_OASIS_INTLVL_HOST_THRESHOLD (_MP_CONTROL_SEMA_OFFSET + 1)
41
#define MP_OASIS_INTFLG_HOST_THRESHOLD ((REG_LLONG_TYPE)0x2)
42
#define MP_OASIS_INTLVL_HOST_FULL (_MP_CONTROL_SEMA_OFFSET + 2)
43
#define MP_OASIS_INTFLG_HOST_FULL ((REG_LLONG_TYPE)0x4)
44
#define MP_OASIS_INTLVL_NODE_NOT_EMPTY (_MP_CONTROL_SEMA_OFFSET + 3)
45
#define MP_OASIS_INTFLG_NODE_NOT_EMPTY ((REG_LLONG_TYPE)0x8)
46
#define MP_OASIS_INTLVL_NODE_THRESHOLD (_MP_CONTROL_SEMA_OFFSET + 4)
47
#define MP_OASIS_INTFLG_NODE_THRESHOLD ((REG_LLONG_TYPE)0x10)
48
#define MP_OASIS_INTLVL_NODE_FULL (_MP_CONTROL_SEMA_OFFSET + 5)
49
#define MP_OASIS_INTFLG_NODE_FULL ((REG_LLONG_TYPE)0x20)
50
#define MP_OASIS_INTLVL_DEBUG_NOT_EMPTY (_MP_CONTROL_SEMA_OFFSET + 6)
51
#define MP_OASIS_INTFLG_DEBUG_NOT_EMPTY ((REG_LLONG_TYPE)0x40)
52
#define MP_OASIS_INTLVL_DEBUG_THRESHOLD (_MP_CONTROL_SEMA_OFFSET + 7)
53
#define MP_OASIS_INTFLG_DEBUG_THRESHOLD ((REG_LLONG_TYPE)0x80)
54
#define MP_OASIS_INTLVL_MSG_OUT_SOF (_MP_CONTROL_SEMA_OFFSET + 8)
55
#define MP_OASIS_INTFLG_MSG_OUT_SOF ((REG_LLONG_TYPE)0x100)
56
#define MP_OASIS_INTLVL_MSG_OUT_EOF (_MP_CONTROL_SEMA_OFFSET + 9)
57
#define MP_OASIS_INTFLG_MSG_OUT_EOF ((REG_LLONG_TYPE)0x200)
58
#define MP_OASIS_INTLVL_LINK1_INT (_MP_CONTROL_SEMA_OFFSET + 10)
59
#define MP_OASIS_INTFLG_LINK1_INT ((REG_LLONG_TYPE)0x400)
60
#define MP_OASIS_INTLVL_PA_INT (_MP_CONTROL_SEMA_OFFSET + 11)
61
#define MP_OASIS_INTFLG_PA_INT ((REG_LLONG_TYPE)0x800)
62
#define MP_OASIS_INTLVL_PPC_FAULT (_MP_CONTROL_SEMA_OFFSET + 12)
63
#define MP_OASIS_INTFLG_PPC_FAULT ((REG_LLONG_TYPE)0x1000)
64
#define MP_OASIS_INTLVL_MSG0_EOF (_MP_CONTROL_SEMA_OFFSET + 13)
65
#define MP_OASIS_INTFLG_MSG0_EOF ((REG_LLONG_TYPE)0x2000)
66
#define MP_OASIS_INTLVL_LINK0_EOF (_MP_CONTROL_SEMA_OFFSET + 14)
67
#define MP_OASIS_INTFLG_LINK0_EOF ((REG_LLONG_TYPE)0x4000)
68
#define MP_OASIS_INTLVL_LINK1_EOF (_MP_CONTROL_SEMA_OFFSET + 15)
69
#define MP_OASIS_INTFLG_LINK1_EOF ((REG_LLONG_TYPE)0x8000)
70
#define MP_OASIS_INTLVL_MEM_FAULT (_MP_CONTROL_SEMA_OFFSET + 16)
71
#define MP_OASIS_INTFLG_MEM_FAULT ((REG_LLONG_TYPE)0x10000)
72
#define MP_OASIS_INTLVL_MEM_CALIB (_MP_CONTROL_SEMA_OFFSET + 17)
73
#define MP_OASIS_INTFLG_MEM_CALIB ((REG_LLONG_TYPE)0x20000)
74
#define MP_OASIS_INTLVL_CHANNEL0_BC_ERR (_MP_CONTROL_SEMA_OFFSET + 18)
75
#define MP_OASIS_INTFLG_CHANNEL0_BC_ERR ((REG_LLONG_TYPE)0x40000)
76
#define MP_OASIS_INTLVL_CHANNEL1_BC_ERR (_MP_CONTROL_SEMA_OFFSET + 19)
77
#define MP_OASIS_INTFLG_CHANNEL1_BC_ERR ((REG_LLONG_TYPE)0x80000)
78
#define MP_OASIS_INTLVL_VID_STR_OUT_CHAN0 (_MP_CONTROL_SEMA_OFFSET + 20)
79
#define MP_OASIS_INTFLG_VID_STR_OUT_CHAN0 ((REG_LLONG_TYPE)0x100000)
80
#define MP_OASIS_INTLVL_VID_STR_OUT_CHAN1 (_MP_CONTROL_SEMA_OFFSET + 21)
81
#define MP_OASIS_INTFLG_VID_STR_OUT_CHAN1 ((REG_LLONG_TYPE)0x200000)
82
#define MP_OASIS_INTLVL_MSG_STR_TIMER0 (_MP_CONTROL_SEMA_OFFSET + 22)
83
#define MP_OASIS_INTFLG_MSG_STR_TIMER0 ((REG_LLONG_TYPE)0x400000)
84
#define MP_OASIS_INTLVL_MSG_STR_TIMER1 (_MP_CONTROL_SEMA_OFFSET + 23)
85
#define MP_OASIS_INTFLG_MSG_STR_TIMER1 ((REG_LLONG_TYPE)0x800000)
86
87
88
/* Interrupt status 1 */
89
#define MP_OASIS_INTLVL_STREAM_SOF(X) (_MP_SOF_SEMA_OFFSET + X)
90
#define MP_OASIS_INTFLG_STREAM_SOF(X) ((REG_LLONG_TYPE)1 << (REG_LLONG_TYPE)X)
91
92
/* Interrupt status 2 */
93
#define MP_OASIS_INTLVL_STREAM_LINE_INT(X) (_MP_LINE_INT_SEMA_OFFSET + X)
94
#define MP_OASIS_INTFLG_STREAM_LINE_INT(X) ((REG_LLONG_TYPE)1 << (REG_LLONG_TYPE)X)
95
96
/* Interrupt status 3 */
97
#define MP_OASIS_INTLVL_STREAM_EOW(X) (_MP_EOW_SEMA_OFFSET + X)
98
#define MP_OASIS_INTFLG_STREAM_EOW(X) ((REG_LLONG_TYPE)1 << (REG_LLONG_TYPE)X)
99
100
/* Interrupt status 4 */
101
#define MP_OASIS_INTLVL_STREAM_EOF(X) (_MP_EOF_SEMA_OFFSET + X)
102
#define MP_OASIS_INTFLG_STREAM_EOF(X) ((REG_LLONG_TYPE)1 << (REG_LLONG_TYPE)X)
103
104
/* Interrupt request */
105
/* We define all 64 of them so it will be easier to modify the define name as well of a generic one */
106
107
/* the generic */
108
#define MP_OASIS_INTLVL_GPR(X) (_MP_GPR_SEMA_OFFSET + X)
109
#define MP_OASIS_INTFLG_GPR(X) ((REG_LLONG_TYPE)1 << (REG_LLONG_TYPE)X)
110
111
/* the specific */
112
#define MP_OASIS_INTLVL_REPLY MP_OASIS_INTLVL_GPR(0)
113
#define MP_OASIS_INTFLG_REPLY MP_OASIS_INTFLG_GPR(0)
114
#define MP_OASIS_INTLVL_HTR MP_OASIS_INTLVL_GPR(1)
/* Host Transfer Ready im_buf put() & im_buf_get()*/
115
#define MP_OASIS_INTFLG_HTR MP_OASIS_INTFLG_GPR(1)
116
#define MP_OASIS_INTLVL_LTR MP_OASIS_INTLVL_GPR(2)
/* Local Transfer Ready im_buf put() & im_buf_get()*/
117
#define MP_OASIS_INTFLG_LTR MP_OASIS_INTFLG_GPR(2)
118
#define MP_OASIS_INTLVL_DISPLAY MP_OASIS_INTLVL_GPR(3)
/* Interrupt to handle the display requests */
119
#define MP_OASIS_INTFLG_DISPLAY MP_OASIS_INTFLG_GPR(3)
120
#define MP_OASIS_INTLVL_UARTPPC MP_OASIS_INTLVL_GPR(4)
/* Communication interrupt to the local */
121
#define MP_OASIS_INTFLG_UARTPPC MP_OASIS_INTFLG_GPR(4)
122
#define MP_OASIS_INTLVL_UARTHOST MP_OASIS_INTLVL_GPR(5)
/* Communication interrupt to the host */
123
#define MP_OASIS_INTFLG_UARTHOST MP_OASIS_INTFLG_GPR(5)
124
#define MP_OASIS_INTLVL_GPR6 MP_OASIS_INTLVL_GPR(6)
125
#define MP_OASIS_INTFLG_GPR6 MP_OASIS_INTFLG_GPR(6)
126
#define MP_OASIS_INTLVL_GPR7 MP_OASIS_INTLVL_GPR(7)
127
#define MP_OASIS_INTFLG_GPR7 MP_OASIS_INTFLG_GPR(7)
128
#define MP_OASIS_INTLVL_GPR8 MP_OASIS_INTLVL_GPR(8)
129
#define MP_OASIS_INTFLG_GPR8 MP_OASIS_INTFLG_GPR(8)
130
#define MP_OASIS_INTLVL_GPR9 MP_OASIS_INTLVL_GPR(9)
131
#define MP_OASIS_INTFLG_GPR9 MP_OASIS_INTFLG_GPR(9)
132
#define MP_OASIS_INTLVL_GPR10 MP_OASIS_INTLVL_GPR(10)
133
#define MP_OASIS_INTFLG_GPR10 MP_OASIS_INTFLG_GPR(10)
134
#define MP_OASIS_INTLVL_GPR11 MP_OASIS_INTLVL_GPR(11)
135
#define MP_OASIS_INTFLG_GPR11 MP_OASIS_INTFLG_GPR(11)
136
#define MP_OASIS_INTLVL_GPR12 MP_OASIS_INTLVL_GPR(12)
137
#define MP_OASIS_INTFLG_GPR12 MP_OASIS_INTFLG_GPR(12)
138
#define MP_OASIS_INTLVL_GPR13 MP_OASIS_INTLVL_GPR(13)
139
#define MP_OASIS_INTFLG_GPR13 MP_OASIS_INTFLG_GPR(13)
140
#define MP_OASIS_INTLVL_GPR14 MP_OASIS_INTLVL_GPR(14)
141
#define MP_OASIS_INTFLG_GPR14 MP_OASIS_INTFLG_GPR(14)
142
#define MP_OASIS_INTLVL_GPR15 MP_OASIS_INTLVL_GPR(15)
143
#define MP_OASIS_INTFLG_GPR15 MP_OASIS_INTFLG_GPR(15)
144
#define MP_OASIS_INTLVL_GPR16 MP_OASIS_INTLVL_GPR(16)
145
#define MP_OASIS_INTFLG_GPR16 MP_OASIS_INTFLG_GPR(16)
146
#define MP_OASIS_INTLVL_GPR17 MP_OASIS_INTLVL_GPR(17)
147
#define MP_OASIS_INTFLG_GPR17 MP_OASIS_INTFLG_GPR(17)
148
#define MP_OASIS_INTLVL_GPR18 MP_OASIS_INTLVL_GPR(18)
149
#define MP_OASIS_INTFLG_GPR18 MP_OASIS_INTFLG_GPR(18)
150
#define MP_OASIS_INTLVL_GPR19 MP_OASIS_INTLVL_GPR(19)
151
#define MP_OASIS_INTFLG_GPR19 MP_OASIS_INTFLG_GPR(19)
152
#define MP_OASIS_INTLVL_GPR20 MP_OASIS_INTLVL_GPR(20)
153
#define MP_OASIS_INTFLG_GPR20 MP_OASIS_INTFLG_GPR(20)
154
#define MP_OASIS_INTLVL_GPR21 MP_OASIS_INTLVL_GPR(21)
155
#define MP_OASIS_INTFLG_GPR21 MP_OASIS_INTFLG_GPR(21)
156
#define MP_OASIS_INTLVL_GPR22 MP_OASIS_INTLVL_GPR(22)
157
#define MP_OASIS_INTFLG_GPR22 MP_OASIS_INTFLG_GPR(22)
158
#define MP_OASIS_INTLVL_GPR23 MP_OASIS_INTLVL_GPR(23)
159
#define MP_OASIS_INTFLG_GPR23 MP_OASIS_INTFLG_GPR(23)
160
#define MP_OASIS_INTLVL_GPR24 MP_OASIS_INTLVL_GPR(24)
161
#define MP_OASIS_INTFLG_GPR24 MP_OASIS_INTFLG_GPR(24)
162
#define MP_OASIS_INTLVL_GPR25 MP_OASIS_INTLVL_GPR(25)
163
#define MP_OASIS_INTFLG_GPR25 MP_OASIS_INTFLG_GPR(25)
164
#define MP_OASIS_INTLVL_GPR26 MP_OASIS_INTLVL_GPR(26)
165
#define MP_OASIS_INTFLG_GPR26 MP_OASIS_INTFLG_GPR(26)
166
#define MP_OASIS_INTLVL_GPR27 MP_OASIS_INTLVL_GPR(27)
167
#define MP_OASIS_INTFLG_GPR27 MP_OASIS_INTFLG_GPR(27)
168
#define MP_OASIS_INTLVL_GPR28 MP_OASIS_INTLVL_GPR(28)
169
#define MP_OASIS_INTFLG_GPR28 MP_OASIS_INTFLG_GPR(28)
170
#define MP_OASIS_INTLVL_GPR29 MP_OASIS_INTLVL_GPR(29)
171
#define MP_OASIS_INTFLG_GPR29 MP_OASIS_INTFLG_GPR(29)
172
#define MP_OASIS_INTLVL_GPR30 MP_OASIS_INTLVL_GPR(30)
173
#define MP_OASIS_INTFLG_GPR30 MP_OASIS_INTFLG_GPR(30)
174
#define MP_OASIS_INTLVL_GPR31 MP_OASIS_INTLVL_GPR(31)
175
#define MP_OASIS_INTFLG_GPR31 MP_OASIS_INTFLG_GPR(31)
176
#define MP_OASIS_INTLVL_GPR32 MP_OASIS_INTLVL_GPR(32)
177
#define MP_OASIS_INTFLG_GPR32 MP_OASIS_INTFLG_GPR(32)
178
#define MP_OASIS_INTLVL_GPR33 MP_OASIS_INTLVL_GPR(33)
179
#define MP_OASIS_INTFLG_GPR33 MP_OASIS_INTFLG_GPR(33)
180
#define MP_OASIS_INTLVL_GPR34 MP_OASIS_INTLVL_GPR(34)
181
#define MP_OASIS_INTFLG_GPR34 MP_OASIS_INTFLG_GPR(34)
182
#define MP_OASIS_INTLVL_GPR35 MP_OASIS_INTLVL_GPR(35)
183
#define MP_OASIS_INTFLG_GPR35 MP_OASIS_INTFLG_GPR(35)
184
#define MP_OASIS_INTLVL_GPR36 MP_OASIS_INTLVL_GPR(36)
185
#define MP_OASIS_INTFLG_GPR36 MP_OASIS_INTFLG_GPR(36)
186
#define MP_OASIS_INTLVL_GPR37 MP_OASIS_INTLVL_GPR(37)
187
#define MP_OASIS_INTFLG_GPR37 MP_OASIS_INTFLG_GPR(37)
188
#define MP_OASIS_INTLVL_GPR38 MP_OASIS_INTLVL_GPR(38)
189
#define MP_OASIS_INTFLG_GPR38 MP_OASIS_INTFLG_GPR(38)
190
#define MP_OASIS_INTLVL_GPR39 MP_OASIS_INTLVL_GPR(39)
191
#define MP_OASIS_INTFLG_GPR39 MP_OASIS_INTFLG_GPR(39)
192
#define MP_OASIS_INTLVL_GPR40 MP_OASIS_INTLVL_GPR(40)
193
#define MP_OASIS_INTFLG_GPR40 MP_OASIS_INTFLG_GPR(40)
194
#define MP_OASIS_INTLVL_GPR41 MP_OASIS_INTLVL_GPR(41)
195
#define MP_OASIS_INTFLG_GPR41 MP_OASIS_INTFLG_GPR(41)
196
#define MP_OASIS_INTLVL_GPR42 MP_OASIS_INTLVL_GPR(42)
197
#define MP_OASIS_INTFLG_GPR42 MP_OASIS_INTFLG_GPR(42)
198
#define MP_OASIS_INTLVL_GPR43 MP_OASIS_INTLVL_GPR(43)
199
#define MP_OASIS_INTFLG_GPR43 MP_OASIS_INTFLG_GPR(43)
200
#define MP_OASIS_INTLVL_GPR44 MP_OASIS_INTLVL_GPR(44)
201
#define MP_OASIS_INTFLG_GPR44 MP_OASIS_INTFLG_GPR(44)
202
#define MP_OASIS_INTLVL_GPR45 MP_OASIS_INTLVL_GPR(45)
203
#define MP_OASIS_INTFLG_GPR45 MP_OASIS_INTFLG_GPR(45)
204
#define MP_OASIS_INTLVL_GPR46 MP_OASIS_INTLVL_GPR(46)
205
#define MP_OASIS_INTFLG_GPR46 MP_OASIS_INTFLG_GPR(46)
206
#define MP_OASIS_INTLVL_GPR47 MP_OASIS_INTLVL_GPR(47)
207
#define MP_OASIS_INTFLG_GPR47 MP_OASIS_INTFLG_GPR(47)
208
#define MP_OASIS_INTLVL_GPR48 MP_OASIS_INTLVL_GPR(48)
209
#define MP_OASIS_INTFLG_GPR48 MP_OASIS_INTFLG_GPR(48)
210
#define MP_OASIS_INTLVL_GPR49 MP_OASIS_INTLVL_GPR(49)
211
#define MP_OASIS_INTFLG_GPR49 MP_OASIS_INTFLG_GPR(49)
212
#define MP_OASIS_INTLVL_GPR50 MP_OASIS_INTLVL_GPR(50)
213
#define MP_OASIS_INTFLG_GPR50 MP_OASIS_INTFLG_GPR(50)
214
#define MP_OASIS_INTLVL_GPR51 MP_OASIS_INTLVL_GPR(51)
215
#define MP_OASIS_INTFLG_GPR51 MP_OASIS_INTFLG_GPR(51)
216
#define MP_OASIS_INTLVL_GPR52 MP_OASIS_INTLVL_GPR(52)
217
#define MP_OASIS_INTFLG_GPR52 MP_OASIS_INTFLG_GPR(52)
218
#define MP_OASIS_INTLVL_GPR53 MP_OASIS_INTLVL_GPR(53)
219
#define MP_OASIS_INTFLG_GPR53 MP_OASIS_INTFLG_GPR(53)
220
#define MP_OASIS_INTLVL_GPR54 MP_OASIS_INTLVL_GPR(54)
221
#define MP_OASIS_INTFLG_GPR54 MP_OASIS_INTFLG_GPR(54)
222
#define MP_OASIS_INTLVL_GPR55 MP_OASIS_INTLVL_GPR(55)
223
#define MP_OASIS_INTFLG_GPR55 MP_OASIS_INTFLG_GPR(55)
224
#define MP_OASIS_INTLVL_GPR56 MP_OASIS_INTLVL_GPR(56)
225
#define MP_OASIS_INTFLG_GPR56 MP_OASIS_INTFLG_GPR(56)
226
#define MP_OASIS_INTLVL_GPR57 MP_OASIS_INTLVL_GPR(57)
227
#define MP_OASIS_INTFLG_GPR57 MP_OASIS_INTFLG_GPR(57)
228
#define MP_OASIS_INTLVL_LOGCTRL MP_OASIS_INTLVL_GPR(58)
229
#define MP_OASIS_INTFLG_LOGCTRL MP_OASIS_INTFLG_GPR(58)
230
#define MP_OASIS_INTLVL_TRACEDATA MP_OASIS_INTLVL_GPR(59)
231
#define MP_OASIS_INTFLG_TRACEDATA MP_OASIS_INTFLG_GPR(59)
232
#define MP_OASIS_INTLVL_CONIO MP_OASIS_INTLVL_GPR(60)
233
#define MP_OASIS_INTFLG_CONIO MP_OASIS_INTFLG_GPR(60)
234
#define MP_OASIS_INTLVL_FIO MP_OASIS_INTLVL_GPR(61)
235
#define MP_OASIS_INTFLG_FIO MP_OASIS_INTFLG_GPR(61)
236
#define MP_OASIS_INTLVL_TRK MP_OASIS_INTLVL_GPR(62)
237
#define MP_OASIS_INTFLG_TRK MP_OASIS_INTFLG_GPR(62)
238
#define MP_OASIS_INTLVL_TCPIP MP_OASIS_INTLVL_GPR(63)
239
#define MP_OASIS_INTFLG_TCPIP MP_OASIS_INTFLG_GPR(63)
240
241
242
#endif
/* __INTLEVEL_H__ */
fedra_doxygen
src
libACQ
Matrox
onl
src
headers
common
intlevel.h
Generated by
1.9.3