diff options
author | David Brownell <dbrownell@users.sourceforge.net> | 2009-11-10 01:36:59 -0800 |
---|---|---|
committer | David Brownell <dbrownell@users.sourceforge.net> | 2009-11-10 01:36:59 -0800 |
commit | 508e5c803fcc49ffe16a2e539545081df65633f7 (patch) | |
tree | b9d0dd22b5b3d44f18214194816b0402a5b52f58 /src/target/arm920t.c | |
parent | 65e3471d7849b4c1515ca1a71f7b46111ea5b934 (diff) | |
download | riscv-openocd-508e5c803fcc49ffe16a2e539545081df65633f7.zip riscv-openocd-508e5c803fcc49ffe16a2e539545081df65633f7.tar.gz riscv-openocd-508e5c803fcc49ffe16a2e539545081df65633f7.tar.bz2 |
ARM920: implement basic MMU ops
mmu() works; virt2phys() fails and logs an error.
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Diffstat (limited to 'src/target/arm920t.c')
-rw-r--r-- | src/target/arm920t.c | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/src/target/arm920t.c b/src/target/arm920t.c index dd9fae3..e043aee 100644 --- a/src/target/arm920t.c +++ b/src/target/arm920t.c @@ -460,6 +460,25 @@ int arm920t_arch_state(struct target_s *target) return ERROR_OK; } +static int arm920_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_arm920(target)->armv4_5_mmu.mmu_enabled; + return ERROR_OK; +} + +static int arm920_virt2phys(struct target_s *target, + uint32_t virt, uint32_t *phys) +{ + /** @todo Implement this! */ + LOG_ERROR("%s: not implemented", __func__); + return ERROR_FAIL; +} + /** Reads a buffer, in the specified word size, with current MMU settings. */ int arm920t_read_memory(struct target_s *target, uint32_t address, uint32_t size, uint32_t count, uint8_t *buffer) { @@ -1389,6 +1408,9 @@ target_type_t arm920t_target = .write_memory = arm920t_write_memory, .read_phys_memory = arm920t_read_phys_memory, .write_phys_memory = arm920t_write_phys_memory, + .mmu = arm920_mmu, + .virt2phys = arm920_virt2phys, + .bulk_write_memory = arm7_9_bulk_write_memory, .checksum_memory = arm7_9_checksum_memory, .blank_check_memory = arm7_9_blank_check_memory, |