From: Florian Fainelli Date: Wed, 5 Jun 2019 22:23:33 +0000 (-0700) Subject: armv7a_mmu: Check earlier for PAR read X-Git-Tag: v0.11.0-rc1~633 X-Git-Url: https://review.openocd.org/gitweb?p=openocd.git;a=commitdiff_plain;h=ba11adb8336cd5a987a64837ca31a564d03abcbf;ds=sidebyside 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 Reviewed-on: http://openocd.zylin.com/5215 Tested-by: jenkins Reviewed-by: Antonio Borneo Reviewed-by: Matthias Welwarsky --- diff --git a/src/target/armv7a_mmu.c b/src/target/armv7a_mmu.c index 153bfccf2c..859332a44e 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",