fix(fvp): enable cache state modelling
Cache state modelling is currently disabled in these models due to
performance cliffs observed in v11.18 and earlier. This caused certains
tests to run very slowly, and others to crash.
The latest version of the models (v11.19) address cache state
modelling performance. The following models are excluded from the
patch as they appear to still have the performance issues observed
previously:
* fvp-cortexa710x4
* fvp-cortexx2
* fvp-neoverse_n2x4
* fvp-neoversev1x4
Change-Id: Ied2d6cc42a02fab5d9765ccb9ecb2e449bd20a51
Signed-off-by: Harrison Mutai <harrison.mutai@arm.com>
diff --git a/model/fvp_common.sh b/model/fvp_common.sh
index 19a06a3..f31111c 100644
--- a/model/fvp_common.sh
+++ b/model/fvp_common.sh
@@ -47,6 +47,7 @@
${secure_memory+-C bp.secure_memory=$secure_memory}
${cache_state_modelled+-C cache_state_modelled=$cache_state_modelled}
+${use_pchannel_for_threads+-C pctl.use_pchannel_for_threads=$use_pchannel_for_threads}
${secure_ram_fill+-C bp.secureSRAM.fill1=0x00000000}
${secure_ram_fill+-C bp.secureSRAM.fill2=0x00000000}
diff --git a/run_config/fvp-aemv8a.NVM_reboot b/run_config/fvp-aemv8a.NVM_reboot
index d7c8918..13792c1 100644
--- a/run_config/fvp-aemv8a.NVM_reboot
+++ b/run_config/fvp-aemv8a.NVM_reboot
@@ -26,7 +26,6 @@
set_run_env "uart1_file" "$uart1_log"
model="$model" \
- cache_state_modelled="0" \
cluster_0_num_cores="1" \
cluster_1_num_cores="1" \
flashloader0_fwrite="flash0" \
@@ -35,6 +34,7 @@
secure_memory="0" \
uart0_out="$uart0_log" \
uart1_out="$uart1_log" \
+ use_pchannel_for_threads="1" \
gen_model_params
model="$model" gen_fvp_yaml
diff --git a/run_config/fvp-aemv8a.aarch32+memprotect b/run_config/fvp-aemv8a.aarch32+memprotect
index c0b13b1..ab2c390 100644
--- a/run_config/fvp-aemv8a.aarch32+memprotect
+++ b/run_config/fvp-aemv8a.aarch32+memprotect
@@ -13,10 +13,10 @@
model="$model" \
aarch32="1" \
- cache_state_modelled="0" \
memprotect_addr="0xBFC0000" \
memprotect="$image" \
reset_to_spmin="1" \
+ use_pchannel_for_threads="1" \
gen_model_params
model="$model" gen_fvp_yaml
diff --git a/run_config/fvp-aemv8a.aarch32.gicv2 b/run_config/fvp-aemv8a.aarch32.gicv2
index 9929ba1..fed227d 100644
--- a/run_config/fvp-aemv8a.aarch32.gicv2
+++ b/run_config/fvp-aemv8a.aarch32.gicv2
@@ -10,10 +10,10 @@
model="$model" \
aarch32="1" \
- cache_state_modelled="0" \
gicv3_gicv2_only="1" \
mpidr_layout="0" \
supports_multi_threading="0" \
+ use_pchannel_for_threads="1" \
gen_model_params
model="base-aemv8a-revb" gen_fvp_yaml
diff --git a/run_config/fvp-aemv8a.aarch32.nocache b/run_config/fvp-aemv8a.aarch32.nocache
index 70af641..22ab9c1 100644
--- a/run_config/fvp-aemv8a.aarch32.nocache
+++ b/run_config/fvp-aemv8a.aarch32.nocache
@@ -8,6 +8,10 @@
generate_lava_job() {
local model="base-aemv8a"
- model="$model" aarch32="1" cache_state_modelled="0" gen_model_params
+ use_pchannel_for_threads="1" \
+ model="$model" \
+ aarch32="1" \
+ gen_model_params
+
model="$model" gen_fvp_yaml
}
diff --git a/run_config/fvp-aemv8a.amu b/run_config/fvp-aemv8a.amu
index 5b93fe8..b21ba21 100644
--- a/run_config/fvp-aemv8a.amu
+++ b/run_config/fvp-aemv8a.amu
@@ -9,9 +9,9 @@
local model="base-aemv8a"
model="$model" \
- amu_present="1" \
- arch_version="8.4" \
- cache_state_modelled="0" \
+ amu_present="1" \
+ arch_version="8.4" \
+ use_pchannel_for_threads="1" \
gen_model_params
model="$model" gen_fvp_yaml
diff --git a/run_config/fvp-aemv8a.amu.aarch32 b/run_config/fvp-aemv8a.amu.aarch32
index 83691d2..c8c751c 100644
--- a/run_config/fvp-aemv8a.amu.aarch32
+++ b/run_config/fvp-aemv8a.amu.aarch32
@@ -9,11 +9,11 @@
local model="base-aemv8a"
model="$model" \
- aarch32="1" \
- amu_present="1" \
- arch_version="8.4" \
- cache_state_modelled="0" \
- gen_model_params
+ aarch32="1" \
+ amu_present="1" \
+ arch_version="8.4" \
+ use_pchannel_for_threads="1" \
+ gen_model_params
model="$model" gen_fvp_yaml
}
diff --git a/run_config/fvp-aemv8a.amu.bmcov b/run_config/fvp-aemv8a.amu.bmcov
index 3e93811..85da7ee 100644
--- a/run_config/fvp-aemv8a.amu.bmcov
+++ b/run_config/fvp-aemv8a.amu.bmcov
@@ -9,12 +9,12 @@
local model="base-aemv8a"
model="$model" \
- amu_present="1" \
- arch_version="8.4" \
- bmcov_plugin_path="${coverage_trace_plugin}" \
- bmcov_plugin="1" \
- cache_state_modelled="0" \
- gen_model_params
+ amu_present="1" \
+ arch_version="8.4" \
+ bmcov_plugin_path="${coverage_trace_plugin}" \
+ bmcov_plugin="1" \
+ use_pchannel_for_threads="1" \
+ gen_model_params
model="$model" gen_fvp_yaml
}
diff --git a/run_config/fvp-aemv8a.memprotect b/run_config/fvp-aemv8a.memprotect
index aea23f2..efaa0c9 100644
--- a/run_config/fvp-aemv8a.memprotect
+++ b/run_config/fvp-aemv8a.memprotect
@@ -16,12 +16,12 @@
printf '\1\0\0\0' >"$image"
model="$model" \
- cache_state_modelled="0" \
memprotect_addr="0xBFC0000" \
memprotect="$image" \
preload_bl33_bin="uboot.bin" \
preload_bl33="1" \
reset_to_bl31="1" \
+ use_pchannel_for_threads="1" \
gen_model_params
model="$model" gen_fvp_yaml
diff --git a/run_config/fvp-cortexa55x4 b/run_config/fvp-cortexa55x4
index 42e401a..1a7c0f3 100644
--- a/run_config/fvp-cortexa55x4
+++ b/run_config/fvp-cortexa55x4
@@ -12,7 +12,7 @@
model="$model" \
cluster_0_num_cores="4" \
- cache_state_modelled="0" \
+ use_pchannel_for_threads="1" \
gen_model_params
model="$model" gen_fvp_yaml
}
diff --git a/run_config/fvp-cortexa55x4a75x4 b/run_config/fvp-cortexa55x4a75x4
index 497f86c..9a28793 100644
--- a/run_config/fvp-cortexa55x4a75x4
+++ b/run_config/fvp-cortexa55x4a75x4
@@ -9,8 +9,8 @@
local model="cortex-a55x4-a75x4"
model="$model" \
- cache_state_modelled="0" \
data_instance="cluster0.subcluster0.cpu0" \
+ use_pchannel_for_threads="1" \
gen_model_params
model="$model" gen_fvp_yaml
}
diff --git a/run_config/fvp-cortexa55x4a76x2 b/run_config/fvp-cortexa55x4a76x2
index a1fe083..2833543 100644
--- a/run_config/fvp-cortexa55x4a76x2
+++ b/run_config/fvp-cortexa55x4a76x2
@@ -11,8 +11,8 @@
uart="0" set_expect_variable "num_cpus" "6"
model="$model" \
- cache_state_modelled="0" \
data_instance="cluster0.subcluster0.cpu0" \
+ use_pchannel_for_threads="1" \
gen_model_params
model="$model" gen_fvp_yaml
}
diff --git a/run_config/fvp-cortexa75x4 b/run_config/fvp-cortexa75x4
index 07374a6..821ca80 100644
--- a/run_config/fvp-cortexa75x4
+++ b/run_config/fvp-cortexa75x4
@@ -12,7 +12,8 @@
model="$model" \
cluster_0_num_cores="4" \
- cache_state_modelled="0" \
+ use_pchannel_for_threads="1" \
gen_model_params
+
model="$model" gen_fvp_yaml
}
diff --git a/run_config/fvp-cortexa76aex4 b/run_config/fvp-cortexa76aex4
index 789d68d..7b0722f 100644
--- a/run_config/fvp-cortexa76aex4
+++ b/run_config/fvp-cortexa76aex4
@@ -10,9 +10,10 @@
uart="0" set_expect_variable "num_cpus" "4"
- model="$model" \
+ model="$model" \
cluster_0_num_cores="4" \
- cache_state_modelled="0" \
+ use_pchannel_for_threads="1" \
gen_model_params
+
model="$model" gen_fvp_yaml
}
diff --git a/run_config/fvp-cortexa76x4 b/run_config/fvp-cortexa76x4
index 6adab4e..118c19f 100644
--- a/run_config/fvp-cortexa76x4
+++ b/run_config/fvp-cortexa76x4
@@ -12,7 +12,7 @@
model="$model" \
cluster_0_num_cores="4" \
- cache_state_modelled="0" \
+ use_pchannel_for_threads="1" \
gen_model_params
model="$model" gen_fvp_yaml
}
diff --git a/run_config/fvp-cortexa77x4 b/run_config/fvp-cortexa77x4
index 7571838..9bcb5bb 100644
--- a/run_config/fvp-cortexa77x4
+++ b/run_config/fvp-cortexa77x4
@@ -12,7 +12,7 @@
model="$model" \
cluster_0_num_cores="4" \
- cache_state_modelled="0" \
+ use_pchannel_for_threads="1" \
gen_model_params
model="$model" gen_fvp_yaml
}
diff --git a/run_config/fvp-cortexa78cx4 b/run_config/fvp-cortexa78cx4
index f2e562d..aaf27fe 100644
--- a/run_config/fvp-cortexa78cx4
+++ b/run_config/fvp-cortexa78cx4
@@ -12,7 +12,7 @@
model="$model" \
cluster_0_num_cores="4" \
- cache_state_modelled="0" \
+ use_pchannel_for_threads="1" \
gen_model_params
model="$model" gen_fvp_yaml
}
diff --git a/run_config/fvp-cortexa78x4 b/run_config/fvp-cortexa78x4
index 0b538e7..d198f4b 100644
--- a/run_config/fvp-cortexa78x4
+++ b/run_config/fvp-cortexa78x4
@@ -12,7 +12,8 @@
model="$model" \
cluster_0_num_cores="4" \
- cache_state_modelled="0" \
+ use_pchannel_for_threads="1" \
gen_model_params
+
model="$model" gen_fvp_yaml
}
diff --git a/run_config/fvp-neoverse_e1x1 b/run_config/fvp-neoverse_e1x1
index 39a48e4..cf4131f 100644
--- a/run_config/fvp-neoverse_e1x1
+++ b/run_config/fvp-neoverse_e1x1
@@ -12,7 +12,6 @@
model="$model" \
cluster_0_num_cores="1" \
- cache_state_modelled="1" \
data_instance="cluster0.cpu0.thread0" \
gen_model_params
diff --git a/run_config/fvp-neoverse_e1x2 b/run_config/fvp-neoverse_e1x2
index 8095bc8..6e04c0e 100644
--- a/run_config/fvp-neoverse_e1x2
+++ b/run_config/fvp-neoverse_e1x2
@@ -12,7 +12,6 @@
model="$model" \
cluster_0_num_cores="2" \
- cache_state_modelled="1" \
data_instance="cluster0.cpu0.thread0" \
gen_model_params
diff --git a/run_config/fvp-neoverse_e1x4 b/run_config/fvp-neoverse_e1x4
index 6c9b4bc..5ac8ccf 100644
--- a/run_config/fvp-neoverse_e1x4
+++ b/run_config/fvp-neoverse_e1x4
@@ -12,7 +12,6 @@
model="$model" \
cluster_0_num_cores="4" \
- cache_state_modelled="1" \
data_instance="cluster0.cpu0.thread0" \
gen_model_params
diff --git a/run_config/fvp-neoverse_n1x4 b/run_config/fvp-neoverse_n1x4
index d1e4f49..c5cc467 100644
--- a/run_config/fvp-neoverse_n1x4
+++ b/run_config/fvp-neoverse_n1x4
@@ -12,7 +12,8 @@
model="$model" \
cluster_0_num_cores="4" \
- cache_state_modelled="0" \
+ use_pchannel_for_threads="1" \
gen_model_params
+
model="$model" gen_fvp_yaml
}