gem5/sim
Ron Dreslinski 5cfff7d5bb First pass at a serializer object, may need to work on naming of object and functions:
Intended Use:
A SimObject will call the serializer when it needs the state to be serializable (i.e. switchCPUs, checkpoint, switch memory access model).  It will call the requestSeialization() function.
The Serializer will signal all the objects in its list to drain their state via the SimObject method drain().  Drain() has a default implementation to just signal done.
When each object is drained it will signal the Serializer that it has drained via the signalDrained() function.
The Serializer will collect these signals, when all have drained it will signal the initial requestor via serializationComplete() method in the SimObject.
Once that object is done, it will signal the Serializer to resumeExecution().
The Serializer will signal all the objects in its list to resume via the resume() method on the SimObject.

SConscript:
    Add serializer object to build list
sim/sim_object.cc:
    Add default behavior for drain (just signal finished, must be overided if you really must drain something)
sim/sim_object.hh:
    Add functions for serializer

--HG--
extra : convert_revision : 15aa2d1b42010c2d703bef9114c11d079c216170
2006-05-11 17:24:15 -04:00
..
async.hh Many files: 2005-06-05 05:16:00 -04:00
builder.cc Many files: 2005-06-05 05:16:00 -04:00
builder.hh Many files: 2005-06-05 05:16:00 -04:00
byteswap.hh make ide disk work for newmem 2006-04-20 17:14:30 -04:00
debug.cc Many files: 2005-06-05 05:16:00 -04:00
debug.hh Many files: 2005-06-05 05:16:00 -04:00
eventq.cc Many files: 2005-06-05 05:16:00 -04:00
eventq.hh Many files: 2005-06-05 05:16:00 -04:00
faults.cc Work towards factoring isa_traits.hh into smaller, more specialized files. 2006-03-10 19:11:27 -05:00
faults.hh Some clean up work with faults. 2006-03-07 04:31:38 -05:00
host.hh Moved MaxAddr. 2006-03-10 18:26:12 -05:00
main.cc Add the bus and connector objects to scons 2006-03-26 21:44:22 -05:00
param.cc fixes for gcc 4.0 2005-09-12 03:01:43 -04:00
param.hh Fixes to build with gcc 4.0. 2005-09-02 21:30:02 -04:00
process.cc Merge m5.eecs.umich.edu:/bk/newmem 2006-04-18 09:44:45 -04:00
process.hh Fixes to SPARC syscall emulation mode. 2006-04-18 09:27:22 -04:00
pseudo_inst.cc fixes for new memory system 2006-04-06 00:51:46 -04:00
pseudo_inst.hh Add quiesceNs, quiesceTime, quiesceCycles, and m5panic pseudo ops. 2006-02-28 18:41:04 -05:00
root.cc Convert type of max_time and progress_interval parameters 2005-09-01 11:32:58 -04:00
serialize.cc fix the MAX_CHECKPOINTS stuff 2005-09-18 21:20:24 -04:00
serialize.hh Many files: 2005-06-05 05:16:00 -04:00
sim_events.cc Move max_time and progress_interval parameters to the Root 2005-06-22 09:59:13 -04:00
sim_events.hh Move max_time and progress_interval parameters to the Root 2005-06-22 09:59:13 -04:00
sim_exit.hh Many files: 2005-06-05 05:16:00 -04:00
sim_object.cc First pass at a serializer object, may need to work on naming of object and functions: 2006-05-11 17:24:15 -04:00
sim_object.hh First pass at a serializer object, may need to work on naming of object and functions: 2006-05-11 17:24:15 -04:00
startup.cc Many files: 2005-06-05 05:16:00 -04:00
startup.hh Many files: 2005-06-05 05:16:00 -04:00
stat_control.cc Fix bug where simulation terminates same cycle as last stat dump causing a duplicate row in db 2005-11-02 14:45:35 -05:00
stat_control.hh Many files: 2005-06-05 05:16:00 -04:00
stats.hh Many files: 2005-06-05 05:16:00 -04:00
syscall_emul.cc Finally MIPS does hello world! 2006-04-10 12:23:17 -04:00
syscall_emul.hh Changes that get rid of the OSFlags and derive a new class of this format <architecture>-<OS>. 2006-04-13 05:42:18 -04:00
system.cc fixes for newmem 2006-04-06 14:57:51 -04:00
system.hh Add SparcSystem object 2006-04-28 15:34:03 -04:00
vptr.hh fixes for new memory system 2006-04-06 00:51:46 -04:00