From: David B. <dbr...@us...> - 2009-11-19 19:47:50
|
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "Main OpenOCD repository". The branch, master has been updated via e3ed06579bd8129c11af0a1636a55d62af08980b (commit) from c049033fde1592e1bfa922641034c1ab136e0b47 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit e3ed06579bd8129c11af0a1636a55d62af08980b Author: David Brownell <dbr...@us...> Date: Thu Nov 19 10:47:31 2009 -0800 Cortex-A8: parts of examine() run just once The examine() method has some conceptual breakage. Cope with it by manually splitting out the run-once parts from the after-each-reset parts ... this gets rid of memory leaks and speeds up resets after the first one. Signed-off-by: David Brownell <dbr...@us...> diff --git a/src/target/cortex_a8.c b/src/target/cortex_a8.c index d62740c..c0a7466 100644 --- a/src/target/cortex_a8.c +++ b/src/target/cortex_a8.c @@ -1362,7 +1362,7 @@ static int cortex_a8_handle_target_request(void *priv) * Cortex-A8 target information and configuration */ -static int cortex_a8_examine(struct target *target) +static int cortex_a8_examine_first(struct target *target) { struct cortex_a8_common *cortex_a8 = target_to_cortex_a8(target); struct armv7a_common *armv7a = &cortex_a8->armv7a_common; @@ -1447,10 +1447,21 @@ static int cortex_a8_examine(struct target *target) LOG_DEBUG("Configured %i hw breakpoint pairs and %i hw watchpoint pairs", cortex_a8->brp_num , cortex_a8->wrp_num); - /* Configure core debug access */ - cortex_a8_init_debug_access(target); - target_set_examined(target); + return ERROR_OK; +} + +static int cortex_a8_examine(struct target *target) +{ + int retval = ERROR_OK; + + /* don't re-probe hardware after each reset */ + if (!target_was_examined(target)) + retval = cortex_a8_examine_first(target); + + /* Configure core debug access */ + if (retval == ERROR_OK) + retval = cortex_a8_init_debug_access(target); return retval; } ----------------------------------------------------------------------- Summary of changes: src/target/cortex_a8.c | 19 +++++++++++++++---- 1 files changed, 15 insertions(+), 4 deletions(-) hooks/post-receive -- Main OpenOCD repository |