arch,cpu,sim: Eliminate the now empty kernel statistics classes.
authorGabe Black <gabeblack@google.com>
Fri, 7 Feb 2020 01:34:41 +0000 (17:34 -0800)
committerGabe Black <gabeblack@google.com>
Wed, 17 Jun 2020 19:54:41 +0000 (19:54 +0000)
This includes the base and ISA specific Kernel::Statistics classes, the
plumbing through ThreadContext to access them, and the switching
header file associated with them.

Change-Id: Ia511a59325b629aa9ccc0e695ddd47ff11916499
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/25149
Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com>
Maintainer: Andreas Sandberg <andreas.sandberg@arm.com>
Tested-by: kokoro <noreply+kokoro@google.com>
23 files changed:
src/arch/SConscript
src/arch/arm/fastmodel/iris/thread_context.hh
src/arch/arm/kernel_stats.hh [deleted file]
src/arch/mips/idle_event.cc
src/arch/mips/kernel_stats.hh [deleted file]
src/arch/power/kernel_stats.hh [deleted file]
src/arch/riscv/idle_event.cc
src/arch/riscv/kernel_stats.hh [deleted file]
src/arch/sparc/kernel_stats.hh [deleted file]
src/arch/x86/kernel_stats.hh [deleted file]
src/cpu/checker/cpu.cc
src/cpu/checker/thread_context.hh
src/cpu/o3/cpu.cc
src/cpu/o3/thread_context.hh
src/cpu/o3/thread_context_impl.hh
src/cpu/simple_thread.cc
src/cpu/simple_thread.hh
src/cpu/thread_context.cc
src/cpu/thread_context.hh
src/cpu/thread_state.cc
src/cpu/thread_state.hh
src/kern/kernel_stats.hh [deleted file]
src/sim/system.cc

index 13ab8fbd754b76e3885f617d7c856267f785c36c..978f72a67939ed6880cfc5cf233cc67c3df5e597 100644 (file)
@@ -60,7 +60,6 @@ env.SwitchingHeaders(
         decoder.hh
         isa.hh
         isa_traits.hh
-        kernel_stats.hh
         locked_mem.hh
         microcode_rom.hh
         pseudo_inst.hh
index 6b16069424ded6717a8edabb8ed913ff30fd424f..5a4efd56d81b323c2ab43e070c9673fabe20e8ce 100644 (file)
@@ -216,12 +216,6 @@ class ThreadContext : public ::ThreadContext
         panic("%s not implemented.", __FUNCTION__);
     }
 
-    Kernel::Statistics *
-    getKernelStats() override
-    {
-        panic("%s not implemented.", __FUNCTION__);
-    }
-
     PortProxy &getPhysProxy() override { return *physProxy; }
     PortProxy &getVirtProxy() override { return *virtProxy; }
     void initMemProxies(::ThreadContext *tc) override;
diff --git a/src/arch/arm/kernel_stats.hh b/src/arch/arm/kernel_stats.hh
deleted file mode 100644 (file)
index 4eb10a5..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Copyright (c) 2004-2005 The Regents of The University of Michigan
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met: redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer;
- * redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution;
- * neither the name of the copyright holders nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef __ARCH_ARM_KERNEL_STATS_HH__
-#define __ARCH_ARM_KERNEL_STATS_HH__
-
-#include "kern/kernel_stats.hh"
-
-namespace ArmISA {
-namespace Kernel {
-
-class Statistics : public ::Kernel::Statistics
-{
-  public:
-    Statistics() : ::Kernel::Statistics()
-    {}
-};
-
-} // namespace ArmISA::Kernel
-} // namespace ArmISA
-
-#endif // __ARCH_ARM_KERNEL_STATS_HH__
index 6c593bd3738e0dae4f1f6e5ca6cf55e782cfa10b..a2b3b0cd6b48d7970fdfab5cc2db091e40cbd12a 100644 (file)
@@ -28,7 +28,6 @@
 
 #include "arch/mips/idle_event.hh"
 
