Add functional PrintReq command for memory-system debugging.

--HG--
extra : convert_revision : 73b753e57c355b7e6873f047ddc8cb371c3136b7
This commit is contained in:
Steve Reinhardt
2008-01-02 12:20:15 -08:00
parent 659aef3eb8
commit 3952e41ab1
23 changed files with 458 additions and 123 deletions

View File

@@ -399,3 +399,10 @@ MemTestParams::create()
{
return new MemTest(this);
}
void
MemTest::printAddr(Addr a)
{
cachePort.printAddr(a);
}

View File

@@ -62,6 +62,8 @@ class MemTest : public MemObject
virtual Port *getPort(const std::string &if_name, int idx = -1);
void printAddr(Addr a);
protected:
class TickEvent : public Event
{

View File

@@ -52,7 +52,6 @@
#include "cpu/checker/cpu.hh"
#endif
using namespace std;
using namespace TheISA;
BaseO3CPU::BaseO3CPU(Params *params)
@@ -521,8 +520,8 @@ template <class Impl>
void
FullO3CPU<Impl>::activateThread(unsigned tid)
{
list<unsigned>::iterator isActive = find(
activeThreads.begin(), activeThreads.end(), tid);
std::list<unsigned>::iterator isActive =
std::find(activeThreads.begin(), activeThreads.end(), tid);
DPRINTF(O3CPU, "[tid:%i]: Calling activate thread.\n", tid);
@@ -539,8 +538,8 @@ void
FullO3CPU<Impl>::deactivateThread(unsigned tid)
{
//Remove From Active List, if Active
list<unsigned>::iterator thread_it =
find(activeThreads.begin(), activeThreads.end(), tid);
std::list<unsigned>::iterator thread_it =
std::find(activeThreads.begin(), activeThreads.end(), tid);
DPRINTF(O3CPU, "[tid:%i]: Calling deactivate thread.\n", tid);
@@ -959,8 +958,8 @@ FullO3CPU<Impl>::takeOverFrom(BaseCPU *oldCPU)
// the active threads list.
int tid = 0;
list<unsigned>::iterator isActive = find(
activeThreads.begin(), activeThreads.end(), tid);
std::list<unsigned>::iterator isActive =
std::find(activeThreads.begin(), activeThreads.end(), tid);
if (isActive == activeThreads.end()) {
//May Need to Re-code this if the delay variable is the delay
@@ -1454,8 +1453,8 @@ FullO3CPU<Impl>::updateThreadPriority()
{
//DEFAULT TO ROUND ROBIN SCHEME
//e.g. Move highest priority to end of thread list
list<unsigned>::iterator list_begin = activeThreads.begin();
list<unsigned>::iterator list_end = activeThreads.end();
std::list<unsigned>::iterator list_begin = activeThreads.begin();
std::list<unsigned>::iterator list_end = activeThreads.end();
unsigned high_thread = *list_begin;