Rename quiesce to drain to avoid confusion with the pseudo instruction.
src/cpu/simple/timing.cc:
src/cpu/simple/timing.hh:
src/python/m5/__init__.py:
src/python/m5/config.py:
src/sim/main.cc:
src/sim/sim_events.cc:
src/sim/sim_events.hh:
src/sim/sim_object.cc:
src/sim/sim_object.hh:
Rename quiesce to drain.
--HG--
extra : convert_revision : fc3244a3934812e1edb8050f1f51f30382baf774
This commit is contained in:
@@ -523,19 +523,19 @@ simulate(Tick num_cycles = -1)
|
||||
}
|
||||
|
||||
Event *
|
||||
createCountedQuiesce()
|
||||
createCountedDrain()
|
||||
{
|
||||
return new CountedQuiesceEvent();
|
||||
return new CountedDrainEvent();
|
||||
}
|
||||
|
||||
void
|
||||
cleanupCountedQuiesce(Event *counted_quiesce)
|
||||
cleanupCountedDrain(Event *counted_drain)
|
||||
{
|
||||
CountedQuiesceEvent *event =
|
||||
dynamic_cast<CountedQuiesceEvent *>(counted_quiesce);
|
||||
CountedDrainEvent *event =
|
||||
dynamic_cast<CountedDrainEvent *>(counted_drain);
|
||||
if (event == NULL) {
|
||||
fatal("Called cleanupCountedQuiesce() on an event that was not "
|
||||
"a CountedQuiesceEvent.");
|
||||
fatal("Called cleanupCountedDrain() on an event that was not "
|
||||
"a CountedDrainEvent.");
|
||||
}
|
||||
assert(event->getCount() == 0);
|
||||
delete event;
|
||||
|
||||
@@ -79,10 +79,10 @@ exitSimLoop(const std::string &message, int exit_code)
|
||||
}
|
||||
|
||||
void
|
||||
CountedQuiesceEvent::process()
|
||||
CountedDrainEvent::process()
|
||||
{
|
||||
if (--count == 0) {
|
||||
exitSimLoop("Finished quiesce");
|
||||
exitSimLoop("Finished drain");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -67,13 +67,13 @@ class SimLoopExitEvent : public Event
|
||||
virtual const char *description();
|
||||
};
|
||||
|
||||
class CountedQuiesceEvent : public SimLoopExitEvent
|
||||
class CountedDrainEvent : public SimLoopExitEvent
|
||||
{
|
||||
private:
|
||||
// Count down to quiescing
|
||||
// Count of how many objects have not yet drained
|
||||
int count;
|
||||
public:
|
||||
CountedQuiesceEvent()
|
||||
CountedDrainEvent()
|
||||
: count(0)
|
||||
{ }
|
||||
void process();
|
||||
|
||||
@@ -271,22 +271,22 @@ SimObject::recordEvent(const std::string &stat)
|
||||
}
|
||||
|
||||
bool
|
||||
SimObject::quiesce(Event *quiesce_event)
|
||||
SimObject::drain(Event *drain_event)
|
||||
{
|
||||
if (state != QuiescedAtomic && state != Atomic) {
|
||||
panic("Must implement your own quiesce function if it is to be used "
|
||||
if (state != DrainedAtomic && state != Atomic) {
|
||||
panic("Must implement your own drain function if it is to be used "
|
||||
"in timing mode!");
|
||||
}
|
||||
state = QuiescedAtomic;
|
||||
state = DrainedAtomic;
|
||||
return false;
|
||||
}
|
||||
|
||||
void
|
||||
SimObject::resume()
|
||||
{
|
||||
if (state == QuiescedAtomic) {
|
||||
if (state == DrainedAtomic) {
|
||||
state = Atomic;
|
||||
} else if (state == QuiescedTiming) {
|
||||
} else if (state == DrainedTiming) {
|
||||
state = Timing;
|
||||
}
|
||||
}
|
||||
@@ -295,10 +295,10 @@ void
|
||||
SimObject::setMemoryMode(State new_mode)
|
||||
{
|
||||
assert(new_mode == Timing || new_mode == Atomic);
|
||||
if (state == QuiescedAtomic && new_mode == Timing) {
|
||||
state = QuiescedTiming;
|
||||
} else if (state == QuiescedTiming && new_mode == Atomic) {
|
||||
state = QuiescedAtomic;
|
||||
if (state == DrainedAtomic && new_mode == Timing) {
|
||||
state = DrainedTiming;
|
||||
} else if (state == DrainedTiming && new_mode == Atomic) {
|
||||
state = DrainedAtomic;
|
||||
} else {
|
||||
state = new_mode;
|
||||
}
|
||||
|
||||
@@ -62,9 +62,9 @@ class SimObject : public Serializable, protected StartupCallback
|
||||
enum State {
|
||||
Atomic,
|
||||
Timing,
|
||||
Quiescing,
|
||||
QuiescedAtomic,
|
||||
QuiescedTiming
|
||||
Draining,
|
||||
DrainedAtomic,
|
||||
DrainedTiming
|
||||
};
|
||||
|
||||
protected:
|
||||
@@ -117,7 +117,7 @@ class SimObject : public Serializable, protected StartupCallback
|
||||
// Methods to drain objects in order to take checkpoints
|
||||
// Or switch from timing -> atomic memory model
|
||||
// Quiesce returns true if the SimObject cannot quiesce immediately.
|
||||
virtual bool quiesce(Event *quiesce_event);
|
||||
virtual bool drain(Event *drain_event);
|
||||
virtual void resume();
|
||||
virtual void setMemoryMode(State new_mode);
|
||||
virtual void switchOut();
|
||||
|
||||
Reference in New Issue
Block a user