gem5/src
Curtis Dunham 87b9da2df4 sim: tag-based checkpoint versioning
This commit addresses gem5 checkpoints' linear versioning bottleneck.
Since development is distributed across many private trees, there exists
a sort of 'race' for checkpoint version numbers: internally a checkpoint
version may be used but then resynchronizing with the external tree causes
a conflict on that version.  This change replaces the linear version number
with a set of unique strings called tags.  Now the only conflicts that can
arise are of tag names, where collisions are much easier to avoid.

The checkpoint upgrader (util/cpt_upgrader.py) upgrades the version
representation, as one would expect. Each tag version implements its
upgrader code in a python file in the util/cpt_upgraders directory
rather than adding a function to the upgrader script itself.

The version tags are stored in the 'Globals' section rather than 'root'
(as the version was previously) because 'Globals' gets unserialized
first and can provide a warning before any other unserialization errors
can occur.
2015-09-02 15:23:30 -05:00
..
arch arm, mem: Remove unused CLEAR_LL request flag 2015-08-21 07:03:25 -04:00
base base: Rewrite the CircleBuf to fix bugs and add serialization 2015-08-07 09:59:19 +01:00
cpu ruby: eliminate type uint64 and int64 2015-08-29 10:19:23 -05:00
dev dev: Remove auto-serialization dependency in EtherLink 2015-09-01 15:28:44 +01:00
doc cpu: `Minor' in-order CPU model 2014-07-23 16:09:04 -05:00
doxygen MEM: Put memory system document into doxygen 2012-09-25 11:49:41 -05:00
kern style: change Process function calls to use camelCase 2015-07-24 12:25:23 -07:00
mem ruby: remove random seed 2015-09-01 15:50:33 -05:00
proto cpu: add support for outputing a protobuf formatted CPU trace 2015-02-16 03:32:38 -05:00
python ruby: Expose MessageBuffers as SimObjects 2015-08-14 00:19:44 -05:00
sim sim: tag-based checkpoint versioning 2015-09-02 15:23:30 -05:00
unittest base: Rewrite the CircleBuf to fix bugs and add serialization 2015-08-07 09:59:19 +01:00
Doxyfile Doxygen: Update the version of the Doxyfile 2012-10-11 06:38:42 -04:00
SConscript sim: tag-based checkpoint versioning 2015-09-02 15:23:30 -05:00