* b -- lock release with redirect info
* c -- status confirm request
* d -- status report msg
+ * e -- terminate
*
* ObjMsg: 0 + size of msg + obj's address + (task index + param index)+
* StallMsg: 1 + corenum + sendobjs + receiveobjs (size is always 4 * sizeof(int))
* StatusMsg: c (size is always 1 * sizeof(int))
* d + status + corenum (size is always 3 * sizeof(int))
* status: 0 -- stall; 1 -- busy
+ * TerminateMsg: e (size is always 1 * sizeof(int)
*/
#ifdef PROFILE
}
break;
}
+
+ case 0xe: {
+ // receive a terminate msg
+#ifdef DEBUG
+ BAMBOO_DEBUGPRINT(0xe889);
+#endif
+ BAMBOO_EXIT(0);
+ break;
+ }
default:
break;
msgtype = -1;
msglength = 30;
#ifdef DEBUG
- BAMBOO_DEBUGPRINT(0xe889);
+ BAMBOO_DEBUGPRINT(0xe88a);
#endif
if(BAMBOO_MSG_AVAIL() != 0) {
} else {
// not a whole msg
#ifdef DEBUG
- BAMBOO_DEBUGPRINT(0xe895);
+ BAMBOO_DEBUGPRINT(0xe88b);
#endif
#ifdef PROFILE
/* if(isInterrupt) {
TILERADIR="$CURDIR/tilera"
MAKEFILE="Makefile.tilera.$TILERACONFIG"
SIMHVC="sim.hvc.$TILERACONFIG"
+PCIHVC="pci.hvc.$TILERACONFIG"
mkdir $TILERADIR
cd $TILERADIR
make clean
cp $ROBUSTROOT/Runtime/Tilera/$MAKEFILE ./Makefile
cp $ROBUSTROOT/Runtime/Tilera/$SIMHVC ./sim.hvc
+cp $ROBUSTROOT/Runtime/Tilera/$PCIHVC ./pci.hvc
cp ../Runtime/multicoretask.c ./
cp ../Runtime/multicoreruntime.c ./
cp ../Runtime/Queue.c ./