1/*
2 * Copyright (c) 2011-2013 ARM Limited
2 * Copyright (c) 2011-2013, 2017 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
9 * licensed hereunder. You may use the software subject to the license
10 * terms below provided that you ensure that this notice is replicated

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

302 void init() override;
303 void startup() override;
304 void regStats() override;
305
306 void regProbePoints() override;
307
308 void registerThreadContexts();
309
310 // Functions to deschedule and reschedule the events to enter the
311 // power gating sleep before and after checkpoiting respectively.
312 void deschedulePowerGatingEvent();
313 void schedulePowerGatingEvent();
314
315 /**
316 * Prepare for another CPU to take over execution.
317 *
318 * When this method exits, all internal state should have been
319 * flushed. After the method returns, the simulator calls
320 * takeOverFrom() on the new CPU with this CPU as its parameter.
321 */
322 virtual void switchOut();

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

583 {
584 assert(tid < numThreads);
585 return &addressMonitor[tid];
586 }
587
588 bool waitForRemoteGDB() const;
589
590 Cycles syscallRetryLatency;
591 // Enables CPU to enter power gating on a configurable cycle count
592 protected:
593 const Cycles pwrGatingLatency;
594 void enterPwrGating();
595 EventFunctionWrapper enterPwrGatingEvent;
596};
597
598#endif // THE_ISA == NULL_ISA
599
600#endif // __CPU_BASE_HH__