Go to the documentation of this file.
28 #ifndef __ARCH_ARM_FASTMODEL_IRIS_CPU_HH__
29 #define __ARCH_ARM_FASTMODEL_IRIS_CPU_HH__
32 #include "iris/detail/IrisInterface.h"
33 #include "params/IrisBaseCPU.hh"
64 panic(
"%s not implemented.", __FUNCTION__);
70 panic(
"%s not implemented.", __FUNCTION__);
102 void init()
override;
116 iris::IrisConnectionInterface *iris_if) :
119 const std::string parent_path =
evs->
name();
123 for (
const std::string &sub_path:
params.thread_paths) {
124 std::string
path = parent_path +
"." + sub_path;
125 auto id = thread_id++;
126 auto *tc =
new TC(
this,
id, sys,
params.mmu,
135 #endif // __ARCH_ARM_FASTMODEL_IRIS_CPU_HH__
void wakeup(ThreadID tid) override
void clockPeriodUpdated() override
A hook subclasses can implement so they can do any extra work that's needed when the clock rate is ch...
int16_t ThreadID
Thread index/ID type.
void serializeThread(CheckpointOut &cp, ThreadID tid) const override
Serialize a single thread.
uint64_t Tick
Tick count type.
Counter totalOps() const override
virtual void setSysCounterFrq(uint64_t sys_counter_frq)=0
Iris::BaseCpuEvs * evs_base_cpu
PortProxy::SendFunctionalFunc getSendFunctional() override
Returns a sendFunctional delegate for use with port proxies.
Counter totalInsts() const override
int64_t Counter
Statistics counter type.
virtual void setCluster(SimObject *cluster)=0
CPU(const IrisBaseCPUParams ¶ms, iris::IrisConnectionInterface *iris_if)
Port & getDataPort() override
Purely virtual method that returns a reference to the data port.
Ports are used to interface objects to each other.
std::vector< ThreadContext * > threadContexts
std::function< void(PacketPtr pkt)> SendFunctionalFunc
BaseCPU(const BaseCPUParams ¶ms, sc_core::sc_module *_evs)
virtual void sendFunc(PacketPtr pkt)=0
@ Suspended
Temporarily inactive.
A Packet is used to encapsulate a transfer between two objects in the memory system (e....
const char * name() const
void init() override
init() is called after all C++ SimObjects have been created and all ports are connected.
std::ostream CheckpointOut
const Params & params() const
Port & getInstPort() override
Purely virtual method that returns a reference to the instruction port.
static std::stack< std::string > path
virtual void setClkPeriod(Tick clk_period)=0
#define panic(...)
This implements a cprintf based panic() function.
Abstract superclass for simulation objects.
Generated on Tue Jun 22 2021 15:28:19 for gem5 by doxygen 1.8.17