summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/cpu/BaseCPU.py5
-rw-r--r--src/cpu/base.cc33
-rw-r--r--src/cpu/base.hh22
-rw-r--r--src/cpu/dummy_checker.cc1
-rw-r--r--src/cpu/o3/checker.cc1
-rw-r--r--src/cpu/simple/base.cc1
6 files changed, 0 insertions, 63 deletions
diff --git a/src/cpu/BaseCPU.py b/src/cpu/BaseCPU.py
index 0e8c28917..85e37776e 100644
--- a/src/cpu/BaseCPU.py
+++ b/src/cpu/BaseCPU.py
@@ -122,7 +122,6 @@ class BaseCPU(ClockedObject):
PyBindMethod("flushTLBs"),
PyBindMethod("totalInsts"),
PyBindMethod("scheduleInstStop"),
- PyBindMethod("scheduleLoadStop"),
PyBindMethod("getCurrentInstCount"),
]
@@ -196,10 +195,6 @@ class BaseCPU(ClockedObject):
"terminate when any thread reaches this inst count")
simpoint_start_insts = VectorParam.Counter([],
"starting instruction counts of simpoints")
- max_loads_all_threads = Param.Counter(0,
- "terminate when all threads have reached this load count")
- max_loads_any_thread = Param.Counter(0,
- "terminate when any thread reaches this load count")
progress_interval = Param.Frequency('0Hz',
"frequency to print out the progress message")
diff --git a/src/cpu/base.cc b/src/cpu/base.cc
index 5bc3fe7c7..7e0e79e96 100644
--- a/src/cpu/base.cc
+++ b/src/cpu/base.cc
@@ -195,32 +195,9 @@ BaseCPU::BaseCPU(Params *p, bool is_checker)
}
}
- // allocate per-thread load-based event queues
- comLoadEventQueue = new EventQueue *[numThreads];
- for (ThreadID tid = 0; tid < numThreads; ++tid)
- comLoadEventQueue[tid] = new EventQueue("load-based event queue");
-
//
// set up instruction-count-based termination events, if any
//
- if (p->max_loads_any_thread != 0) {
- const char *cause = "a thread reached the max load count";
- for (ThreadID tid = 0; tid < numThreads; ++tid)
- scheduleLoadStop(tid, p->max_loads_any_thread, cause);
- }
-
- if (p->max_loads_all_threads != 0) {
- const char *cause = "all threads reached the max load count";
- // allocate & initialize shared downcounter: each event will
- // decrement this when triggered; simulation will terminate
- // when counter reaches 0
- int *counter = new int;
- *counter = numThreads;
- for (ThreadID tid = 0; tid < numThreads; ++tid) {
- Event *event = new CountedExitEvent(cause, *counter);
- comLoadEventQueue[tid]->schedule(event, p->max_loads_all_threads);
- }
- }
functionTracingEnabled = false;
if (p->function_trace) {
@@ -273,7 +250,6 @@ BaseCPU::enableFunctionTrace()
BaseCPU::~BaseCPU()
{
delete profileEvent;
- delete[] comLoadEventQueue;
delete[] comInstEventQueue;
}
@@ -781,15 +757,6 @@ bool AddressMonitor::doMonitor(PacketPtr pkt) {
return false;
}
-void
-BaseCPU::scheduleLoadStop(ThreadID tid, Counter loads, const char *cause)
-{
- const Tick now(comLoadEventQueue[tid]->getCurTick());
- Event *event(new LocalSimLoopExitEvent(cause, 0));
-
- comLoadEventQueue[tid]->schedule(event, now + loads);
-}
-
void
BaseCPU::traceFunctionsInternal(Addr pc)
diff --git a/src/cpu/base.hh b/src/cpu/base.hh
index dfee21fab..383ae8185 100644
--- a/src/cpu/base.hh
+++ b/src/cpu/base.hh
@@ -390,13 +390,6 @@ class BaseCPU : public ClockedObject
*/
EventQueue **comInstEventQueue;
- /**
- * Vector of per-thread load-based event queues. Used for
- * scheduling events based on number of loads committed by
- *a particular thread.
- */
- EventQueue **comLoadEventQueue;
-
System *system;
/**
@@ -464,21 +457,6 @@ class BaseCPU : public ClockedObject
void scheduleInstStop(ThreadID tid, Counter insts, const char *cause);
/**
- * Schedule an event that exits the simulation loops after a
- * predefined number of load operations.
- *
- * This method is usually called from the configuration script to
- * get an exit event some time in the future. It is typically used
- * when the script wants to simulate for a specific number of
- * loads rather than ticks.
- *
- * @param tid Thread monitor.
- * @param loads Number of load instructions into the future.
- * @param cause Cause to signal in the exit event.
- */
- void scheduleLoadStop(ThreadID tid, Counter loads, const char *cause);
-
- /**
* Get the number of instructions executed by the specified thread
* on this CPU. Used by Python to control simulation.
*
diff --git a/src/cpu/dummy_checker.cc b/src/cpu/dummy_checker.cc
index c42c8b5d6..d119d6189 100644
--- a/src/cpu/dummy_checker.cc
+++ b/src/cpu/dummy_checker.cc
@@ -48,7 +48,6 @@ DummyCheckerParams::create()
// cpu and therefore any parameters for early exit don't make much
// sense.
fatal_if(max_insts_any_thread || max_insts_all_threads ||
- max_loads_any_thread || max_loads_all_threads ||
progress_interval, "Invalid checker parameters");
return new DummyChecker(this);
diff --git a/src/cpu/o3/checker.cc b/src/cpu/o3/checker.cc
index 1713da7c1..fdf7ec654 100644
--- a/src/cpu/o3/checker.cc
+++ b/src/cpu/o3/checker.cc
@@ -55,7 +55,6 @@ O3CheckerParams::create()
// cpu and therefore any parameters for early exit don't make much
// sense.
fatal_if(max_insts_any_thread || max_insts_all_threads ||
- max_loads_any_thread || max_loads_all_threads ||
progress_interval, "Invalid checker parameters");
return new O3Checker(this);
diff --git a/src/cpu/simple/base.cc b/src/cpu/simple/base.cc
index b93ae0912..461f00fca 100644
--- a/src/cpu/simple/base.cc
+++ b/src/cpu/simple/base.cc
@@ -600,7 +600,6 @@ BaseSimpleCPU::postExecute()
if (curStaticInst->isLoad()) {
++t_info.numLoad;
- comLoadEventQueue[curThread]->serviceEvents(t_info.numLoad);
}
if (CPA::available()) {