-#include "arch/mips/kernel_stats.hh"
 #include "cpu/thread_context.hh"
 
 using namespace MipsISA;
diff --git a/src/arch/mips/kernel_stats.hh b/src/arch/mips/kernel_stats.hh
deleted file mode 100644 (file)
index 065d73a..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Copyright (c) 2004-2005 The Regents of The University of Michigan
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met: redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer;
- * redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution;
- * neither the name of the copyright holders nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef __ARCH_MIPS_KERNEL_STATS_HH__
-#define __ARCH_MIPS_KERNEL_STATS_HH__
-
-#include "kern/kernel_stats.hh"
-
-namespace MipsISA {
-namespace Kernel {
-
-class Statistics : public ::Kernel::Statistics
-{
-  public:
-    Statistics() : ::Kernel::Statistics()
-    {}
-};
-
-} // namespace MipsISA::Kernel
-} // namespace MipsISA
-
-#endif // __ARCH_MIPS_KERNEL_STATS_HH__
diff --git a/src/arch/power/kernel_stats.hh b/src/arch/power/kernel_stats.hh
deleted file mode 100644 (file)
index f1eabfd..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Copyright (c) 2004-2005 The Regents of The University of Michigan
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met: redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer;
- * redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution;
- * neither the name of the copyright holders nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef __ARCH_POWER_KERNEL_STATS_HH__
-#define __ARCH_POWER_KERNEL_STATS_HH__
-
-#include "kern/kernel_stats.hh"
-
-namespace PowerISA {
-namespace Kernel {
-
-class Statistics : public ::Kernel::Statistics
-{
-  public:
-    Statistics() : ::Kernel::Statistics()
-    {}
-};
-
-} // namespace PowerISA::Kernel
-} // namespace PowerISA
-
-#endif // __ARCH_POWER_KERNEL_STATS_HH__
index 5b56c272c343901090eb4c82b45b6de10e40d8a8..88256b99b1dac87d7e54372f346c0d54d9339fb2 100644 (file)
@@ -28,7 +28,6 @@
 
 #include "arch/riscv/idle_event.hh"
 
-#include "arch/riscv/kernel_stats.hh"
 #include "cpu/thread_context.hh"
 
 using namespace RiscvISA;
