diff options
author | Florian Fainelli <f.fainelli@gmail.com> | 2019-06-05 15:23:33 -0700 |
---|---|---|
committer | Matthias Welwarsky <matthias@welwarsky.de> | 2019-06-12 15:14:27 +0100 |
commit | ba11adb8336cd5a987a64837ca31a564d03abcbf (patch) | |
tree | 1a2ec064bf690b080028750b14e1318c67542238 | |
parent | 6f87df80fe98c18c8cb0e2dfdffa074392d6f2d5 (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.c | 4 |
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", |