arm mmu: error propagation added for address translation

The return value for MMU translation was a mess, either
error or value.

Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
This commit is contained in:
Øyvind Harboe
2010-06-10 16:18:14 +02:00
parent ecc8041c0f
commit 0538081246
7 changed files with 47 additions and 19 deletions

View File

@@ -1817,8 +1817,11 @@ static int cortex_a8_virt2phys(struct target *target,
cortex_a8->current_address_mode = ARM_MODE_USR;
else /* Linux kernel */
cortex_a8->current_address_mode = ARM_MODE_SVC;
uint32_t ret = armv4_5_mmu_translate_va(target,
&armv7a->armv4_5_mmu, virt, &type, &cb, &domain, &ap);
uint32_t ret;
int retval = armv4_5_mmu_translate_va(target,
&armv7a->armv4_5_mmu, virt, &type, &cb, &domain, &ap, &ret);
if (retval != ERROR_OK)
return retval;
/* Reset the flag. We don't want someone else to use it by error */
cortex_a8->current_address_mode = ARM_MODE_ANY;