aarch64: fix duplication of register cache
authorMatthias Welwarsky <matthias.welwarsky@sysgo.com>
Thu, 15 Sep 2016 15:17:05 +0000 (17:17 +0200)
committerMatthias Welwarsky <matthias.welwarsky@sysgo.com>
Fri, 10 Feb 2017 13:01:39 +0000 (14:01 +0100)
Change-Id: Ib4422e39171f19eea3f0b5a86f9dccdbb7044265
Signed-off-by: Matthias Welwarsky <matthias.welwarsky@sysgo.com>
src/target/armv8_dpm.c

index dc6682bec102ba8983d297ca1ad3cd521f881be8..493ccca7ed774df76b0032e10745a889d837af7a 100644 (file)
@@ -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;