TARGET: fix handling return code of MMU translation

Function armv4_5_mmu_translate_va() now properly signals
errors in the return value.
Remove former error handling by setting variable "type" to
value "-1".

Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
__archive__
Antonio Borneo 2010-06-12 11:46:56 +08:00 committed by Øyvind Harboe
parent dcc7de4f9b
commit ce58ab9a4e
6 changed files with 0 additions and 26 deletions

View File

@ -264,10 +264,6 @@ static int arm720_virt2phys(struct target *target,
int retval = armv4_5_mmu_translate_va(target, &arm720t->armv4_5_mmu, virtual, &type, &cb, &domain, &ap, &ret);
if (retval != ERROR_OK)
return retval;
if (type == -1)
{
return ret;
}
*physical = ret;
return ERROR_OK;
}

View File

@ -519,10 +519,6 @@ static int arm920_virt2phys(struct target *target,
&arm920t->armv4_5_mmu, virt, &type, &cb, &domain, &ap, &ret);
if (retval != ERROR_OK)
return retval;
if (type == -1)
{
return ret;
}
*phys = ret;
return ERROR_OK;
}
@ -596,8 +592,6 @@ int arm920t_write_memory(struct target *target, uint32_t address,
address, &type, &cb, &domain, &ap, &pa);
if (retval != ERROR_OK)
return retval;
if (type == -1)
return pa;
if (arm920t->armv4_5_mmu.armv4_5_cache.d_u_cache_enabled)
{

View File

@ -730,10 +730,6 @@ static int arm926ejs_virt2phys(struct target *target, uint32_t virtual, uint32_t
int retval = armv4_5_mmu_translate_va(target, &arm926ejs->armv4_5_mmu, virtual, &type, &cb, &domain, &ap, &ret);
if (retval != ERROR_OK)
return retval;
if (type == -1)
{
return ret;
}
*physical = ret;
return ERROR_OK;
}

View File

@ -44,14 +44,12 @@ int armv4_5_mmu_translate_va(struct target *target, struct armv4_5_mmu_common *a
if ((first_lvl_descriptor & 0x3) == 0)
{
*type = -1;
LOG_ERROR("Address translation failure");
return ERROR_TARGET_TRANSLATION_FAULT;
}
if (!armv4_5_mmu->has_tiny_pages && ((first_lvl_descriptor & 0x3) == 3))
{
*type = -1;
LOG_ERROR("Address translation failure");
return ERROR_TARGET_TRANSLATION_FAULT;
}
@ -94,7 +92,6 @@ int armv4_5_mmu_translate_va(struct target *target, struct armv4_5_mmu_common *a
if ((second_lvl_descriptor & 0x3) == 0)
{
*type = -1;
LOG_ERROR("Address translation failure");
return ERROR_TARGET_TRANSLATION_FAULT;
}
@ -130,7 +127,6 @@ int armv4_5_mmu_translate_va(struct target *target, struct armv4_5_mmu_common *a
}
/* should not happen */
*type = -1;
LOG_ERROR("Address translation failure");
return ERROR_TARGET_TRANSLATION_FAULT;
}

View File

@ -1825,10 +1825,6 @@ static int cortex_a8_virt2phys(struct target *target,
/* Reset the flag. We don't want someone else to use it by error */
cortex_a8->current_address_mode = ARM_MODE_ANY;
if (type == -1)
{
return ret;
}
*phys = ret;
return ERROR_OK;
}

View File

@ -3230,10 +3230,6 @@ static int xscale_virt2phys(struct target *target,
int retval = armv4_5_mmu_translate_va(target, &xscale->armv4_5_mmu, virtual, &type, &cb, &domain, &ap, &ret);
if (retval != ERROR_OK)
return retval;
if (type == -1)
{
return ret;
}
*physical = ret;
return ERROR_OK;
}