simple_thread.cc (6677:b741b3e7164b) simple_thread.cc (6678:34191eea18c1)
1/*
2 * Copyright (c) 2001-2006 The Regents of The University of Michigan
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are
7 * met: redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer;

--- 189 unchanged lines hidden (view full) ---

198 SERIALIZE_SCALAR(PC);
199 SERIALIZE_SCALAR(nextPC);
200 SERIALIZE_SCALAR(nextNPC);
201 // thread_num and cpu_id are deterministic from the config
202
203 //
204 // Now must serialize all the ISA dependent state
205 //
1/*
2 * Copyright (c) 2001-2006 The Regents of The University of Michigan
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are
7 * met: redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer;

--- 189 unchanged lines hidden (view full) ---

198 SERIALIZE_SCALAR(PC);
199 SERIALIZE_SCALAR(nextPC);
200 SERIALIZE_SCALAR(nextNPC);
201 // thread_num and cpu_id are deterministic from the config
202
203 //
204 // Now must serialize all the ISA dependent state
205 //
206 isa.serialize(os);
206 isa.serialize(cpu, os);
207}
208
209
210void
211SimpleThread::unserialize(Checkpoint *cp, const std::string &section)
212{
213 ThreadState::unserialize(cp, section);
214 UNSERIALIZE_ARRAY(floatRegs.i, TheISA::NumFloatRegs);
215 UNSERIALIZE_ARRAY(intRegs, TheISA::NumIntRegs);
216 UNSERIALIZE_SCALAR(microPC);
217 UNSERIALIZE_SCALAR(nextMicroPC);
218 UNSERIALIZE_SCALAR(PC);
219 UNSERIALIZE_SCALAR(nextPC);
220 UNSERIALIZE_SCALAR(nextNPC);
221 // thread_num and cpu_id are deterministic from the config
222
223 //
224 // Now must unserialize all the ISA dependent state
225 //
207}
208
209
210void
211SimpleThread::unserialize(Checkpoint *cp, const std::string &section)
212{
213 ThreadState::unserialize(cp, section);
214 UNSERIALIZE_ARRAY(floatRegs.i, TheISA::NumFloatRegs);
215 UNSERIALIZE_ARRAY(intRegs, TheISA::NumIntRegs);
216 UNSERIALIZE_SCALAR(microPC);
217 UNSERIALIZE_SCALAR(nextMicroPC);
218 UNSERIALIZE_SCALAR(PC);
219 UNSERIALIZE_SCALAR(nextPC);
220 UNSERIALIZE_SCALAR(nextNPC);
221 // thread_num and cpu_id are deterministic from the config
222
223 //
224 // Now must unserialize all the ISA dependent state
225 //
226 isa.unserialize(cp, section);
226 isa.unserialize(cpu, cp, section);
227}
228
229#if FULL_SYSTEM
230void
231SimpleThread::dumpFuncProfile()
232{
233 std::ostream *os = simout.create(csprintf("profile.%s.dat", cpu->name()));
234 profile->dump(tc, *os);

--- 70 unchanged lines hidden ---
227}
228
229#if FULL_SYSTEM
230void
231SimpleThread::dumpFuncProfile()
232{
233 std::ostream *os = simout.create(csprintf("profile.%s.dat", cpu->name()));
234 profile->dump(tc, *os);

--- 70 unchanged lines hidden ---