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"
67 panic(
"%s not implemented.", __FUNCTION__);
73 panic(
"%s not implemented.", __FUNCTION__);
92 return ::BaseCPU::getSendFunctional();
108 warn(
"Unable to notify EVS of clock change, missing:");
118 void init()
override;
131 CPU(IrisBaseCPUParams *
params, iris::IrisConnectionInterface *iris_if) :
134 const std::string parent_path =
evs->
name();
138 for (
const std::string &sub_path:
params->thread_paths) {
139 std::string path = parent_path +
"." + sub_path;
140 auto id = thread_id++;
141 auto *tc =
new TC(
this,
id, sys,
params->dtb,
params->itb,
142 params->isa[
id], iris_if, path);
150 #endif // __ARCH_ARM_FASTMODEL_IRIS_CPU_HH__
void wakeup(ThreadID tid) override
void clockPeriodUpdated() override
static const std::string PeriodAttributeName
int16_t ThreadID
Thread index/ID type.
void serializeThread(CheckpointOut &cp, ThreadID tid) const override
Serialize a single thread.
BaseCPU(BaseCPUParams *params, sc_core::sc_module *_evs)
static const std::string ClockEventName
static const std::string Gem5CpuClusterAttributeName
Counter totalOps() const override
PortProxy::SendFunctionalFunc getSendFunctional() override
Returns a sendFunctional delegate for use with port proxies.
Counter totalInsts() const override
int64_t Counter
Statistics counter type.
CPU(IrisBaseCPUParams *params, iris::IrisConnectionInterface *iris_if)
sc_core::sc_attribute< Tick > * periodAttribute
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
sc_core::sc_event * clockEvent
const Params * params() const
#define warn_if(cond,...)
Conditional warning macro that checks the supplied condition and only prints a warning if the conditi...
@ Suspended
Temporarily inactive.
const char * name() const
std::ostream CheckpointOut
static const std::string SendFunctionalAttributeName
Port & getInstPort() override
Purely virtual method that returns a reference to the instruction port.
sc_core::sc_attribute< PortProxy::SendFunctionalFunc > * sendFunctional
#define panic(...)
This implements a cprintf based panic() function.
Generated on Wed Sep 30 2020 14:01:58 for gem5 by doxygen 1.8.17