Gabe Black has uploaded this change for review. ( https://gem5-review.googlesource.com/c/public/gem5/+/45862 )

Change subject: fastmodel: Implement ThreadContext::sendFunctional.
......................................................................

fastmodel: Implement ThreadContext::sendFunctional.

This change provides a custom implementation for the
ThreadContext::sendFunctional method.

Change-Id: Idffb4efc509dd63c852ada0768435bf653bd1854
---
M src/arch/arm/fastmodel/iris/cpu.hh
M src/arch/arm/fastmodel/iris/thread_context.cc
M src/arch/arm/fastmodel/iris/thread_context.hh
3 files changed, 14 insertions(+), 0 deletions(-)



diff --git a/src/arch/arm/fastmodel/iris/cpu.hh b/src/arch/arm/fastmodel/iris/cpu.hh
index 369f0d8..0baebec 100644
--- a/src/arch/arm/fastmodel/iris/cpu.hh
+++ b/src/arch/arm/fastmodel/iris/cpu.hh
@@ -38,6 +38,8 @@
 namespace Iris
 {

+class ThreadContext;
+
 // The base interface of the EVS used by gem5 BaseCPU below.
 class BaseCpuEvs
 {
@@ -93,6 +95,8 @@
     Iris::BaseCpuEvs *evs_base_cpu;

   protected:
+    friend ThreadContext;
+
     void
     clockPeriodUpdated() override
     {
diff --git a/src/arch/arm/fastmodel/iris/thread_context.cc b/src/arch/arm/fastmodel/iris/thread_context.cc
index b2173e1..6587dda 100644
--- a/src/arch/arm/fastmodel/iris/thread_context.cc
+++ b/src/arch/arm/fastmodel/iris/thread_context.cc
@@ -488,6 +488,14 @@
     }
 }

+void
+ThreadContext::sendFunctional(PacketPtr pkt)
+{
+    auto *iris_cpu = dynamic_cast<BaseCPU *>(getCpuPtr());
+    assert(iris_cpu);
+    iris_cpu->evs_base_cpu->sendFunc(pkt);
+}
+
 ThreadContext::Status
 ThreadContext::status() const
 {
diff --git a/src/arch/arm/fastmodel/iris/thread_context.hh b/src/arch/arm/fastmodel/iris/thread_context.hh
index 019baca..d093138 100644
--- a/src/arch/arm/fastmodel/iris/thread_context.hh
+++ b/src/arch/arm/fastmodel/iris/thread_context.hh
@@ -216,6 +216,8 @@
     PortProxy &getVirtProxy() override { return *virtProxy; }
     void initMemProxies(::ThreadContext *tc) override;

+    void sendFunctional(PacketPtr pkt) override;
+
     Process *
     getProcessPtr() override
     {

--
To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/45862
To unsubscribe, or for help writing mail filters, visit https://gem5-review.googlesource.com/settings

Gerrit-Project: public/gem5
Gerrit-Branch: develop
Gerrit-Change-Id: Idffb4efc509dd63c852ada0768435bf653bd1854
Gerrit-Change-Number: 45862
Gerrit-PatchSet: 1
Gerrit-Owner: Gabe Black <[email protected]>
Gerrit-MessageType: newchange
_______________________________________________
gem5-dev mailing list -- [email protected]
To unsubscribe send an email to [email protected]
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s

Reply via email to