cpu: alpha: Delete all occurrances of the simPalCheck function.
authorGabe Black <gabeblack@google.com>
Sun, 28 Apr 2019 04:07:54 +0000 (21:07 -0700)
committerGabe Black <gabeblack@google.com>
Tue, 30 Apr 2019 07:37:51 +0000 (07:37 +0000)
This is now handled within the ISA description.

Change-Id: Ie409bb46d102e59d4eb41408d9196fe235626d32
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/18434
Reviewed-by: Gabe Black <gabeblack@google.com>
Maintainer: Gabe Black <gabeblack@google.com>
Tested-by: kokoro <noreply+kokoro@google.com>
src/arch/alpha/ev5.cc
src/cpu/checker/cpu.hh
src/cpu/exec_context.hh
src/cpu/minor/exec_context.hh
src/cpu/o3/cpu.cc
src/cpu/o3/cpu.hh
src/cpu/o3/dyn_inst.hh
src/cpu/o3/dyn_inst_impl.hh
src/cpu/simple/exec_context.hh
src/cpu/simple_thread.cc
src/cpu/simple_thread.hh

index e64523d9c7c6a832ed6b682289575d00226e35f9..676d7a7137d2c50a63ea14cb61edff4cb23b0b05 100644 (file)
@@ -482,35 +482,3 @@ copyIprs(ThreadContext *src, ThreadContext *dest)
 }
 
 } // namespace AlphaISA
-
-using namespace AlphaISA;
-
-/**
- * Check for special simulator handling of specific PAL calls.
- * If return value is false, actual PAL call will be suppressed.
- */
-bool
-SimpleThread::simPalCheck(int palFunc)
-{
-    auto *stats = dynamic_cast<AlphaISA::Kernel::Statistics *>(kernelStats);
-    assert(stats || !kernelStats);
-
-    if (stats)
-        stats->callpal(palFunc, this);
-
-    switch (palFunc) {
-      case PAL::halt:
-        halt();
-        if (--System::numSystemsRunning == 0)
-            exitSimLoop("all cpus halted");
-        break;
-
-      case PAL::bpt:
-      case PAL::bugchk:
-        if (system->breakpoint())
-            return false;
-        break;
-    }
-
-    return true;
-}
index acbe94f5d4932c46057c67dcc7186a658d18f903..7582e5e59f9393da99878f4e9e11cbc78d924c03 100644 (file)
@@ -539,8 +539,6 @@ class CheckerCPU : public BaseCPU, public ExecContext
     void setStCondFailures(unsigned int sc_failures) override {}
     /////////////////////////////////////////////////////
 
-    bool simPalCheck(int palFunc) override
-    { return thread->simPalCheck(palFunc); }
     void wakeup(ThreadID tid) override { }
     // Assume that the normal CPU's call to syscall was successful.
     // The checker's state would have already been updated by the syscall.
index 0477f3f65aa63e6812dec2f5995a98f0c5ccfa96..5909af646a1f714f789386647f253f9745f06f60 100644 (file)
@@ -309,19 +309,6 @@ class ExecContext {
     /** Returns a pointer to the ThreadContext. */
     virtual ThreadContext *tcBase() = 0;
 
-    /**
-     * @{
-     * @name Alpha-Specific Interfaces
-     */
-
-    /**
-     * Check for special simulator handling of specific PAL calls.  If
-     * return value is false, actual PAL call will be suppressed.
-     */
-    virtual bool simPalCheck(int palFunc) = 0;
-
-    /** @} */
-
     /**
      * @{
      * @name ARM-Specific Interfaces
index 03f8e09c9b2de6adceb5e2d73a5c034b98972e6f..55391c3fad21a0aae9332c6ead09dd88fa128a50 100644 (file)
@@ -365,16 +365,6 @@ class ExecContext : public ::ExecContext
         return thread.setMiscReg(reg.index(), val);
     }
 
-    bool
-    simPalCheck(int palFunc) override
-    {
-#if THE_ISA == ALPHA_ISA
-        return thread.simPalCheck(palFunc);
-#else
-        return false;
-#endif
-    }
-
     void
     syscall(int64_t callnum, Fault *fault) override
     {
index ba6e80ff24a981adde2fa2b0e5a229fec6be6afe..50de81b2ab10177b45af5b483e2e72a47b99f3d2 100644 (file)
@@ -917,33 +917,6 @@ FullO3CPU<Impl>::removeThread(ThreadID tid)
 */
 }
 
