util: make a generic checkpoint aggregator that can aggregate different cpts into one multi-programmed cpt. Make minor changes to serialization/unserialization to get it to work properly. Note that checkpoints were made with a comment at the beginning with // - this must be changed to ## to work properly with the python config parser in the aggregator.

This commit is contained in:
Lisa Hsu
2010-01-18 14:30:31 -08:00
parent 8b4e8690b7
commit 4a40ac71f8
3 changed files with 151 additions and 2 deletions

View File

@@ -222,6 +222,16 @@ PageTable::unserialize(Checkpoint *cp, const std::string &section)
entry->unserialize(cp, csprintf("%s.Entry%d", process->name(), i));
pTable[vaddr] = *entry;
++i;
}
}
process->M5_pid = pTable[vaddr].asn;
#if THE_ISA == ALPHA_ISA
// The IPR_DTB_ASN misc reg must be set in Alpha for the tlb to work
// correctly
int id = process->contextIds[0];
ThreadContext *tc = process->system->getThreadContext(id);
tc->setMiscRegNoEffect(IPR_DTB_ASN, process->M5_pid << 57);
#endif
}