diff options
author | David Brownell <dbrownell@users.sourceforge.net> | 2010-04-04 00:38:39 -0700 |
---|---|---|
committer | David Brownell <dbrownell@users.sourceforge.net> | 2010-04-04 00:38:39 -0700 |
commit | 88fcb5a9ef971e54166de7cd16a3b0be20113b82 (patch) | |
tree | a82b4df0999e3d4c72b0d1a0211de47b0495bea0 /src/target/target_type.h | |
parent | d37a10da52bc8e6df4e3df2edd02ddbc29fe3bc4 (diff) |
simplify and unconfuse target_run_algorithm()
For some reason there are *two* schemes for interposing logic into
the run_algorithm() code path... One is a standard procedural wapper
around the target method invocation.
the other (superfluous) one hacked the method table by splicing
a second procedural wrapper into the method table. Remove it:
* Rename its slightly-more-featureful wrapper so it becomes
the standard procedural wrapper, leaving its added logic
(where it should have been in the first place.
Also add a paranoia check, to report targets that don't
support algorithms without traversing a NULL pointer, and
tweak its code structure a bit so it's easier to modify.
* Get rid of the superfluous/conusing method table hacks.
This is a net simplification, making it simpler to analyse what's
going on, and then interpose logic . ... by ensuring there's only one
natural place for it to live.
------------
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Diffstat (limited to 'src/target/target_type.h')
-rw-r--r-- | src/target/target_type.h | 2 |
1 files changed, 0 insertions, 2 deletions
diff --git a/src/target/target_type.h b/src/target/target_type.h index 70eb9625..d3db8b55 100644 --- a/src/target/target_type.h +++ b/src/target/target_type.h @@ -146,8 +146,6 @@ struct target_type */ int (*remove_watchpoint)(struct target *target, struct watchpoint *watchpoint); - /* target algorithm support */ - int (*run_algorithm_imp)(struct target *target, int num_mem_params, struct mem_param *mem_params, int num_reg_params, struct reg_param *reg_param, uint32_t entry_point, uint32_t exit_point, int timeout_ms, void *arch_info); /** * Target algorithm support. Do @b not call this method directly, * use target_run_algorithm() instead. |