Flesh out ExecContext serialize/unserialize (including RegFile).
Add support for serializing enums.
arch/alpha/isa_traits.hh:
Add serialize/unserialize functions for RegFile
(defined in new isa_traits.cc).
cpu/exec_context.cc:
Flesh out serialize/unserialize.
sim/serialize.hh:
Add {UN}SERIALIZE_ENUM().
--HG--
extra : convert_revision : 9e30c7e7b3b290dc8ea0888ba3636fc93ee89052
This commit is contained in:
@@ -100,16 +100,20 @@ ExecContext::takeOverFrom(ExecContext *oldContext)
|
||||
void
|
||||
ExecContext::serialize(ostream &os)
|
||||
{
|
||||
SERIALIZE_ARRAY(regs.intRegFile, NumIntRegs);
|
||||
SERIALIZE_ARRAY(regs.floatRegFile.q, NumFloatRegs);
|
||||
SERIALIZE_ENUM(_status);
|
||||
regs.serialize(os);
|
||||
// thread_num and cpu_id are deterministic from the config
|
||||
SERIALIZE_SCALAR(func_exe_insn);
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
ExecContext::unserialize(const IniFile *db, const std::string §ion)
|
||||
{
|
||||
UNSERIALIZE_ARRAY(regs.intRegFile, NumIntRegs);
|
||||
UNSERIALIZE_ARRAY(regs.floatRegFile.q, NumFloatRegs);
|
||||
UNSERIALIZE_ENUM(_status);
|
||||
regs.unserialize(db, section);
|
||||
// thread_num and cpu_id are deterministic from the config
|
||||
UNSERIALIZE_SCALAR(func_exe_insn);
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user