46 for (
auto *tc : threadContexts)
64 params().enable_trace_special_hlt_imm16);
65 set_evs_param(
"l2cache-hit_latency", params().l2cache_hit_latency);
67 params().l2cache_maintenance_latency);
68 set_evs_param(
"l2cache-miss_latency", params().l2cache_miss_latency);
70 params().l2cache_read_access_latency);
71 set_evs_param(
"l2cache-read_latency", params().l2cache_read_latency);
74 params().l2cache_snoop_data_transfer_latency);
76 params().l2cache_snoop_issue_latency);
78 params().l2cache_write_access_latency);
79 set_evs_param(
"l2cache-write_latency", params().l2cache_write_latency);
80 set_evs_param(
"max_code_cache_mb", params().max_code_cache_mb);
82 set_evs_param(
"semihosting-A32_HLT", params().semihosting_A32_HLT);
83 set_evs_param(
"semihosting-A64_HLT", params().semihosting_A64_HLT);
84 set_evs_param(
"semihosting-ARM_SVC", params().semihosting_ARM_SVC);
85 set_evs_param(
"semihosting-T32_HLT", params().semihosting_T32_HLT);
86 set_evs_param(
"semihosting-Thumb_SVC", params().semihosting_Thumb_SVC);
87 set_evs_param(
"semihosting-cmd_line", params().semihosting_cmd_line);
89 set_evs_param(
"semihosting-enable", params().semihosting_enable);
90 set_evs_param(
"semihosting-heap_base", params().semihosting_heap_base);
91 set_evs_param(
"semihosting-heap_limit", params().semihosting_heap_limit);
92 set_evs_param(
"semihosting-stack_base", params().semihosting_stack_base);
93 set_evs_param(
"semihosting-stack_limit", params().semihosting_stack_limit);
94 set_evs_param(
"trace_special_hlt_imm16", params().trace_special_hlt_imm16);
95 set_evs_param(
"vfp-enable_at_reset", params().vfp_enable_at_reset);
107 if (if_name ==
"redistributor" || if_name ==
"core_reset" ||
108 if_name ==
"poweron_reset")
111 return Base::getPort(if_name, idx);
117 for (
int i = 0;
i <
p.cores.size();
i++)
118 p.cores[
i]->setCluster(
this,
i);
121 panic_if(!
e,
"EVS should be of type Iris::BaseCpuEvs");
134 p.dcache_maintenance_latency);
137 p.dcache_prefetch_enabled);
139 p.dcache_read_access_latency);
142 p.dcache_snoop_data_transfer_latency);
143 set_evs_param(
"core.dcache-state_modelled",
p.dcache_state_modelled);
145 p.dcache_write_access_latency);
146 set_evs_param(
"core.dcache-write_latency",
p.dcache_write_latency);
149 set_evs_param(
"core.enable_simulation_performance_optimizations",
150 p.enable_simulation_performance_optimizations);
152 p.ext_abort_device_read_is_sync);
154 p.ext_abort_device_write_is_sync);
156 p.ext_abort_so_read_is_sync);
158 p.ext_abort_so_write_is_sync);
160 p.gicv3_cpuintf_mmap_access_level);
163 p.has_statistical_profiling);
166 p.icache_maintenance_latency);
169 p.icache_prefetch_enabled);
171 p.icache_read_access_latency);
173 set_evs_param(
"core.icache-state_modelled",
p.icache_state_modelled);
176 p.l3cache_maintenance_latency);
177 set_evs_param(
"core.l3cache-miss_latency",
p.l3cache_miss_latency);
179 p.l3cache_read_access_latency);
180 set_evs_param(
"core.l3cache-read_latency",
p.l3cache_read_latency);
183 p.l3cache_snoop_data_transfer_latency);
185 p.l3cache_snoop_issue_latency);
187 p.l3cache_write_access_latency);
188 set_evs_param(
"core.l3cache-write_latency",
p.l3cache_write_latency);
190 p.pchannel_treat_simreset_as_poreset);
192 set_evs_param(
"core.periph_address_start",
p.periph_address_start);
196 p.treat_dcache_cmos_to_pou_as_nop);
203 if (if_name ==
"amba" || if_name ==
"top_reset" ||
204 if_name ==
"dbg_reset" || if_name ==
"model_reset") {