643c643
< BaseCPU::serialize(std::ostream &os)
---
> BaseCPU::serialize(CheckpointOut &cp) const
654c654
< interrupts->serialize(os);
---
> interrupts->serialize(cp);
658,659c658,659
< nameOut(os, csprintf("%s.xc.%i", name(), i));
< serializeThread(os, i);
---
> ScopedCheckpointSection sec(cp, csprintf("xc.%i", i));
> serializeThread(cp, i);
665c665
< BaseCPU::unserialize(Checkpoint *cp, const std::string &section)
---
> BaseCPU::unserialize(CheckpointIn &cp)
671c671
< interrupts->unserialize(cp, section);
---
> interrupts->unserialize(cp);
674,675c674,677
< for (ThreadID i = 0; i < numThreads; ++i)
< unserializeThread(cp, csprintf("%s.xc.%i", section, i), i);
---
> for (ThreadID i = 0; i < numThreads; ++i) {
> ScopedCheckpointSection sec(cp, csprintf("xc.%i", i));
> unserializeThread(cp, i);
> }