aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Fainelli <f.fainelli@gmail.com>2019-06-05 15:23:33 -0700
committerMatthias Welwarsky <matthias@welwarsky.de>2019-06-12 15:14:27 +0100
commitba11adb8336cd5a987a64837ca31a564d03abcbf (patch)
tree1a2ec064bf690b080028750b14e1318c67542238
parent6f87df80fe98c18c8cb0e2dfdffa074392d6f2d5 (diff)
armv7a_mmu: Check earlier for PAR read
Check earlier that the read of the PAR register was successful instead of starting the decoding and then checking for an error reading that register. Change-Id: Id96c2b2f76d2d1c745fcfa55ad4c1e6db92106f9 Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> Reviewed-on: http://openocd.zylin.com/5215 Tested-by: jenkins Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com> Reviewed-by: Matthias Welwarsky <matthias@welwarsky.de>
-rw-r--r--src/target/armv7a_mmu.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/target/armv7a_mmu.c b/src/target/armv7a_mmu.c
index 153bfccf..859332a4 100644
--- a/src/target/armv7a_mmu.c
+++ b/src/target/armv7a_mmu.c
@@ -143,14 +143,14 @@ int armv7a_mmu_translate_va_pa(struct target *target, uint32_t va,
retval = dpm->instr_read_data_r0(dpm,
ARMV4_5_MRC(15, 0, 0, 7, 4, 0),
val);
+ if (retval != ERROR_OK)
+ goto done;
/* decode memory attribute */
NOS = (*val >> 10) & 1; /* Not Outer shareable */
NS = (*val >> 9) & 1; /* Non secure */
INNER = (*val >> 4) & 0x7;
OUTER = (*val >> 2) & 0x3;
- if (retval != ERROR_OK)
- goto done;
*val = (*val & ~0xfff) + (va & 0xfff);
if (meminfo) {
LOG_INFO("%" PRIx32 " : %" PRIx32 " %s outer shareable %s secured",