76d75
< state = Atomic;
92d90
< state = Atomic;
224,241d221
< void
< SimObject::unserializeAll(Checkpoint *cp)
< {
< SimObjectList::reverse_iterator ri = simObjectList.rbegin();
< SimObjectList::reverse_iterator rend = simObjectList.rend();
<
< for (; ri != rend; ++ri) {
< SimObject *obj = *ri;
< DPRINTFR(Config, "Unserializing '%s'\n",
< obj->name());
< if(cp->sectionExists(obj->name()))
< obj->unserialize(cp, obj->name());
< else
< warn("Not unserializing '%s': no section found in checkpoint.\n",
< obj->name());
< }
< }
<
259d238
< extern "C"
274,284d252
< bool
< SimObject::quiesce(Event *quiesce_event)
< {
< if (state != QuiescedAtomic && state != Atomic) {
< panic("Must implement your own quiesce function if it is to be used "
< "in timing mode!");
< }
< state = QuiescedAtomic;
< return false;
< }
<
286c254
< SimObject::resume()
---
> SimObject::drain(Serializer *serializer)
288,292c256
< if (state == QuiescedAtomic) {
< state = Atomic;
< } else if (state == QuiescedTiming) {
< state = Timing;
< }
---
> serializer->signalDrained();
295,319d258
< 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;
< } else {
< state = new_mode;
< }
< }
<
< void
< SimObject::switchOut()
< {
< panic("Unimplemented!");
< }
<
< void
< SimObject::takeOverFrom(BaseCPU *cpu)
< {
< panic("Unimplemented!");
< }
<