cpu: Make getIsaPtr return a BaseISA pointer.
authorGabe Black <gabeblack@google.com>
Tue, 4 Feb 2020 00:36:04 +0000 (16:36 -0800)
committerGabe Black <gabeblack@google.com>
Wed, 5 Feb 2020 22:41:56 +0000 (22:41 +0000)
This isolates the architecture specific ISA types a little bit, and
means that ThreadContexts don't *have* to find an architecture specific
class to return, even if they don't naturally have one lying around.

Change-Id: Ide10b5d945ec6076947b2ccdea87c86e96e40857
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/25008
Tested-by: kokoro <noreply+kokoro@google.com>
Reviewed-by: Giacomo Travaglini <giacomo.travaglini@arm.com>
Maintainer: Giacomo Travaglini <giacomo.travaglini@arm.com>

src/arch/arm/fastmodel/iris/thread_context.hh
src/cpu/checker/thread_context.hh
src/cpu/o3/thread_context.hh
src/cpu/simple_thread.hh
src/cpu/thread_context.hh

index 5d6827cc9cc34d676eb2942b097aa66408e39085..5590f7fd278d62f8dd606c4a15baf27ad495344e 100644 (file)
@@ -209,7 +209,7 @@ class ThreadContext : public ::ThreadContext
 
     System *getSystemPtr() override { return _cpu->system; }
 
-    ArmISA::ISA *
+    BaseISA *
     getIsaPtr() override
     {
         panic("%s not implemented.", __FUNCTION__);
index 0fb75562a52d5d5e36c5669fc9ff8d641b7faae6..e01a00d37963b3b33f6021121f0805e1c72ede3d 100644 (file)
@@ -142,7 +142,7 @@ class CheckerThreadContext : public ThreadContext
         return checkerCPU;
     }
 
-    TheISA::ISA *getIsaPtr() override { return actualTC->getIsaPtr(); }
+    BaseISA *getIsaPtr() override { return actualTC->getIsaPtr(); }
 
     TheISA::Decoder *
     getDecoderPtr() override
index a01c0541396c6a1fac1f75d71ea71b61898d8438..9607f730f035eb115c5500ae80c1831b82dde471 100644 (file)
@@ -113,7 +113,7 @@ class O3ThreadContext : public ThreadContext
 
     CheckerCPU *getCheckerCpuPtr() override { return NULL; }
 
-    TheISA::ISA *
+    BaseISA *
     getIsaPtr() override
     {
         return cpu->isa[thread->threadId()];
index b4afcbbc840ac504022aeef6c72c2f1db88d29fd..fabcbb83ba4b37d95560b06e4961ff244840c874 100644 (file)
@@ -230,7 +230,7 @@ class SimpleThread : public ThreadState, public ThreadContext
 
     CheckerCPU *getCheckerCpuPtr() override { return NULL; }
 
-    TheISA::ISA *getIsaPtr() override { return isa; }
+    BaseISA *getIsaPtr() override { return isa; }
 
     TheISA::Decoder *getDecoderPtr() override { return &decoder; }
 
index c14161d6f2022c40db1de6afcd5f0d7ec03268ab..fcf39f9326472ea4632097a28dac01ecc3e66865 100644 (file)
@@ -47,6 +47,7 @@
 #include <iostream>
 #include <string>
 
+#include "arch/generic/isa.hh"
 #include "arch/registers.hh"
 #include "arch/types.hh"
 #include "base/types.hh"
@@ -141,7 +142,7 @@ class ThreadContext : public PCEventScope
 
     virtual CheckerCPU *getCheckerCpuPtr() = 0;
 
-    virtual TheISA::ISA *getIsaPtr() = 0;
+    virtual BaseISA *getIsaPtr() = 0;
 
     virtual TheISA::Decoder *getDecoderPtr() = 0;