summaryrefslogtreecommitdiff
path: root/sim/eventq.hh
diff options
context:
space:
mode:
authorSteve Reinhardt <stever@eecs.umich.edu>2003-10-29 13:35:07 -0800
committerSteve Reinhardt <stever@eecs.umich.edu>2003-10-29 13:35:07 -0800
commitaf5277a6784ed6a8e4671dfa79b1346bed687ae1 (patch)
tree81d91d5bc7287b146a0b0ee796ae3b8acb7fbbcf /sim/eventq.hh
parent8da9fcdd751bcb74c17e72d7d0a6c7ccf259552c (diff)
downloadgem5-af5277a6784ed6a8e4671dfa79b1346bed687ae1.tar.xz
Serialization support for Alpha TLBs, PhysicalMemory, and SimpleCPU.
arch/alpha/alpha_memory.cc: arch/alpha/alpha_memory.hh: Serialize TLB contents. cpu/simple_cpu/simple_cpu.cc: cpu/simple_cpu/simple_cpu.hh: Complete serialization of SimpleCPU (including owned events). sim/eventq.cc: sim/eventq.hh: Basic serialization for events. Still need to handle dynamic events (not owned by a SimObject). sim/serialize.cc: sim/serialize.hh: Export serialization filename so PhysicalMemory can derive its filename from that. --HG-- extra : convert_revision : 4db851c5880f73f576ca092d5e5ad4256048eb51
Diffstat (limited to 'sim/eventq.hh')
-rw-r--r--sim/eventq.hh17
1 files changed, 17 insertions, 0 deletions
diff --git a/sim/eventq.hh b/sim/eventq.hh
index cd86512e4..a8eae1248 100644
--- a/sim/eventq.hh
+++ b/sim/eventq.hh
@@ -112,6 +112,20 @@ class Event : public Serializeable, public FastAlloc
{
}
+ /*
+ * Event constructor
+ * @param queue that the event gets scheduled on
+ */
+ Event(EventQueue *q, std::string _name, int p = 0)
+ : Serializeable(_name), queue(q), next(NULL),
+ _priority(p), _flags(None),
+#if TRACING_ON
+ when_created(curTick), when_scheduled(0),
+#endif
+ annotated_value(0)
+ {
+ }
+
~Event() {}
/// Determine if the current event is scheduled
@@ -174,6 +188,9 @@ class Event : public Serializeable, public FastAlloc
return l->when() >= r->when() || l->priority() >= r->priority();
}
};
+
+ virtual void serialize(std::ostream &os);
+ virtual void unserialize(const IniFile *db, const std::string &section);
};
template <class T, void (T::* F)()>