The default implementation was normal memory read/write, which
ref. previous discussion is probably not such a good idea.

Even if MMU is disabled, an error is returned. This way the user
is not lulled into believing that physical memory read/write is
implemented for a target when it isn't really.

Comments?

-- 
Øyvind Harboe
http://www.zylin.com/zy1000.html
ARM7 ARM9 ARM11 XScale Cortex
JTAG debugger and flash programmer
From 8c6554bee3ee88ee56b03edaf3b38ff31babb784 Mon Sep 17 00:00:00 2001
From: =?utf-8?q?=C3=98yvind=20Harboe?= <[email protected]>
Date: Mon, 26 Oct 2009 21:47:41 +0100
Subject: [PATCH] Make default implementation of mdw/mmw phys return error 'not implemented'

---
 src/target/target.c |   16 ++++++++++++++--
 1 files changed, 14 insertions(+), 2 deletions(-)

diff --git a/src/target/target.c b/src/target/target.c
index 99b3d18..6e6becb 100644
--- a/src/target/target.c
+++ b/src/target/target.c
@@ -741,6 +741,18 @@ int target_mcr(struct target_s *target, int cpnum, uint32_t op1, uint32_t op2, u
 	return target->type->mcr(target, cpnum, op1, op2, CRn, CRm, value);
 }
 
+static int default_read_phys_memory(struct target_s *target, uint32_t address, uint32_t size, uint32_t count, uint8_t *buffer)
+{
+	LOG_ERROR("Not implemented");
+	return ERROR_FAIL;
+}
+
+static int default_write_phys_memory(struct target_s *target, uint32_t address, uint32_t size, uint32_t count, uint8_t *buffer)
+{
+	LOG_ERROR("Not implemented");
+	return ERROR_FAIL;
+}
+
 
 int target_init(struct command_context_s *cmd_ctx)
 {
@@ -769,12 +781,12 @@ int target_init(struct command_context_s *cmd_ctx)
 
 		if (target->type->read_phys_memory == NULL)
 		{
-			target->type->read_phys_memory = target->type->read_memory;
+			target->type->read_phys_memory = default_read_phys_memory;
 		}
 
 		if (target->type->write_phys_memory == NULL)
 		{
-			target->type->write_phys_memory = target->type->write_memory;
+			target->type->write_phys_memory = default_write_phys_memory;
 		}
 
 		if (target->type->mcr == NULL)
-- 
1.6.0.4

_______________________________________________
Openocd-development mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/openocd-development

Reply via email to