forked from auracaster/openocd
target/aarch64, armv8: avoid adding of error return codes
The arithmetic addition of the returned error codes was used as a lazy man's logical or. Handle error passing properly. Change-Id: I05f6d575dd7acb49cc3b3ca20b0e0b1f37d77ffe Signed-off-by: Tomas Vanek <vanekt@fbl.cz> Reviewed-on: https://review.openocd.org/c/openocd/+/9269 Tested-by: jenkins Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
This commit is contained in:
committed by
Antonio Borneo
parent
57a0e31389
commit
2a0b9bbc28
@@ -2682,16 +2682,18 @@ static int aarch64_examine_first(struct target *target)
|
||||
|
||||
retval = mem_ap_read_u32(armv8->debug_ap,
|
||||
armv8->debug_base + CPUV8_DBG_MEMFEATURE0, &tmp0);
|
||||
retval += mem_ap_read_u32(armv8->debug_ap,
|
||||
armv8->debug_base + CPUV8_DBG_MEMFEATURE0 + 4, &tmp1);
|
||||
if (retval == ERROR_OK)
|
||||
retval = mem_ap_read_u32(armv8->debug_ap,
|
||||
armv8->debug_base + CPUV8_DBG_MEMFEATURE0 + 4, &tmp1);
|
||||
if (retval != ERROR_OK) {
|
||||
LOG_DEBUG("Examine %s failed", "Memory Model Type");
|
||||
return retval;
|
||||
}
|
||||
retval = mem_ap_read_u32(armv8->debug_ap,
|
||||
armv8->debug_base + CPUV8_DBG_DBGFEATURE0, &tmp2);
|
||||
retval += mem_ap_read_u32(armv8->debug_ap,
|
||||
armv8->debug_base + CPUV8_DBG_DBGFEATURE0 + 4, &tmp3);
|
||||
if (retval == ERROR_OK)
|
||||
retval = mem_ap_read_u32(armv8->debug_ap,
|
||||
armv8->debug_base + CPUV8_DBG_DBGFEATURE0 + 4, &tmp3);
|
||||
if (retval != ERROR_OK) {
|
||||
LOG_DEBUG("Examine %s failed", "ID_AA64DFR0_EL1");
|
||||
return retval;
|
||||
|
||||
@@ -205,7 +205,9 @@ static int armv8_read_ttbcr(struct target *target)
|
||||
retval = dpm->instr_read_data_r0(dpm,
|
||||
ARMV8_MRS(SYSTEM_TCR_EL3, 0),
|
||||
&ttbcr);
|
||||
retval += dpm->instr_read_data_r0_64(dpm,
|
||||
if (retval != ERROR_OK)
|
||||
goto done;
|
||||
retval = dpm->instr_read_data_r0_64(dpm,
|
||||
ARMV8_MRS(SYSTEM_TTBR0_EL3, 0),
|
||||
&armv8->ttbr_base);
|
||||
if (retval != ERROR_OK)
|
||||
@@ -218,7 +220,9 @@ static int armv8_read_ttbcr(struct target *target)
|
||||
retval = dpm->instr_read_data_r0(dpm,
|
||||
ARMV8_MRS(SYSTEM_TCR_EL2, 0),
|
||||
&ttbcr);
|
||||
retval += dpm->instr_read_data_r0_64(dpm,
|
||||
if (retval != ERROR_OK)
|
||||
goto done;
|
||||
retval = dpm->instr_read_data_r0_64(dpm,
|
||||
ARMV8_MRS(SYSTEM_TTBR0_EL2, 0),
|
||||
&armv8->ttbr_base);
|
||||
if (retval != ERROR_OK)
|
||||
@@ -234,12 +238,14 @@ static int armv8_read_ttbcr(struct target *target)
|
||||
retval = dpm->instr_read_data_r0_64(dpm,
|
||||
ARMV8_MRS(SYSTEM_TCR_EL1, 0),
|
||||
&ttbcr_64);
|
||||
if (retval != ERROR_OK)
|
||||
goto done;
|
||||
armv8->va_size = 64 - (ttbcr_64 & 0x3F);
|
||||
armv8->pa_size = armv8_pa_size((ttbcr_64 >> 32) & 7);
|
||||
armv8->page_size = (ttbcr_64 >> 14) & 3;
|
||||
armv8->armv8_mmu.ttbr1_used = (((ttbcr_64 >> 16) & 0x3F) != 0) ? 1 : 0;
|
||||
armv8->armv8_mmu.ttbr0_mask = 0x0000FFFFFFFFFFFFULL;
|
||||
retval += dpm->instr_read_data_r0_64(dpm,
|
||||
retval = dpm->instr_read_data_r0_64(dpm,
|
||||
ARMV8_MRS(SYSTEM_TTBR0_EL1 | (armv8->armv8_mmu.ttbr1_used), 0),
|
||||
&armv8->ttbr_base);
|
||||
if (retval != ERROR_OK)
|
||||
|
||||
Reference in New Issue
Block a user