diff options
Diffstat (limited to 'src/arch/arm/fastmodel/iris/thread_context.hh')
-rw-r--r-- | src/arch/arm/fastmodel/iris/thread_context.hh | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/arch/arm/fastmodel/iris/thread_context.hh b/src/arch/arm/fastmodel/iris/thread_context.hh index d0e920e60..49b3325e7 100644 --- a/src/arch/arm/fastmodel/iris/thread_context.hh +++ b/src/arch/arm/fastmodel/iris/thread_context.hh @@ -74,6 +74,9 @@ class ThreadContext : public ::ThreadContext ResourceIds miscRegIds; ResourceIds intRegIds; + std::vector<iris::MemorySpaceInfo> memorySpaces; + std::vector<iris::MemorySupportedAddressTranslationResult> translations; + // A queue to keep track of instruction count based events. EventQueue comInstEventQueue; @@ -101,6 +104,9 @@ class ThreadContext : public ::ThreadContext iris::IrisCppAdapter &call() const { return client.irisCall(); } iris::IrisCppAdapter &noThrow() const { return client.irisCallNoThrow(); } + bool translateAddress(Addr &paddr, iris::MemorySpaceId p_space, + Addr vaddr, iris::MemorySpaceId v_space); + public: ThreadContext(::BaseCPU *cpu, int id, System *system, ::BaseTLB *dtb, ::BaseTLB *itb, @@ -108,6 +114,8 @@ class ThreadContext : public ::ThreadContext const std::string &iris_path); virtual ~ThreadContext(); + virtual bool translateAddress(Addr &paddr, Addr vaddr) = 0; + bool schedule(PCEvent *e) override { return false; } bool remove(PCEvent *e) override { return false; } |