-template <class Impl>
-bool
-FullO3CPU<Impl>::simPalCheck(int palFunc, ThreadID tid)
-{
-#if THE_ISA == ALPHA_ISA
-    auto *stats = dynamic_cast<AlphaISA::Kernel::Statistics *>(
-            this->thread[tid]->kernelStats);
-    if (stats)
-        stats->callpal(palFunc, this->threadContexts[tid]);
-
-    switch (palFunc) {
-      case PAL::halt:
-        halt();
-        if (--System::numSystemsRunning == 0)
-            exitSimLoop("all cpus halted");
-        break;
-
-      case PAL::bpt:
-      case PAL::bugchk:
-        if (this->system->breakpoint())
-            return false;
-        break;
-    }
-#endif
-    return true;
-}
-
 template <class Impl>
 void
 FullO3CPU<Impl>::switchRenameMode(ThreadID tid, UnifiedFreeList* freelist)
index bd1479accc4bb69f452d6fb69c4a7f38bcdde0b4..c754fe8cf4ce7a14beaa8c186621ebb29507b6cc 100644 (file)
@@ -385,8 +385,6 @@ class FullO3CPU : public BaseO3CPU
     /** Traps to handle given fault. */
     void trap(const Fault &fault, ThreadID tid, const StaticInstPtr &inst);
 
-    bool simPalCheck(int palFunc, ThreadID tid);
-
     /** Check if a change in renaming is needed for vector registers.
      * The vecMode variable is updated and propagated to rename maps.
      *
index 9b6c1fbb8f5ceff23c7b3e5c6fd6beb78e072b0f..131ffd2589ab8f61e364730552027684c88e03ed 100644 (file)
@@ -250,7 +250,6 @@ class BaseO3DynInst : public BaseDynInst<Impl>
     }
     /** Traps to handle specified fault. */
     void trap(const Fault &fault);
-    bool simPalCheck(int palFunc) override;
 
     /** Emulates a syscall. */
     void syscall(int64_t callnum, Fault *fault) override;
index 5fb59737964041594caaabc7bc808e799efd64f3..fbeb3c2915b611fe6b5b8972f9107a83077c434f 100644 (file)
@@ -191,16 +191,6 @@ BaseO3DynInst<Impl>::trap(const Fault &fault)
     this->cpu->trap(fault, this->threadNumber, this->staticInst);
 }
 
-template <class Impl>
-bool
-BaseO3DynInst<Impl>::simPalCheck(int palFunc)
-{
-#if THE_ISA != ALPHA_ISA
-    panic("simPalCheck called, but PAL only exists in Alpha!\n");
-#endif
-    return this->cpu->simPalCheck(palFunc, this->threadNumber);
-}
-
 template <class Impl>
 void
 BaseO3DynInst<Impl>::syscall(int64_t callnum, Fault *fault)
index 938bb784a178a3269a7b7bbae185817a4998d70e..fb4ced381fe1b8335864228a3eb959ceab1c71b6 100644 (file)
@@ -502,16 +502,6 @@ class SimpleExecContext : public ExecContext {
     /** Returns a pointer to the ThreadContext. */
     ThreadContext *tcBase() override { return thread->getTC(); }
 
-    /**
-     * Check for special simulator handling of specific PAL calls.  If
-     * return value is false, actual PAL call will be suppressed.
-     */
-    bool
-    simPalCheck(int palFunc) override
-    {
-        return thread->simPalCheck(palFunc);
-    }
-
     bool
     readPredicate() const override
     {
index b676b045199dac4f52a68c742e999b8b23e5206e..9067e877b3fe3766a57ac15100085c1f89713587 100644 (file)
@@ -212,14 +212,3 @@ SimpleThread::copyArchRegs(ThreadContext *src_tc)
 {
     TheISA::copyRegs(src_tc, this);
 }
-
-// The following methods are defined in src/arch/alpha/ev5.cc for
-// Alpha.
-#if THE_ISA != ALPHA_ISA
-
-bool
-SimpleThread::simPalCheck(int palFunc)
-{
-    return true;
-}
-#endif
index 71bce3857f2ca7d983517e3a814f025b9882d4fd..733047f7105c424dff370716771d475f290f4403 100644 (file)
@@ -181,8 +181,6 @@ class SimpleThread : public ThreadState, public ThreadContext
 
     void dumpFuncProfile() override;
 
-    bool simPalCheck(int palFunc);
-
     /*******************************************
      * ThreadContext interface functions.
      ******************************************/