diff options
Diffstat (limited to 'src/cpu/cpu_exec_context.hh')
-rw-r--r-- | src/cpu/cpu_exec_context.hh | 28 |
1 files changed, 11 insertions, 17 deletions
diff --git a/src/cpu/cpu_exec_context.hh b/src/cpu/cpu_exec_context.hh index 2c06a7b3b..61e6550af 100644 --- a/src/cpu/cpu_exec_context.hh +++ b/src/cpu/cpu_exec_context.hh @@ -52,6 +52,10 @@ class FunctionalPort; class PhysicalPort; +namespace Kernel { + class Statistics; +}; + #else // !FULL_SYSTEM #include "sim/process.hh" @@ -142,23 +146,9 @@ class CPUExecContext Addr profilePC; void dumpFuncProfile(); - /** Event for timing out quiesce instruction */ - struct EndQuiesceEvent : public Event - { - /** A pointer to the execution context that is quiesced */ - CPUExecContext *cpuXC; - - EndQuiesceEvent(CPUExecContext *_cpuXC); + EndQuiesceEvent *quiesceEvent; - /** Event process to occur at interrupt*/ - virtual void process(); - - /** Event description */ - virtual const char *description(); - }; - EndQuiesceEvent quiesceEvent; - - Event *getQuiesceEvent() { return &quiesceEvent; } + EndQuiesceEvent *getQuiesceEvent() { return quiesceEvent; } Tick readLastActivate() { return lastActivate; } @@ -168,6 +158,9 @@ class CPUExecContext void profileSample(); + Kernel::Statistics *getKernelStats() { return kernelStats; } + + Kernel::Statistics *kernelStats; #else /// Port that syscalls can use to access memory (provides translation step). TranslatingPort *port; @@ -208,7 +201,8 @@ class CPUExecContext // constructor: initialize context from given process structure #if FULL_SYSTEM CPUExecContext(BaseCPU *_cpu, int _thread_num, System *_system, - AlphaITB *_itb, AlphaDTB *_dtb); + AlphaITB *_itb, AlphaDTB *_dtb, + bool use_kernel_stats = true); #else CPUExecContext(BaseCPU *_cpu, int _thread_num, Process *_process, int _asid, MemObject *memobj); |