61 set_evs_param<uint32_t>(
"semihosting-ARM_SVC",
62 params().semihosting_ARM_SVC);
63 set_evs_param<uint32_t>(
"semihosting-T32_HLT",
64 params().semihosting_T32_HLT);
65 set_evs_param<uint32_t>(
"semihosting-Thumb_SVC",
66 params().semihosting_Thumb_SVC);
91 if (if_name ==
"ppi") {
95 }
else if (if_name ==
"amba" || if_name ==
"llpp" || if_name ==
"flash" ||
96 if_name ==
"core_reset" || if_name ==
"poweron_reset" ||
110 for (
int i = 0;
i <
p.cores.size();
i++)
111 p.cores[
i]->setCluster(
this,
i);
114 panic_if(!
e,
"EVS should be of type Iris::BaseCpuEvs");
125 params().dcache_prefetch_enabled);
127 params().dcache_read_access_latency);
129 params().dcache_state_modelled);
131 params().dcache_write_access_latency);
133 params().flash_protection_enable_at_reset);
136 params().icache_prefetch_enabled);
138 params().icache_read_access_latency);
140 params().icache_state_modelled);
142 params().memory_ext_slave_base);
146 set_evs_param<uint32_t>(
"core.num_protection_regions_s1",
147 params().num_protection_regions_s1);
148 set_evs_param<uint32_t>(
"core.num_protection_regions_s2",
149 params().num_protection_regions_s2);
152 params().ram_protection_enable_at_reset);
159 if (if_name ==
"spi") {
161 }
else if (if_name ==
"ext_slave" || if_name ==
"top_reset" ||
162 if_name ==
"dbg_reset" || if_name ==
"model_reset") {
Base class for ARM GIC implementations.
Iris::BaseCpuEvs * evs_base_cpu
virtual void setResetAddr(int core, Addr addr, bool secure)=0
Ports are used to interface objects to each other.
Abstract superclass for simulation objects.
CortexR52Cluster(const Params &p)
Port & getPort(const std::string &if_name, PortID idx=InvalidPortID) override
Get a port with a given name and index.
void set_evs_param(const std::string &n, T val)
void set_evs_param(const std::string &n, T val)
Port & getPort(const std::string &if_name, PortID idx=InvalidPortID) override
Get a port with a given name and index.
void setResetAddr(Addr addr, bool secure=false) override
void setCluster(CortexR52Cluster *_cluster, int _num)
CortexR52Cluster * cluster
virtual gem5::Port & gem5_getPort(const std::string &if_name, int idx=-1)
#define panic_if(cond,...)
Conditional panic macro that checks the supplied condition and only panics if the condition is true a...
const Params & params() const
virtual Port & getPort(const std::string &if_name, PortID idx=InvalidPortID)
Get a port with a given name and index.
Reference material can be found at the JEDEC website: UFS standard http://www.jedec....
const PortID InvalidPortID
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
int16_t PortID
Port index/ID type, and a symbolic name for an invalid port id.
std::string csprintf(const char *format, const Args &...args)
GEM5_DEPRECATED_NAMESPACE(GuestABI, guest_abi)