+ fprintf(stderr,"setting countBP = %" PRIuWORD64 "\n",tmp64);
+#endif
+ rixBPCounter = tmp64;
+ break;
+ case 's': // s2323 -- set tick box breakpoint at 2323
+ c = getc(rixCmdFile);
+ tmp = 0;
+ while(isdigit(c)) {
+ tmp = tmp * 10 + (c - '0');
+ c = getc(rixCmdFile);
+ }
+#if DEBUG_HPC
+ fprintf(stderr,"seting bp for tix %d\n",tmp);
+#endif
+ tixBoxBP[tmp] = 1;
+ break;
+ case 'u': // u2323 -- unset tick box breakpoint at 2323
+ c = getc(rixCmdFile);
+ tmp = 0;
+ while(isdigit(c)) {
+ tmp = tmp * 10 + (c - '0');
+ c = getc(rixCmdFile);
+ }
+#if DEBUG_HPC
+ fprintf(stderr,"unseting bp for tix %d\n",tmp);
+#endif
+ tixBoxBP[tmp] = 0;
+ break;
+ case 'h': // h -- history of the last few (WOP_SIZE) steps
+ if (rixCounter > WOP_SIZE) {
+ tmp64 = rixCounter - WOP_SIZE;
+ } else {
+ tmp64 = 0;
+ }
+ for(;tmp64 < rixCounter;tmp64++) {
+ printEvent(rixFile,tmp64,rixTidBack[tmp64 % WOP_SIZE],rixOpBack[tmp64 % WOP_SIZE]);
+ }
+ fflush(rixFile);
+ c = getc(rixCmdFile);
+ break;
+ default:
+#if DEBUG_HPC
+ fprintf(stderr,"strange command from HPCRIX (%d)\n",c);
+#endif
+ c = getc(rixCmdFile);
+ }
+ while (c != 10) { // the end of the line
+ c = getc(rixCmdFile); // to the end of the line
+ }
+ c = getc(rixCmdFile); // the first char on the next command
+ }
+#if DEBUG_HPC
+ fprintf(stderr,"re entering program\n");