ARM720: implement basic MMU ops

mmu() works; virt2phys() fails and logs an error.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
__archive__
David Brownell 2009-11-10 01:35:50 -08:00
parent 0df56714a0
commit 65e3471d78
1 changed files with 22 additions and 0 deletions

View File

@ -247,6 +247,25 @@ static int arm720t_arch_state(struct target_s *target)
return ERROR_OK;
}
static int arm720_mmu(struct target_s *target, int *enabled)
{
if (target->state != TARGET_HALTED) {
LOG_ERROR("%s: target not halted", __func__);
return ERROR_TARGET_INVALID;
}
*enabled = target_to_arm720(target)->armv4_5_mmu.mmu_enabled;
return ERROR_OK;
}
static int arm720_virt2phys(struct target_s *target,
uint32_t virt, uint32_t *phys)
{
/** @todo Implement this! */
LOG_ERROR("%s: not implemented", __func__);
return ERROR_FAIL;
}
static int arm720t_read_memory(struct target_s *target,
uint32_t address, uint32_t size, uint32_t count, uint8_t *buffer)
{
@ -512,6 +531,9 @@ target_type_t arm720t_target =
.write_memory = arm7_9_write_memory,
.read_phys_memory = arm720t_read_phys_memory,
.write_phys_memory = arm720t_write_phys_memory,
.mmu = arm720_mmu,
.virt2phys = arm720_virt2phys,
.bulk_write_memory = arm7_9_bulk_write_memory,
.checksum_memory = arm7_9_checksum_memory,
.blank_check_memory = arm7_9_blank_check_memory,