From 7a96e3e27e022afae21312a5f98a016b7fbaaea8 Mon Sep 17 00:00:00 2001 From: John Winans Date: Wed, 19 Oct 1994 18:31:22 +0000 Subject: [PATCH] ANSIfied the bitbus driver so that the compiler stopped warning about exery third line of code. --- src/drv/drvBitBus.c | 105 +++++++++++++++++++++++++------------------- 1 file changed, 60 insertions(+), 45 deletions(-) diff --git a/src/drv/drvBitBus.c b/src/drv/drvBitBus.c index d612848df..189f84e07 100644 --- a/src/drv/drvBitBus.c +++ b/src/drv/drvBitBus.c @@ -65,6 +65,9 @@ * This driver currently needs work on error message generation. * * $Log$ + * Revision 1.33 1994/10/04 18:42:42 winans + * Added an extensive debugging facility. + * * */ @@ -76,10 +79,16 @@ #include #include #include -#include #include #include #include +#include +#include +#include +#include +#include +#include +#include #include #include @@ -101,6 +110,7 @@ STATIC long reportBB(void); STATIC long initBB(void); STATIC long qBBReq(struct dpvtBitBusHead *pdpvt, int prio); +STATIC int xvmeReset(int link); STATIC int xvmeTmoHandler(int link); STATIC int xvmeRxTask(int link); STATIC int xvmeTxTask(int link); @@ -108,6 +118,7 @@ STATIC int xvmeWdTask(int link); STATIC int xvmeIrqRdav(int link); STATIC int xvmeIrqRcmd(int link); +STATIC int pepReset(int link); STATIC int pepTmoHandler(int link); STATIC int pepRxTask(int link); STATIC int pepTxTask(int link); @@ -117,6 +128,14 @@ STATIC int pepIrqRdav(int link); STATIC int bbKill(int link); STATIC void BBrebootFunc(void); +STATIC int txStuck(int link); + +#ifdef BB_SUPER_DEBUG +int BBHistDump(int link); +STATIC int BBDumpXactHistory(XactHistStruct *pXact); +#endif + + /***************************************************************************** * * Used to limit the TOTAL number of simultaneous messages that can be @@ -408,9 +427,9 @@ STATIC long reportBB(void) if (pBBLink[i] != NULL) { if (pBBLink[i]->LinkType == BB_CONF_TYPE_XYCOM) - printf("Bitbus link %d present at 0x%8.8X IV=0x%2.2X IL=%d (XYCOM)\n", i, pBBLink[i]->l.XycomLink.bbRegs, pBBLink[i]->IrqVector, pBBLink[i]->IrqLevel); + printf("Bitbus link %d present at %p IV=0x%2.2X IL=%d (XYCOM)\n", i, pBBLink[i]->l.XycomLink.bbRegs, pBBLink[i]->IrqVector, pBBLink[i]->IrqLevel); else if (pBBLink[i]->LinkType == BB_CONF_TYPE_PEP) - printf("Bitbus link %d present at 0x%8.8X IV=0x%2.2X IL=%d (PEP)\n", i, pBBLink[i]->l.PepLink.bbRegs, pBBLink[i]->IrqVector, pBBLink[i]->IrqLevel); + printf("Bitbus link %d present at %p IV=0x%2.2X IL=%d (PEP)\n", i, pBBLink[i]->l.PepLink.bbRegs, pBBLink[i]->IrqVector, pBBLink[i]->IrqLevel); } } return(OK); @@ -461,7 +480,7 @@ pepReset(int link) if (!j) { - printf("pepReset(%d): receive fifo will not clear after reset!\n"); + printf("pepReset(%d): receive fifo will not clear after reset!\n", link); return(ERROR); } @@ -481,8 +500,7 @@ pepReset(int link) * status register. * ****************************************************************************/ -static int -xvmeReset(int link) +STATIC int xvmeReset(int link) { char trash; int j; @@ -794,7 +812,7 @@ xvmeRxTask(int link) case BBRX_HEAD: /* getting the head of a new message */ rxHead[rxTCount] = pBBLink[link]->l.XycomLink.bbRegs->data; if (bbDebug>21) - printf("xvmeRxTask(%d): >%02.2X< (Header)\n", link, rxHead[rxTCount]); + printf("xvmeRxTask(%d): >%2.2X< (Header)\n", link, rxHead[rxTCount]); if (++rxTCount == 5) { /* find the message this is a reply to */ @@ -807,7 +825,7 @@ xvmeRxTask(int link) while (rxDpvtHead != NULL) { if (bbDebug>19) - printf("xvmeRxTask(%d): checking reply against 0x%08.8X\n", link, rxDpvtHead); + printf("xvmeRxTask(%d): checking reply against %p\n", link, rxDpvtHead); /* see if node's match */ if (rxDpvtHead->txMsg.node == rxHead[2]) @@ -815,7 +833,7 @@ xvmeRxTask(int link) if (rxDpvtHead->txMsg.tasks == rxHead[3]) { /* They match, finish putting response into the rxMsg buffer */ if (bbDebug>4) - printf("xvmeRxTask(%d): reply to 0x%08.8X\n", link, rxDpvtHead); + printf("xvmeRxTask(%d): reply to %p\n", link, rxDpvtHead); /* Delete the node from the list */ listDel(&(pBBLink[link]->busyList), rxDpvtHead); @@ -895,13 +913,13 @@ xvmeRxTask(int link) rxState = BBRX_IGN; /* toss the rest of the data */ rxDpvtHead->status = BB_LENGTH; /* set driver status */ if (bbDebug>22) - printf("xvmeRxTask(%d): %02.2X (Ignored)\n", link, ch); + printf("xvmeRxTask(%d): %2.2X (Ignored)\n", link, ch); } else { *rxMsg = ch; if (bbDebug>22) - printf("xvmeRxTask(%d): %02.2X (Data)\n", link, ch); + printf("xvmeRxTask(%d): %2.2X (Data)\n", link, ch); rxMsg++; rxTCount++; } @@ -910,7 +928,7 @@ xvmeRxTask(int link) case BBRX_IGN: ch = pBBLink[link]->l.XycomLink.bbRegs->data; if (bbDebug>22) - printf("xvmeRxTask(%d): %02.2X (Ignored)\n", link, ch); + printf("xvmeRxTask(%d): %2.2X (Ignored)\n", link, ch); break; case BBRX_RCMD: @@ -942,7 +960,7 @@ xvmeRxTask(int link) rxDpvtHead->rxCmd = pBBLink[link]->l.XycomLink.bbRegs->cmnd; if (bbDebug>24) - printf("xvmeRxTask(%d):RX command byte = %02.2X\n", link, rxDpvtHead->rxCmd); + printf("xvmeRxTask(%d):RX command byte = %2.2X\n", link, rxDpvtHead->rxCmd); #ifdef BB_SUPER_DEBUG BBSetHistEvent(link, rxDpvtHead, XACT_HIST_STATE_RX); @@ -1223,7 +1241,6 @@ static int xvmeTxTask(int link) { struct dpvtBitBusHead *pnode; - struct dpvtBitBusHead *npnode; int prio; int working; int dogStart; @@ -1333,7 +1350,7 @@ xvmeTxTask(int link) BBSetHistEvent(link, pnode, XACT_HIST_STATE_TX); #endif if (bbDebug>3) - printf("xvmeTxTask(%d): got xact, pnode=0x%08.8X\n", link, pnode); + printf("xvmeTxTask(%d): got xact, pnode=%p\n", link, pnode); /* Send the message in polled mode */ @@ -1358,7 +1375,7 @@ xvmeTxTask(int link) { pBBLink[link]->l.XycomLink.bbRegs->data = *txMsg; /* send next byte */ if (bbDebug>30) - printf("xvmeTxTask(%d): outputting %02.2X\n", link, *txMsg); + printf("xvmeTxTask(%d): outputting %2.2X\n", link, *txMsg); /* On 5th byte, we are dun w/header, set start w/data buffer */ if (txCCount != 4) @@ -1476,8 +1493,7 @@ xvmeTxTask(int link) * byte to the transmit fifo. * ******************************************************************************/ -static int -txStuck(int link) +STATIC int txStuck(int link) { /* if (bbDebug) */ printf("bitbus transmitter task stuck, resetting link %d\n", link); @@ -1503,14 +1519,14 @@ STATIC long qBBReq(struct dpvtBitBusHead *pdpvt, int prio) if ((prio < 0) || (prio >= BB_NUM_PRIO)) { - sprintf(message, "invalid priority requested in call to qbbreq(%08.8X, %d)\n", pdpvt, prio); + sprintf(message, "invalid priority requested in call to qbbreq(%p, %d)\n", pdpvt, prio); errMessage(S_BB_badPrio, message); return(ERROR); } #if 0 if (checkLink(pdpvt->link) == ERROR) { - sprintf(message, "invalid link requested in call to qbbreq(%08.8X, %d)\n", pdpvt, prio); + sprintf(message, "invalid link requested in call to qbbreq(%8.8X, %d)\n", pdpvt, prio); errMessage(S_BB_rfu1, message); return(ERROR); } @@ -1519,13 +1535,13 @@ STATIC long qBBReq(struct dpvtBitBusHead *pdpvt, int prio) { if (pdpvt->link >= BB_NUM_LINKS) { - sprintf(message, "qbbreq(%08.8X, %d) %d\n", pdpvt, prio, pdpvt->link); + sprintf(message, "qbbreq(%p, %d) %d\n", pdpvt, prio, pdpvt->link); errMessage(S_BB_badlink, message); } else if (linkErrFlags[pdpvt->link] == 0) { /* Anti-message swamping check */ linkErrFlags[pdpvt->link] = 1; - sprintf(message, "qbbreq(%08.8X, %d) %d... card not present\n", pdpvt, prio, pdpvt->link); + sprintf(message, "qbbreq(%p, %d) %d... card not present\n", pdpvt, prio, pdpvt->link); errMessage(S_BB_badlink, message); } return(ERROR); @@ -1537,7 +1553,7 @@ STATIC long qBBReq(struct dpvtBitBusHead *pdpvt, int prio) #endif if (bbDebug>5) - printf("qbbreq(0x%08.8X, %d): transaction queued\n", pdpvt, prio); + printf("qbbreq(%p, %d): transaction queued\n", pdpvt, prio); if (bbDebug>6) drvBitBusDumpMsg(&(pdpvt->txMsg)); @@ -1605,7 +1621,7 @@ drvBitBusDumpMsg(struct bitBusMsg *pbbMsg) int y; int z; - printf("Link 0x%04.4X, length 0x%02.2X, route 0x%02.2X, node 0x%02.2X, tasks 0x%02.2X, cmd %02.2X\n", pbbMsg->link, pbbMsg->length, pbbMsg->route, pbbMsg->node, pbbMsg->tasks, pbbMsg->cmd); + printf("Link 0x%4.4X, length 0x%2.2X, route 0x%2.2X, node 0x%2.2X, tasks 0x%2.2X, cmd %2.2X\n", pbbMsg->link, pbbMsg->length, pbbMsg->route, pbbMsg->node, pbbMsg->tasks, pbbMsg->cmd); x = BB_MSG_HEADER_SIZE; y = pbbMsg->length; @@ -1613,7 +1629,7 @@ drvBitBusDumpMsg(struct bitBusMsg *pbbMsg) while (x < y) { - printf("%02.2X ", pbbMsg->data[z]); + printf("%2.2X ", pbbMsg->data[z]); ascBuf[z] = pbbMsg->data[z]; if (!((ascBuf[z] >= 0x20) && (ascBuf[z] <= 0x7e))) @@ -1648,7 +1664,7 @@ static int BBSetHistEvent(int link, struct dpvtBitBusHead *pXact, int State) pBBLink[link]->History.Xact[pBBLink[link]->History.Next].Time = tickGet(); pBBLink[link]->History.Xact[pBBLink[link]->History.Next].State = State; if (pXact != NULL) - bcopy (pXact, &pBBLink[link]->History.Xact[pBBLink[link]->History.Next].Xact, sizeof(struct dpvtBitBusHead)); + memcpy (&pBBLink[link]->History.Xact[pBBLink[link]->History.Next].Xact, pXact, sizeof(struct dpvtBitBusHead)); if (link==bbDebugLink && pBBLink[link]->History.Xact[pBBLink[link]->History.Next].Xact.txMsg.node==bbDebugNode) BBDumpXactHistory(&pBBLink[link]->History.Xact[pBBLink[link]->History.Next]); @@ -1660,7 +1676,7 @@ static int BBSetHistEvent(int link, struct dpvtBitBusHead *pXact, int State) return(0); } -BBHistDump(int link) +int BBHistDump(int link) { int count; int ix; @@ -1700,7 +1716,7 @@ BBHistDump(int link) semGive(pBBLink[link]->History.sem); return(0); } -static int BBDumpXactHistory(XactHistStruct *pXact) +STATIC int BBDumpXactHistory(XactHistStruct *pXact) { switch (pXact->State) { @@ -1893,7 +1909,7 @@ pepRxTask(int link) if (rxTCount > 1) /* Toss the 2 PEP specific header bytes */ rxHead[rxTCount] = ch; if (bbDebug>21) - printf("pepRxTask(%d): >%02.2X< (Header)\n", link, ch); + printf("pepRxTask(%d): >%2.2X< (Header)\n", link, ch); if (++rxTCount == 7) { @@ -1906,7 +1922,7 @@ pepRxTask(int link) rxDpvtHead = pBBLink[link]->busyList.head; while (rxDpvtHead != NULL) { if (bbDebug>19) - printf("pepRxTask(%d): checking reply against 0x%08.8X\n", + printf("pepRxTask(%d): checking reply against %p\n", link, rxDpvtHead); /* see if node's match */ @@ -1916,7 +1932,7 @@ pepRxTask(int link) { /* They match, finish putting response into the rxMsg buffer */ if (bbDebug>4) - printf("pepRxTask(%d): reply to 0x%08.8X\n", + printf("pepRxTask(%d): reply to %p\n", link, rxDpvtHead); /* Delete the node from the list */ @@ -1982,7 +1998,7 @@ pepRxTask(int link) { printf("pepRxTask(%d): msg from node %d unsolicited!\n", link, rxHead[4]); - printf("contents: %02.2x %02.2x %02.2x %02.2x %02.2x\n",rxHead[2], + printf("contents: %2.2x %2.2x %2.2x %2.2x %2.2x\n",rxHead[2], rxHead[3],rxHead[4],rxHead[5],rxHead[6]); } semGive(pXvmeLink[link]->pbbLink->busyList.sem); @@ -1997,13 +2013,13 @@ pepRxTask(int link) rxState = BBRX_IGN; /* toss the rest of the data */ rxDpvtHead->status = BB_LENGTH; /* set driver status */ if (bbDebug>22) - printf("pepRxTask(%d): %02.2X (Ignored)\n", link, ch); + printf("pepRxTask(%d): %2.2X (Ignored)\n", link, ch); } else { *rxMsg = ch; if (bbDebug>22) - printf("pepRxTask(%d): %02.2X (Data)\n", link, ch); + printf("pepRxTask(%d): %2.2X (Data)\n", link, ch); rxMsg++; rxTCount++; } @@ -2011,7 +2027,7 @@ pepRxTask(int link) case BBRX_IGN: if (bbDebug>22) - printf("pepRxTask(%d): %02.2X (Ignored)\n", link, ch); + printf("pepRxTask(%d): %2.2X (Ignored)\n", link, ch); break; } @@ -2041,7 +2057,7 @@ pepRxTask(int link) { rxDpvtHead->status = BB_OK; if (bbDebug>24) - printf("pepRxTask(%d): RX command byte = %02.2X\n", link, ch); + printf("pepRxTask(%d): RX command byte = %2.2X\n", link, ch); #ifdef BB_SUPER_DEBUG BBSetHistEvent(link, rxDpvtHead, XACT_HIST_STATE_RX); @@ -2217,7 +2233,7 @@ STATIC int pepWdTask(int link) #ifdef BB_SUPER_DEBUG BBSetHistEvent(link, pnode, XACT_HIST_STATE_WD_TIMEOUT); #endif - /* printf("pepWdTask(%d): TIMEOUT on xact 0x%08.8X\n", link, pnode);*/ + /* printf("pepWdTask(%d): TIMEOUT on xact 0x%8.8X\n", link, pnode);*/ printf("pepWdTask(%d): TIMEOUT on bitbus message:\n", link); drvBitBusDumpMsg(&pnode->txMsg); @@ -2235,7 +2251,7 @@ STATIC int pepWdTask(int link) { if (bbDebug>2) { - printf("pepWdTask(%d): invoking the callbackRequest %8.8x %d\n", link, pnode->finishProc, pnode->priority); + printf("pepWdTask(%d): invoking the callbackRequest %p %d\n", link, pnode->finishProc, pnode->priority); } callbackRequest(pnode); /* schedule completion processing */ } @@ -2346,7 +2362,6 @@ STATIC int pepWdTask(int link) STATIC int pepTxTask(int link) { struct dpvtBitBusHead *pnode; - struct dpvtBitBusHead *npnode; int prio; int working; int dogStart; @@ -2431,7 +2446,7 @@ STATIC int pepTxTask(int link) if (bbDebug>3) - printf("pepTxTask(%d): got xact, pnode=0x%08.8X\n", link, pnode); + printf("pepTxTask(%d): got xact, pnode=%p\n", link, pnode); /* Send the message in polled mode */ txTCount = pnode->txMsg.length; @@ -2456,23 +2471,23 @@ STATIC int pepTxTask(int link) } else if (txCCount == 0) { /* first byte is package type */ if (bbDebug>30) - printf("pepTxTask(%d): outputting %02.2X\n",link,0x81); + printf("pepTxTask(%d): outputting %2.2X\n",link,0x81); pBBLink[link]->l.PepLink.bbRegs->data = 0x81; } else if (txCCount == 1) { /* unused 2nd byte of package */ if (bbDebug>30) - printf("pepTxTask(%d): outputting %02.2X\n",link,0x00); + printf("pepTxTask(%d): outputting %2.2X\n",link,0x00); pBBLink[link]->l.PepLink.bbRegs->data = 0x00; } else if (txCCount == (txTCount -1)) { /* last byte of package */ pBBLink[link]->l.PepLink.bbRegs->stat_ctl = *txMsg; if (bbDebug>30) - printf("pepTxTask(%d): outputting last byte %02.2X\n", + printf("pepTxTask(%d): outputting last byte %2.2X\n", link,*txMsg); } else { /* regular ol' message byte */ pBBLink[link]->l.PepLink.bbRegs->data = *txMsg; if (bbDebug>30) - printf("pepTxTask(%d): outputting %02.2X\n",link,*txMsg); + printf("pepTxTask(%d): outputting %2.2X\n",link,*txMsg); if (txCCount != 6) txMsg++; else @@ -2573,6 +2588,6 @@ int pepDumpStat(int link) stat_ctl = pBBLink[link]->l.PepLink.bbRegs->stat_ctl; - printf("stat_ctl reg: %02x\n",stat_ctl); + printf("stat_ctl reg: %2X\n",stat_ctl); return(OK); }