cpu.cc (9444:ab47fe7f03f0) | cpu.cc (9448:569d1e8f74e4) |
---|---|
1/* 2 * Copyright (c) 2011-2012 ARM Limited 3 * All rights reserved 4 * 5 * The license below extends only to copyright in the software and shall 6 * not be construed as granting a license to any other intellectual 7 * property including but not limited to intellectual property relating 8 * to a hardware implementation of the functionality of the software --- 1080 unchanged lines hidden (view full) --- 1089 1090 // Decrease funcExeInst by one as the normal commit will handle 1091 // incrementing it. 1092 --(this->thread[tid]->funcExeInst); 1093} 1094 1095template <class Impl> 1096void | 1/* 2 * Copyright (c) 2011-2012 ARM Limited 3 * All rights reserved 4 * 5 * The license below extends only to copyright in the software and shall 6 * not be construed as granting a license to any other intellectual 7 * property including but not limited to intellectual property relating 8 * to a hardware implementation of the functionality of the software --- 1080 unchanged lines hidden (view full) --- 1089 1090 // Decrease funcExeInst by one as the normal commit will handle 1091 // incrementing it. 1092 --(this->thread[tid]->funcExeInst); 1093} 1094 1095template <class Impl> 1096void |
1097FullO3CPU<Impl>::serialize(std::ostream &os) | 1097FullO3CPU<Impl>::serializeThread(std::ostream &os, ThreadID tid) |
1098{ | 1098{ |
1099 Drainable::State so_state(getDrainState()); 1100 SERIALIZE_ENUM(so_state); 1101 BaseCPU::serialize(os); 1102 nameOut(os, csprintf("%s.tickEvent", name())); 1103 tickEvent.serialize(os); 1104 1105 for (ThreadID i = 0; i < thread.size(); i++) { 1106 nameOut(os, csprintf("%s.xc.%i", name(), i)); 1107 thread[i]->serialize(os); 1108 } | 1099 thread[tid]->serialize(os); |
1109} 1110 1111template <class Impl> 1112void | 1100} 1101 1102template <class Impl> 1103void |
1113FullO3CPU<Impl>::unserialize(Checkpoint *cp, const std::string §ion) | 1104FullO3CPU<Impl>::unserializeThread(Checkpoint *cp, const std::string §ion, 1105 ThreadID tid) |
1114{ | 1106{ |
1115 Drainable::State so_state; 1116 UNSERIALIZE_ENUM(so_state); 1117 BaseCPU::unserialize(cp, section); 1118 tickEvent.unserialize(cp, csprintf("%s.tickEvent", section)); 1119 1120 for (ThreadID i = 0; i < thread.size(); i++) { 1121 thread[i]->unserialize(cp, 1122 csprintf("%s.xc.%i", section, i)); 1123 if (thread[i]->status() == ThreadContext::Active) 1124 activateThread(i); 1125 } | 1107 thread[tid]->unserialize(cp, section); |
1126} 1127 1128template <class Impl> 1129unsigned int 1130FullO3CPU<Impl>::drain(DrainManager *drain_manager) 1131{ 1132 // If the CPU isn't doing anything, then return immediately. 1133 if (switchedOut()) { --- 671 unchanged lines hidden --- | 1108} 1109 1110template <class Impl> 1111unsigned int 1112FullO3CPU<Impl>::drain(DrainManager *drain_manager) 1113{ 1114 // If the CPU isn't doing anything, then return immediately. 1115 if (switchedOut()) { --- 671 unchanged lines hidden --- |