diff --git a/src/arch/riscv/isa.cc b/src/arch/riscv/isa.cc index 3f1a7e1af7..754ff85b75 100644 --- a/src/arch/riscv/isa.cc +++ b/src/arch/riscv/isa.cc @@ -39,6 +39,7 @@ #include "arch/riscv/registers.hh" #include "base/bitfield.hh" #include "cpu/base.hh" +#include "debug/Checkpoint.hh" #include "debug/RiscvMisc.hh" #include "params/RiscvISA.hh" #include "sim/core.hh" @@ -352,6 +353,20 @@ ISA::setMiscReg(int misc_reg, RegVal val, ThreadContext *tc) } } +void +ISA::serialize(CheckpointOut &cp) const +{ + DPRINTF(Checkpoint, "Serializing Riscv Misc Registers\n"); + SERIALIZE_CONTAINER(miscRegFile); +} + +void +ISA::unserialize(CheckpointIn &cp) +{ + DPRINTF(Checkpoint, "Unserializing Riscv Misc Registers\n"); + UNSERIALIZE_CONTAINER(miscRegFile); +} + } RiscvISA::ISA * diff --git a/src/arch/riscv/isa.hh b/src/arch/riscv/isa.hh index 9d342428ca..c56c45ba7a 100644 --- a/src/arch/riscv/isa.hh +++ b/src/arch/riscv/isa.hh @@ -92,6 +92,9 @@ class ISA : public BaseISA void startup(ThreadContext *tc) {} + void serialize(CheckpointOut &cp) const; + void unserialize(CheckpointIn &cp); + /// Explicitly import the otherwise hidden startup using BaseISA::startup;