summaryrefslogtreecommitdiff
path: root/src/target/arm920t.c
diff options
context:
space:
mode:
authorDavid Brownell <dbrownell@users.sourceforge.net>2009-11-10 01:36:59 -0800
committerDavid Brownell <dbrownell@users.sourceforge.net>2009-11-10 01:36:59 -0800
commit508e5c803fcc49ffe16a2e539545081df65633f7 (patch)
treeb9d0dd22b5b3d44f18214194816b0402a5b52f58 /src/target/arm920t.c
parent65e3471d7849b4c1515ca1a71f7b46111ea5b934 (diff)
downloadopenocd+libswd-508e5c803fcc49ffe16a2e539545081df65633f7.tar.gz
openocd+libswd-508e5c803fcc49ffe16a2e539545081df65633f7.tar.bz2
openocd+libswd-508e5c803fcc49ffe16a2e539545081df65633f7.tar.xz
openocd+libswd-508e5c803fcc49ffe16a2e539545081df65633f7.zip
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.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/target/arm920t.c b/src/target/arm920t.c
index dd9fae33..e043aee0 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,