diff options
Diffstat (limited to 'src/cpu')
-rw-r--r-- | src/cpu/checker/cpu.cc | 1 | ||||
-rw-r--r-- | src/cpu/checker/thread_context.hh | 8 | ||||
-rw-r--r-- | src/cpu/o3/cpu.cc | 12 | ||||
-rw-r--r-- | src/cpu/o3/regfile.hh | 1 | ||||
-rw-r--r-- | src/cpu/o3/thread_context.hh | 2 | ||||
-rw-r--r-- | src/cpu/simple/base.cc | 1 | ||||
-rw-r--r-- | src/cpu/simple_thread.hh | 8 | ||||
-rw-r--r-- | src/cpu/thread_context.cc | 4 | ||||
-rw-r--r-- | src/cpu/thread_context.hh | 8 | ||||
-rw-r--r-- | src/cpu/thread_state.cc | 2 | ||||
-rw-r--r-- | src/cpu/thread_state.hh | 10 |
11 files changed, 26 insertions, 31 deletions
diff --git a/src/cpu/checker/cpu.cc b/src/cpu/checker/cpu.cc index fe1c3d440..7f8eada4c 100644 --- a/src/cpu/checker/cpu.cc +++ b/src/cpu/checker/cpu.cc @@ -47,7 +47,6 @@ #include <string> #include "arch/generic/tlb.hh" -#include "arch/kernel_stats.hh" #include "arch/vtophys.hh" #include "cpu/base.hh" #include "cpu/simple_thread.hh" diff --git a/src/cpu/checker/thread_context.hh b/src/cpu/checker/thread_context.hh index 26973cdbf..ed8add662 100644 --- a/src/cpu/checker/thread_context.hh +++ b/src/cpu/checker/thread_context.hh @@ -52,10 +52,10 @@ #include "debug/Checker.hh" class EndQuiesceEvent; +namespace Kernel { + class Statistics; +}; namespace TheISA { - namespace Kernel { - class Statistics; - }; class Decoder; }; @@ -134,7 +134,7 @@ class CheckerThreadContext : public ThreadContext System *getSystemPtr() override { return actualTC->getSystemPtr(); } - TheISA::Kernel::Statistics * + ::Kernel::Statistics * getKernelStats() override { return actualTC->getKernelStats(); diff --git a/src/cpu/o3/cpu.cc b/src/cpu/o3/cpu.cc index 621a6a409..70417d51f 100644 --- a/src/cpu/o3/cpu.cc +++ b/src/cpu/o3/cpu.cc @@ -925,7 +925,10 @@ FullO3CPU<Impl>::hwrei(ThreadID tid) // Need to clear the lock flag upon returning from an interrupt. this->setMiscRegNoEffect(AlphaISA::MISCREG_LOCKFLAG, false, tid); - this->thread[tid]->kernelStats->hwrei(); + auto *stats = dynamic_cast<AlphaISA::Kernel::Statistics *>( + this->thread[tid]->kernelStats); + assert(stats); + stats->hwrei(); // FIXME: XXX check for interrupts? XXX #endif @@ -937,9 +940,10 @@ bool FullO3CPU<Impl>::simPalCheck(int palFunc, ThreadID tid) { #if THE_ISA == ALPHA_ISA - if (this->thread[tid]->kernelStats) - this->thread[tid]->kernelStats->callpal(palFunc, - this->threadContexts[tid]); + auto *stats = dynamic_cast<AlphaISA::Kernel::Statistics *>( + this->thread[tid]->kernelStats); + if (stats) + stats->callpal(palFunc, this->threadContexts[tid]); switch (palFunc) { case PAL::halt: diff --git a/src/cpu/o3/regfile.hh b/src/cpu/o3/regfile.hh index d2fcd0749..d4b6602ad 100644 --- a/src/cpu/o3/regfile.hh +++ b/src/cpu/o3/regfile.hh @@ -48,7 +48,6 @@ #include <vector> #include "arch/isa_traits.hh" -#include "arch/kernel_stats.hh" #include "arch/types.hh" #include "base/trace.hh" #include "config/the_isa.hh" diff --git a/src/cpu/o3/thread_context.hh b/src/cpu/o3/thread_context.hh index b87aac4a7..e5f01871b 100644 --- a/src/cpu/o3/thread_context.hh +++ b/src/cpu/o3/thread_context.hh @@ -119,7 +119,7 @@ class O3ThreadContext : public ThreadContext System *getSystemPtr() override { return cpu->system; } /** Returns a pointer to this thread's kernel statistics. */ - TheISA::Kernel::Statistics * + ::Kernel::Statistics * getKernelStats() override { return thread->kernelStats; diff --git a/src/cpu/simple/base.cc b/src/cpu/simple/base.cc index b687a17e0..298ba9f9e 100644 --- a/src/cpu/simple/base.cc +++ b/src/cpu/simple/base.cc @@ -43,7 +43,6 @@ #include "cpu/simple/base.hh" -#include "arch/kernel_stats.hh" #include "arch/stacktrace.hh" #include "arch/utility.hh" #include "arch/vtophys.hh" diff --git a/src/cpu/simple_thread.hh b/src/cpu/simple_thread.hh index 0d415dc16..33f0bbd8a 100644 --- a/src/cpu/simple_thread.hh +++ b/src/cpu/simple_thread.hh @@ -74,10 +74,8 @@ class CheckerCPU; class FunctionProfile; class ProfileNode; -namespace TheISA { - namespace Kernel { - class Statistics; - } +namespace Kernel { + class Statistics; } /** @@ -212,7 +210,7 @@ class SimpleThread : public ThreadState, public ThreadContext System *getSystemPtr() override { return system; } - TheISA::Kernel::Statistics * + Kernel::Statistics * getKernelStats() override { return ThreadState::getKernelStats(); diff --git a/src/cpu/thread_context.cc b/src/cpu/thread_context.cc index 35d96a4e7..dea39015f 100644 --- a/src/cpu/thread_context.cc +++ b/src/cpu/thread_context.cc @@ -44,7 +44,6 @@ #include "cpu/thread_context.hh" #include "arch/generic/vec_pred_reg.hh" -#include "arch/kernel_stats.hh" #include "base/logging.hh" #include "base/trace.hh" #include "config/the_isa.hh" @@ -52,6 +51,7 @@ #include "cpu/quiesce_event.hh" #include "debug/Context.hh" #include "debug/Quiesce.hh" +#include "kern/kernel_stats.hh" #include "params/BaseCPU.hh" #include "sim/full_system.hh" @@ -139,7 +139,7 @@ ThreadContext::quiesce() suspend(); if (getKernelStats()) - getKernelStats()->quiesce(); + getKernelStats()->quiesce(); } diff --git a/src/cpu/thread_context.hh b/src/cpu/thread_context.hh index 00e97b23c..bdf5a0086 100644 --- a/src/cpu/thread_context.hh +++ b/src/cpu/thread_context.hh @@ -70,10 +70,8 @@ class FSTranslatingPortProxy; class PortProxy; class Process; class System; -namespace TheISA { - namespace Kernel { - class Statistics; - } +namespace Kernel { + class Statistics; } /** @@ -150,7 +148,7 @@ class ThreadContext virtual System *getSystemPtr() = 0; - virtual TheISA::Kernel::Statistics *getKernelStats() = 0; + virtual ::Kernel::Statistics *getKernelStats() = 0; virtual PortProxy &getPhysProxy() = 0; diff --git a/src/cpu/thread_state.cc b/src/cpu/thread_state.cc index 92be17977..acb297113 100644 --- a/src/cpu/thread_state.cc +++ b/src/cpu/thread_state.cc @@ -30,11 +30,11 @@ #include "cpu/thread_state.hh" -#include "arch/kernel_stats.hh" #include "base/output.hh" #include "cpu/base.hh" #include "cpu/profile.hh" #include "cpu/quiesce_event.hh" +#include "kern/kernel_stats.hh" #include "mem/fs_translating_port_proxy.hh" #include "mem/port.hh" #include "mem/port_proxy.hh" diff --git a/src/cpu/thread_state.hh b/src/cpu/thread_state.hh index 574193d0e..200633922 100644 --- a/src/cpu/thread_state.hh +++ b/src/cpu/thread_state.hh @@ -41,10 +41,8 @@ class EndQuiesceEvent; class FunctionProfile; class ProfileNode; -namespace TheISA { - namespace Kernel { - class Statistics; - } +namespace Kernel { + class Statistics; } class Checkpoint; @@ -98,7 +96,7 @@ struct ThreadState : public Serializable { void profileSample(); - TheISA::Kernel::Statistics *getKernelStats() { return kernelStats; } + Kernel::Statistics *getKernelStats() { return kernelStats; } PortProxy &getPhysProxy(); @@ -185,7 +183,7 @@ struct ThreadState : public Serializable { Addr profilePC; EndQuiesceEvent *quiesceEvent; - TheISA::Kernel::Statistics *kernelStats; + Kernel::Statistics *kernelStats; protected: Process *process; |