diff --git a/src/target/armv8_dpm.c b/src/target/armv8_dpm.c index dc6682bec..493ccca7e 100644 --- a/src/target/armv8_dpm.c +++ b/src/target/armv8_dpm.c @@ -916,9 +916,11 @@ int armv8_dpm_setup(struct arm_dpm *dpm) arm->read_core_reg = armv8_dpm_read_core_reg; arm->write_core_reg = armv8_dpm_write_core_reg; - cache = armv8_build_reg_cache(target); - if (!cache) - return ERROR_FAIL; + if (arm->core_cache == NULL) { + cache = armv8_build_reg_cache(target); + if (!cache) + return ERROR_FAIL; + } /* coprocessor access setup */ arm->mrc = dpmv8_mrc;