diff --git a/src/arch/arm/fastmodel/iris/thread_context.cc b/src/arch/arm/fastmodel/iris/thread_context.cc index 716ffadc70..87e4e77464 100644 --- a/src/arch/arm/fastmodel/iris/thread_context.cc +++ b/src/arch/arm/fastmodel/iris/thread_context.cc @@ -503,9 +503,15 @@ ThreadContext::getCurrentInstCount() void ThreadContext::sendFunctional(PacketPtr pkt) { - auto *iris_cpu = dynamic_cast(getCpuPtr()); - assert(iris_cpu); - iris_cpu->evs_base_cpu->sendFunc(pkt); + auto addr = pkt->getAddr(); + auto size = pkt->getSize(); + auto data = pkt->getPtr(); + + pkt->makeResponse(); + if (pkt->isRead()) + readMem(addr, data, size); + else + writeMem(addr, data, size); } ThreadContext::Status