59a60,61
>
> class Checkpoint;
111a114
> Drained,
273,274c276,278
< /** Switches out this CPU. */
< void switchOut();
---
> /** Starts draining the CPU's pipeline of all instructions in
> * order to stop all memory accesses. */
> virtual bool drain(Event *drain_event);
275a280,282
> /** Resumes execution after a drain. */
> virtual void resume();
>
277c284
< void signalSwitched();
---
> void signalDrained();
278a286,288
> /** Switches out this CPU. */
> virtual void switchOut();
>
280c290
< void takeOverFrom(BaseCPU *oldCPU);
---
> virtual void takeOverFrom(BaseCPU *oldCPU);
553,554c563,564
< /** Counter of how many stages have completed switching out. */
< int switchCount;
---
> /** Event to call process() on once draining has completed. */
> Event *drainEvent;
555a566,568
> /** Counter of how many stages have completed draining. */
> int drainCount;
>