diff --git a/src/arch/riscv/kernel_stats.hh b/src/arch/riscv/kernel_stats.hh
deleted file mode 100644 (file)
index 6435bcb..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Copyright (c) 2004-2005 The Regents of The University of Michigan
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met: redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer;
- * redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution;
- * neither the name of the copyright holders nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef __ARCH_RISCV_KERNEL_STATS_HH__
-#define __ARCH_RISCV_KERNEL_STATS_HH__
-
-#include "kern/kernel_stats.hh"
-
-namespace RiscvISA {
-namespace Kernel {
-
-class Statistics : public ::Kernel::Statistics
-{
-  public:
-    Statistics() : ::Kernel::Statistics()
-    {}
-};
-
-} // namespace RiscvISA::Kernel
-} // namespace RiscvISA
-
-#endif // __ARCH_RISCV_KERNEL_STATS_HH__
diff --git a/src/arch/sparc/kernel_stats.hh b/src/arch/sparc/kernel_stats.hh
deleted file mode 100644 (file)
index 41a8dd0..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * Copyright (c) 2004-2005 The Regents of The University of Michigan
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met: redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer;
- * redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution;
- * neither the name of the copyright holders nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef __ARCH_SPARC_KERNEL_STATS_HH__
-#define __ARCH_SPARC_KERNEL_STATS_HH__
-
-#include <map>
-#include <stack>
-#include <string>
-#include <vector>
-
-#include "kern/kernel_stats.hh"
-
-namespace SparcISA {
-namespace Kernel {
-
-class Statistics : public ::Kernel::Statistics
-{
-  public:
-    Statistics() : ::Kernel::Statistics()
-    {}
-};
-
-} // namespace SparcISA::Kernel
-} // namespace SparcISA
-
-#endif // __ARCH_SPARC_KERNEL_STATS_HH__
diff --git a/src/arch/x86/kernel_stats.hh b/src/arch/x86/kernel_stats.hh
deleted file mode 100644 (file)
index 44980d4..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * Copyright (c) 2007 The Hewlett-Packard Development Company
- * All rights reserved.
- *
- * The license below extends only to copyright in the software and shall
- * not be construed as granting a license to any other intellectual
- * property including but not limited to intellectual property relating
- * to a hardware implementation of the functionality of the software
- * licensed hereunder.  You may use the software subject to the license
- * terms below provided that you ensure that this notice is replicated
- * unmodified and in its entirety in all distributions of the software,
- * modified or unmodified, in source code or in binary form.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met: redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer;
- * redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution;
- * neither the name of the copyright holders nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef __ARCH_X86_KERNELSTATS_HH__
-#define __ARCH_X86_KERNELSTATS_HH__
-
-#include "kern/kernel_stats.hh"
-
-namespace X86ISA {
-namespace Kernel {
-
-class Statistics : public ::Kernel::Statistics
-{
-  public:
-    Statistics() : ::Kernel::Statistics()
-    {}
-};
-
-}
-}
-
-#endif // __ARCH_X86_KERNELSTATS_HH__
index b62a5c605316613596b234cbc0a704304dc01383..d9d6d7efa6b4fe1a480b43077b1638131fbf948e 100644 (file)
@@ -99,8 +99,7 @@ CheckerCPU::setSystem(System *system)
     systemPtr = system;
 
     if (FullSystem) {
-        thread = new SimpleThread(this, 0, systemPtr, itb, dtb,
-                                  p->isa[0], false);
+        thread = new SimpleThread(this, 0, systemPtr, itb, dtb, p->isa[0]);
     } else {
         thread = new SimpleThread(this, 0, systemPtr,
                                   workload.size() ? workload[0] : NULL,
@@ -109,7 +108,6 @@ CheckerCPU::setSystem(System *system)
 
     tc = thread->getTC();
     threadContexts.push_back(tc);
-    thread->kernelStats = NULL;
     // Thread should never be null after this
     assert(thread != NULL);
 }
index 52ea7d2b2f17ebf75b3f6eaa633566aca6963dae..18f4068d73fdcd77f2503c0042a65bcd89146f55 100644 (file)
 #include "debug/Checker.hh"
 
 class EndQuiesceEvent;
-namespace Kernel {
-    class Statistics;
-};
-namespace TheISA {
+namespace TheISA
+{
     class Decoder;
-};
+} // namespace TheISA
 
 /**
  * Derived ThreadContext class for use with the Checker.  The template
@@ -150,12 +148,6 @@ class CheckerThreadContext : public ThreadContext
 
     System *getSystemPtr() override { return actualTC->getSystemPtr(); }
 
-    ::Kernel::Statistics *
-    getKernelStats() override
-    {
-        return actualTC->getKernelStats();
-    }
-
     Process *getProcessPtr() override { return actualTC->getProcessPtr(); }
 
     void setProcessPtr(Process *p) override { actualTC->setProcessPtr(p); }
index b3faf315d5c9cccb67d803001eaf6b48769a028c..21bcf56c7fb0c351eb8ee97003eb810d62294ad2 100644 (file)
@@ -43,7 +43,6 @@
 #include "cpu/o3/cpu.hh"
 
 #include "arch/generic/traits.hh"
-#include "arch/kernel_stats.hh"
 #include "config/the_isa.hh"
 #include "cpu/activity.hh"
 #include "cpu/checker/cpu.hh"
index 3cb3e97b2601003d223d2cca81cd7e9e72af9679..042ad1c26503653402e88b5a05d2126ce26cd04a 100644 (file)
@@ -47,9 +47,6 @@
 #include "cpu/thread_context.hh"
 
 class EndQuiesceEvent;
-namespace Kernel {
-    class Statistics;
-}
 
 /**
  * Derived ThreadContext class for use with the O3CPU.  It
@@ -143,13 +140,6 @@ class O3ThreadContext : public ThreadContext
     /** Returns a pointer to the system. */
     System *getSystemPtr() override { return cpu->system; }
 
-    /** Returns a pointer to this thread's kernel statistics. */
-    ::Kernel::Statistics *
-    getKernelStats() override
-    {
-        return thread->kernelStats;
-    }
-
     /** Returns a pointer to this thread's process. */
     Process *getProcessPtr() override { return thread->getProcessPtr(); }
 
@@ -192,9 +182,6 @@ class O3ThreadContext : public ThreadContext
     /** Takes over execution of a thread from another CPU. */
     void takeOverFrom(ThreadContext *old_context) override;
 
-    /** Registers statistics associated with this TC. */
-    void regStats(const std::string &name) override;
-
     /** Reads the last tick that this thread was activated on. */
     Tick readLastActivate() override;
     /** Reads the last tick that this thread was suspended on. */
index d02be717b39dbc02e14423daeb7cb239aff67b2e..034b9891db1e7154f72316ab6238fde773d9d8cd 100644 (file)
@@ -43,7 +43,6 @@
 #define __CPU_O3_THREAD_CONTEXT_IMPL_HH__
 
 #include "arch/generic/traits.hh"
-#include "arch/kernel_stats.hh"
 #include "arch/registers.hh"
 #include "config/the_isa.hh"
 #include "cpu/o3/thread_context.hh"
@@ -76,7 +75,6 @@ O3ThreadContext<Impl>::takeOverFrom(ThreadContext *old_context)
     TheISA::Decoder *oldDecoder = old_context->getDecoderPtr();
     newDecoder->takeOverFrom(oldDecoder);
 
-    thread->kernelStats = old_context->getKernelStats();
     thread->funcExeInst = old_context->readFuncExeInst();
 
     thread->noSquashFromTC = false;
@@ -142,16 +140,6 @@ O3ThreadContext<Impl>::halt()
     cpu->addThreadToExitingList(thread->threadId());
 }
 
