cpu: Add ISA* getter in Thread interface

This patch is adding a ISA* getter to the TC interface

Change-Id: Ib8ddc5d8fdd44e782f50a2ad15878a6bcf931e58
Reviewed-on: https://gem5-review.googlesource.com/c/16462
Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com>
Reviewed-by: Anthony Gutierrez <anthony.gutierrez@amd.com>
Maintainer: Anthony Gutierrez <anthony.gutierrez@amd.com>
This commit is contained in:
Giacomo Gabrielli
2019-02-14 17:39:37 +00:00
committed by Giacomo Travaglini
parent 1bc4102793
commit 150104648f
4 changed files with 15 additions and 0 deletions

View File

@@ -121,6 +121,8 @@ class CheckerThreadContext : public ThreadContext
return checkerCPU;
}
TheISA::ISA *getIsaPtr() override { return actualTC->getIsaPtr(); }
TheISA::Decoder *getDecoderPtr() override {
return actualTC->getDecoderPtr();
}

View File

@@ -86,6 +86,12 @@ class O3ThreadContext : public ThreadContext
CheckerCPU *getCheckerCpuPtr() override { return NULL; }
TheISA::ISA *
getIsaPtr() override
{
return cpu->isa[thread->threadId()];
}
TheISA::Decoder *
getDecoderPtr() override
{

View File

@@ -203,6 +203,8 @@ class SimpleThread : public ThreadState
CheckerCPU *getCheckerCpuPtr() { return NULL; }
TheISA::ISA *getIsaPtr() { return isa; }
TheISA::Decoder *getDecoderPtr() { return &decoder; }
System *getSystemPtr() { return system; }

View File

@@ -57,6 +57,7 @@
// DTB pointers.
namespace TheISA
{
class ISA;
class Decoder;
}
class BaseCPU;
@@ -143,6 +144,8 @@ class ThreadContext
virtual CheckerCPU *getCheckerCpuPtr() = 0;
virtual TheISA::ISA *getIsaPtr() = 0;
virtual TheISA::Decoder *getDecoderPtr() = 0;
virtual System *getSystemPtr() = 0;
@@ -406,6 +409,8 @@ class ProxyThreadContext : public ThreadContext
CheckerCPU *getCheckerCpuPtr() { return actualTC->getCheckerCpuPtr(); }
TheISA::ISA *getIsaPtr() { return actualTC->getIsaPtr(); }
TheISA::Decoder *getDecoderPtr() { return actualTC->getDecoderPtr(); }
System *getSystemPtr() { return actualTC->getSystemPtr(); }