void CPersModD::PersModD() { if (PR_htValid) { switch (PR_htInst) { case MODD: { if (SendReturnBusy_modD()) { HtRetry(); break; } // Return to host interface SendReturn_modD(); } break; default: assert(0); } } for (int i = 0; i < C_REPL/D_REPL; i += 1) { if (!GR_htReset && !RecvMsgBusy_CtoD(i)) { ht_uint4 msg = RecvMsg_CtoD(i); HtAssert((msg >> 2) == i_replId.read()+1u, msg); if (msg >= 0) S_msgRcvd |= (1 << ((msg-1)%(C_REPL/D_REPL)+1)) & ((1 << (C_REPL/D_REPL+1))-1); } }
void CPersModD::PersModD() { HtAssert(!PR_htValid, 0); for (int i = 0; i < C_REPL/D_REPL; i += 1) { if (!GR_htReset && !RecvMsgBusy_CtoD(i)) { ht_uint4 msg = RecvMsg_CtoD(i); HtAssert((msg >> 2) == i_replId.read()+1u, msg); if (msg >= 0) S_msgRcvd |= (1 << ((msg-1)%(C_REPL/D_REPL)+1)) & ((1 << (C_REPL/D_REPL+1))-1); } }