-template <class Impl>
-void
-O3ThreadContext<Impl>::regStats(const std::string &name)
-{
-    if (FullSystem) {
-        thread->kernelStats = new TheISA::Kernel::Statistics();
-        thread->kernelStats->regStats(name + ".kern");
-    }
-}
-
 template <class Impl>
 Tick
 O3ThreadContext<Impl>::readLastActivate()
index d0c6bf4408a426574365c8f8676aa32b47a9535e..20ada332ce1e924a0d0095d8712b1f887fa98cec 100644 (file)
@@ -43,7 +43,6 @@
 #include <string>
 
 #include "arch/isa_traits.hh"
-#include "arch/kernel_stats.hh"
 #include "arch/stacktrace.hh"
 #include "arch/utility.hh"
 #include "base/callback.hh"
@@ -83,8 +82,7 @@ SimpleThread::SimpleThread(BaseCPU *_cpu, int _thread_num, System *_sys,
 }
 
 SimpleThread::SimpleThread(BaseCPU *_cpu, int _thread_num, System *_sys,
-                           BaseTLB *_itb, BaseTLB *_dtb,
-                           BaseISA *_isa, bool use_kernel_stats)
+                           BaseTLB *_itb, BaseTLB *_dtb, BaseISA *_isa)
     : ThreadState(_cpu, _thread_num, NULL),
       isa(dynamic_cast<TheISA::ISA *>(_isa)),
       predicate(true), memAccPredicate(true),
@@ -110,9 +108,6 @@ SimpleThread::SimpleThread(BaseCPU *_cpu, int _thread_num, System *_sys,
     static ProfileNode dummyNode;
     profileNode = &dummyNode;
     profilePC = 3;
-
-    if (use_kernel_stats)
-        kernelStats = new TheISA::Kernel::Statistics();
 }
 
 void
@@ -123,7 +118,6 @@ SimpleThread::takeOverFrom(ThreadContext *oldContext)
 
     isa->takeOverFrom(this, oldContext);
 
