59a60,61
>
> class Checkpoint;
111a114
> Drained,
319,320c322,324
< /** 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);
321a326,328
> /** Resumes execution after a drain. */
> virtual void resume();
>
323c330
< void signalSwitched();
---
> void signalDrained();
324a332,334
> /** Switches out this CPU. */
> virtual void switchOut();
>
326c336
< void takeOverFrom(BaseCPU *oldCPU);
---
> virtual void takeOverFrom(BaseCPU *oldCPU);
599,600c609,610
< /** Counter of how many stages have completed switching out. */
< int switchCount;
---
> /** Event to call process() on once draining has completed. */
> Event *drainEvent;
601a612,614
> /** Counter of how many stages have completed draining. */
> int drainCount;
>