From 65e3471d7849b4c1515ca1a71f7b46111ea5b934 Mon Sep 17 00:00:00 2001 From: David Brownell Date: Tue, 10 Nov 2009 01:35:50 -0800 Subject: [PATCH] ARM720: implement basic MMU ops mmu() works; virt2phys() fails and logs an error. Signed-off-by: David Brownell --- src/target/arm720t.c | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/src/target/arm720t.c b/src/target/arm720t.c index 673296ee..728e1979 100644 --- a/src/target/arm720t.c +++ b/src/target/arm720t.c @@ -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, -- 2.39.5