sim: added performance counter
[calu.git] / 3b_sim / sim.cpp
index 1fd383403321a016e2ac7db23f9f6404be438609..4896f0120b57ecb591ffdaab07bfddb788f3b3df 100644 (file)
@@ -394,6 +394,17 @@ void listBreaks(const vector<string>&)
        }
 }
 
+void getPerf(const vector<string>&)
+{
+       cout << "current perfcounter is " << std::dec << global_cpu->getPerf() << endl;
+}
+
+void resetPerf(const vector<string>&)
+{
+       cout << "reset perfcounter" << endl;
+       global_cpu->setPerf(0);
+}
+
 void printStatus(const vector<string>&)
 {
        CDat stackp = global_cpu->getStack();
@@ -606,6 +617,8 @@ int main(int argc, char* argv[])
        Completers.push_back(CompleterElement("setreg [s] [num]",&setReg, "Sets Register s to num."));
        Completers.push_back(CompleterElement("setdata [s] [num]",&setRam, "Sets RAM-Addr s to num."));
        Completers.push_back(CompleterElement("status",&printStatus, "Prints status of CPU."));
+       Completers.push_back(CompleterElement("getperf",&getPerf, "Prints performance counter."));
+       Completers.push_back(CompleterElement("resetperf",&resetPerf, "Resets performance counter to 0."));
 
        Reader.RegisterCompletions(Completers);