diff options
Diffstat (limited to 'src/dev/x86/i8259.cc')
-rw-r--r-- | src/dev/x86/i8259.cc | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/src/dev/x86/i8259.cc b/src/dev/x86/i8259.cc index b868295eb..651196b47 100644 --- a/src/dev/x86/i8259.cc +++ b/src/dev/x86/i8259.cc @@ -303,6 +303,42 @@ X86ISA::I8259::getVector() return line | vectorOffset; } +void +X86ISA::I8259::serialize(std::ostream &os) +{ + SERIALIZE_ARRAY(pinStates, NumLines); + SERIALIZE_ENUM(mode); + SERIALIZE_SCALAR(IRR); + SERIALIZE_SCALAR(ISR); + SERIALIZE_SCALAR(IMR); + SERIALIZE_SCALAR(vectorOffset); + SERIALIZE_SCALAR(cascadeMode); + SERIALIZE_SCALAR(cascadeBits); + SERIALIZE_SCALAR(edgeTriggered); + SERIALIZE_SCALAR(readIRR); + SERIALIZE_SCALAR(expectICW4); + SERIALIZE_SCALAR(initControlWord); + SERIALIZE_SCALAR(autoEOI); +} + +void +X86ISA::I8259::unserialize(Checkpoint *cp, const std::string §ion) +{ + UNSERIALIZE_ARRAY(pinStates, NumLines); + UNSERIALIZE_ENUM(mode); + UNSERIALIZE_SCALAR(IRR); + UNSERIALIZE_SCALAR(ISR); + UNSERIALIZE_SCALAR(IMR); + UNSERIALIZE_SCALAR(vectorOffset); + UNSERIALIZE_SCALAR(cascadeMode); + UNSERIALIZE_SCALAR(cascadeBits); + UNSERIALIZE_SCALAR(edgeTriggered); + UNSERIALIZE_SCALAR(readIRR); + UNSERIALIZE_SCALAR(expectICW4); + UNSERIALIZE_SCALAR(initControlWord); + UNSERIALIZE_SCALAR(autoEOI); +} + X86ISA::I8259 * I8259Params::create() { |