43 IOWR(GRTOS_DRIVER_GRTOS_MONITOR_BASE, 0, data);
56 GRTOS_CMD_RLS_NXT_PRC;
78 if (ptcb == (
GS_TCB *) 0)
return(G_FALSE);
79 if (ptcb->BLOCK_HASH == (
unsigned int) ptcb + 1)
return(G_TRUE);
87 if (ppcb == (
struct gs_pcb *) 0)
return(G_FALSE);
89 if (ppcb >
g_kcb.G_PCBTbl + G_NUMBER_OF_PCB *
sizeof(
GS_PCB))
return(G_FALSE);
91 if (ppcb <
g_kcb.G_PCBTbl)
return(G_FALSE);
94 processor = (int) ppcb - (
int)
g_kcb.G_PCBTbl;
95 processor = (int) processor /
sizeof(
GS_PCB);
96 processor = (processor *
sizeof(
GS_PCB)) + (int)
g_kcb.G_PCBTbl;
98 if (processor != (
int) ppcb)
return(G_FALSE);
111 if (pevent == (
GS_ECB *) 0)
return(G_FALSE);
112 if (pevent->BLOCK_HASH == (
unsigned int) pevent + 2)
return(G_TRUE);
128 if (pscb == (
GS_SCB *) 0)
return(G_FALSE);
129 if (pscb->BLOCK_HASH == (
unsigned int) pscb + 4)
return(G_TRUE);
144 if (prcb == (
void *) 0)
return(G_FALSE);
145 if (((
G_RCB *) prcb)->
BLOCK_HASH == (
unsigned int) prcb + 3)
return(G_TRUE);
160 if (prrds == (
GS_RRDS *) 0)
return(G_FALSE);
161 if (prrds->BLOCK_HASH == (
unsigned int) prrds + 5)
return(G_TRUE);
169 if (plcb == (
GS_LCB *) 0)
return(G_FALSE);
170 if (plcb->BLOCK_HASH == (
unsigned int) plcb + 6)
return(G_TRUE);
177 if (plcb == (
struct gs_lcb *) 0)
return(G_TRUE);
178 if (plcb->BLOCK_HASH == (
unsigned int) plcb + 6)
return(G_TRUE);
184 if (tcbstate == G_TCBState_WAITING_COMPLETED)
return G_TRUE;
185 if (tcbstate == G_TCBState_READY)
return G_TRUE;
186 if (tcbstate == G_TCBState_RUNNING)
return G_TRUE;
187 if (tcbstate == G_TCBState_FREE)
return G_TRUE;
188 if (tcbstate == G_TCBState_UNLINKED)
return G_TRUE;
189 if (tcbstate == G_TCBState_WAITING)
return G_TRUE;
195 if (tcbtype == G_TCBType_UCOS)
return G_TRUE;
196 if (tcbtype == G_TCBType_PERIODIC)
return G_TRUE;
197 if (tcbtype == G_TCBType_ISR)
return G_TRUE;
198 if (tcbtype == G_TCBType_IDLE)
return G_TRUE;
199 if (tcbtype == G_TCBType_UNDEFINED)
return G_TRUE;
205 if (ecbstate == GS_ECBState_GRANTED_RESOURCE)
return G_TRUE;
206 if (ecbstate == GS_ECBState_WAITING_RESOURCE)
return G_TRUE;
207 if (ecbstate == GS_ECBState_FREE)
return G_TRUE;
208 if (ecbstate == GS_ECBState_WAITING_TIME)
return G_TRUE;
209 if (ecbstate == GS_ECBState_UNLINKED)
return G_TRUE;
215 if (ecbtype == G_ECBType_OSTimeDly)
return G_TRUE;
216 if (ecbtype == G_ECBType_PERIODIC)
return G_TRUE;
217 if (ecbtype == G_ECBType_LASTEST_TIME)
return G_TRUE;
218 if (ecbtype == G_ECBType_TIMEOUT_SEM_GRANTED)
return G_TRUE;
219 if (ecbtype == G_ECBType_TIMEOUT_SEM_WAITING)
return G_TRUE;
220 if (ecbtype == G_ECBType_SEM_GRANTED)
return G_TRUE;
221 if (ecbtype == G_ECBType_SEM_WAITING)
return G_TRUE;
222 if (ecbtype == G_ECBType_NOT_SPECIFIED)
return G_TRUE;
228 if ((pcbid <= G_NUMBER_OF_PCB) && (pcbid >= 0))
return G_TRUE;
234 if (pcbstate == GS_PCBState_NOTRUNNING)
return G_TRUE;
235 if (pcbstate == GS_PCBState_RUNNING)
return G_TRUE;
236 if (pcbstate == GS_PCBState_FREE)
return G_TRUE;
248 if (lcbstate == GS_LCBState_LINKED)
return G_TRUE;
249 if (lcbstate == GS_LCBState_UNLINKED)
return G_TRUE;
264 while ((root_block != (
GS_TCB *) 0) && (loops <= cycles)) {
266 fprintf(
fpuart[GRTOS_CMD_PRC_ID-1],
"ERROR in for Proc %d in function %s, file = %s, line = %d \n",GRTOS_CMD_PRC_ID , __FUNCTION__,__FILE__,__LINE__);
269 element = root_block->TCB_NextTCBAEL;
270 previous_should = (
GS_ECB *) 0;
271 while ((element != (
GS_ECB *) 0) && (loops <= cycles)) {
273 fprintf(
fpuart[GRTOS_CMD_PRC_ID-1],
"ERROR in for Proc %d in function %s, file = %s, line = %d \n",GRTOS_CMD_PRC_ID , __FUNCTION__,__FILE__,__LINE__);
276 if (element->ECB_NextTCBAEL != previous_should) {
277 fprintf(
fpuart[GRTOS_CMD_PRC_ID-1],
"ERROR in for Proc %d in function %s, file = %s, line = %d \n",GRTOS_CMD_PRC_ID , __FUNCTION__,__FILE__,__LINE__);
280 previous_should = element;
281 element = element->ECB_NextTCBAEL;
285 root_block = root_block->TCB_NEXT_TCBs;
287 if (loops > cycles) {
288 fprintf(
fpuart[GRTOS_CMD_PRC_ID-1],
"ERROR in for Proc %d in function %s, file = %s, line = %d \n",GRTOS_CMD_PRC_ID , __FUNCTION__,__FILE__,__LINE__);