-    kernelStats = oldContext->getKernelStats();
     funcExeInst = oldContext->readFuncExeInst();
     storeCondFailures = 0;
 }
@@ -198,14 +192,6 @@ SimpleThread::halt()
     baseCpu->haltContext(_threadId);
 }
 
-
-void
-SimpleThread::regStats(const string &name)
-{
-    if (FullSystem && kernelStats)
-        kernelStats->regStats(name + ".kern");
-}
-
 void
 SimpleThread::copyArchRegs(ThreadContext *src_tc)
 {
index 6118541f266d4b5301a20fa78e31c3e01e0a422a..9e6a2a71b98234808a221397acf9a3d4719a332b 100644 (file)
@@ -74,10 +74,6 @@ class CheckerCPU;
 class FunctionProfile;
 class ProfileNode;
 
-namespace Kernel {
-    class Statistics;
-}
-
 /**
  * The SimpleThread object provides a combination of the ThreadState
  * object and the ThreadContext interface. It implements the
@@ -141,8 +137,7 @@ class SimpleThread : public ThreadState, public ThreadContext
     // constructor: initialize SimpleThread from given process structure
     // FS
     SimpleThread(BaseCPU *_cpu, int _thread_num, System *_system,
-                 BaseTLB *_itb, BaseTLB *_dtb, BaseISA *_isa,
-                 bool use_kernel_stats = true);
+                 BaseTLB *_itb, BaseTLB *_dtb, BaseISA *_isa);
     // SE
     SimpleThread(BaseCPU *_cpu, int _thread_num, System *_system,
                  Process *_process, BaseTLB *_itb, BaseTLB *_dtb,
@@ -152,8 +147,6 @@ class SimpleThread : public ThreadState, public ThreadContext
 
     void takeOverFrom(ThreadContext *oldContext) override;
 
-    void regStats(const std::string &name) override;
-
     void copyState(ThreadContext *oldContext);
 
     void serialize(CheckpointOut &cp) const override;
@@ -232,12 +225,6 @@ class SimpleThread : public ThreadState, public ThreadContext
 
     System *getSystemPtr() override { return system; }
 
-    Kernel::Statistics *
-    getKernelStats() override
-    {
-        return ThreadState::getKernelStats();
-    }
-
     PortProxy &getPhysProxy() override { return ThreadState::getPhysProxy(); }
     PortProxy &getVirtProxy() override { return ThreadState::getVirtProxy(); }
 
index 193073979f56c78bf873e7d77ff84f5f422f3982..83ed552309b1c7ac912b777acf0376e7a40146b8 100644 (file)
@@ -49,7 +49,6 @@
 #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"
 
index 4907b846cec3a1f43a7ef6323f1647fea548aba1..fdd6b8a53f82ba3f463c4bd84198874603641602 100644 (file)
@@ -68,9 +68,6 @@ class EndQuiesceEvent;
 class PortProxy;
 class Process;
 class System;
-namespace Kernel {
-    class Statistics;
-}
 
 /**
  * ThreadContext is the external interface to all thread state for
@@ -146,8 +143,6 @@ class ThreadContext : public PCEventScope
 
     virtual System *getSystemPtr() = 0;
 
-    virtual ::Kernel::Statistics *getKernelStats() = 0;
-
     virtual PortProxy &getPhysProxy() = 0;
 
     virtual PortProxy &getVirtProxy() = 0;
@@ -187,7 +182,7 @@ class ThreadContext : public PCEventScope
 
     virtual void takeOverFrom(ThreadContext *old_context) = 0;
 
-    virtual void regStats(const std::string &name) = 0;
+    virtual void regStats(const std::string &name) {};
 
     virtual EndQuiesceEvent *getQuiesceEvent() = 0;
 
index 07176b72ec4f47f81b432fd7bf0e746d848c045f..741d119b412f863e9a49963832ff09e5033dcb82 100644 (file)
@@ -32,7 +32,6 @@
 #include "cpu/base.hh"
 #include "cpu/profile.hh"
 #include "cpu/quiesce_event.hh"
-#include "kern/kernel_stats.hh"
 #include "mem/port.hh"
 #include "mem/port_proxy.hh"
 #include "mem/se_translating_port_proxy.hh"
@@ -46,7 +45,7 @@ ThreadState::ThreadState(BaseCPU *cpu, ThreadID _tid, Process *_process)
       _status(ThreadContext::Halted), baseCpu(cpu),
       _contextId(0), _threadId(_tid), lastActivate(0), lastSuspend(0),
       profile(NULL), profileNode(NULL), profilePC(0), quiesceEvent(NULL),
-      kernelStats(NULL), process(_process), physProxy(NULL), virtProxy(NULL),
+      process(_process), physProxy(NULL), virtProxy(NULL),
       funcExeInst(0), storeCondFailures(0)
 {
 }
@@ -73,8 +72,6 @@ ThreadState::serialize(CheckpointOut &cp) const
     if (quiesceEvent->scheduled())
         quiesceEndTick = quiesceEvent->when();
     SERIALIZE_SCALAR(quiesceEndTick);
-    if (kernelStats)
-        kernelStats->serialize(cp);
 }
 
 void
@@ -92,8 +89,6 @@ ThreadState::unserialize(CheckpointIn &cp)
     UNSERIALIZE_SCALAR(quiesceEndTick);
     if (quiesceEndTick)
         baseCpu->schedule(quiesceEvent, quiesceEndTick);
-    if (kernelStats)
-        kernelStats->unserialize(cp);
 }
 
 void
index dd93c68f495eb1265ded306f641056a56dce45c0..1bbf4464fb281325af47d62eb0d5c8859b5488d8 100644 (file)
@@ -39,9 +39,6 @@
 class EndQuiesceEvent;
 class FunctionProfile;
 class ProfileNode;
-namespace Kernel {
-    class Statistics;
-}
 
 class Checkpoint;
 
@@ -94,8 +91,6 @@ struct ThreadState : public Serializable {
 
     void profileSample();
 
-    Kernel::Statistics *getKernelStats() { return kernelStats; }
-
     PortProxy &getPhysProxy();
 
     PortProxy &getVirtProxy();
@@ -166,8 +161,6 @@ struct ThreadState : public Serializable {
     Addr profilePC;
     EndQuiesceEvent *quiesceEvent;
 
-    Kernel::Statistics *kernelStats;
-
   protected:
     Process *process;
 
diff --git a/src/kern/kernel_stats.hh b/src/kern/kernel_stats.hh
deleted file mode 100644 (file)
index 0fbbca4..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * Copyright (c) 2004-2005 The Regents of The University of Michigan
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met: redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer;
- * redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution;
- * neither the name of the copyright holders nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef __KERNEL_STATS_HH__
-#define __KERNEL_STATS_HH__
-
-#include <string>
-
-#include "sim/serialize.hh"
-#include "sim/stats.hh"
-
-// What does kernel stats expect is included?
-namespace Kernel
-{
-
-class Statistics : public Serializable
-{
-  protected:
-    std::string myname;
-
-  public:
-    virtual ~Statistics() {}
-
-    const std::string name() const { return myname; }
-    virtual void regStats(const std::string &name) { myname = name; };
-
-    void serialize(CheckpointOut &cp) const override {}
-    void unserialize(CheckpointIn &cp) override {}
-};
-
-} // namespace Kernel
-
-#endif // __KERNEL_STATS_HH__
index 557ad7dc6eafe8c54f41e901456494da3a565c27..2bd781566dba6cde3766a34cd83a7920375cedf1 100644 (file)
 #include "sim/full_system.hh"
 #include "sim/redirect_path.hh"
 
-/**
- * To avoid linking errors with LTO, only include the header if we
- * actually have a definition.
- */
-#if THE_ISA != NULL_ISA
-#include "kern/kernel_stats.hh"
-
-#endif
-
 using namespace std;
 using namespace TheISA;