diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/helper/command.c | 17 | ||||
-rw-r--r-- | src/helper/command.h | 3 | ||||
-rw-r--r-- | src/target/arm7_9_common.c | 4 |
3 files changed, 22 insertions, 2 deletions
diff --git a/src/helper/command.c b/src/helper/command.c index 7a7cbcbb..31666e3a 100644 --- a/src/helper/command.c +++ b/src/helper/command.c @@ -38,10 +38,13 @@ #include <stdio.h> #include <unistd.h> +int fast_and_dangerous = 0; + void command_print_help_line(command_context_t* context, struct command_s *command, int indent); int handle_sleep_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc); int handle_time_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc); +int handle_fast_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc); int build_unique_lengths(command_context_t *context, command_t *commands) { @@ -559,6 +562,9 @@ command_context_t* command_init() register_command(context, NULL, "time", handle_time_command, COMMAND_ANY, "time <cmd + args> - execute <cmd + args> and print time it took"); + register_command(context, NULL, "fast", handle_fast_command, + COMMAND_ANY, "fast <enable/disable> - place at beginning of config files. Sets defaults to fast and dangerous."); + return context; } @@ -578,6 +584,17 @@ int handle_sleep_command(struct command_context_s *cmd_ctx, char *cmd, char **ar return ERROR_OK; } +int handle_fast_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc) +{ + if (argc!=1) + return ERROR_COMMAND_SYNTAX_ERROR; + + fast_and_dangerous = strcmp("enable", args[0])==0; + + return ERROR_OK; +} + + int handle_time_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc) { duration_t duration; diff --git a/src/helper/command.h b/src/helper/command.h index 6e6af75e..3586017d 100644 --- a/src/helper/command.h +++ b/src/helper/command.h @@ -79,4 +79,7 @@ extern int command_run_file(command_context_t *context, FILE *file, enum command #define ERROR_COMMAND_CLOSE_CONNECTION (-600) #define ERROR_COMMAND_SYNTAX_ERROR (-601) + +extern int fast_and_dangerous; + #endif /* COMMAND_H */ diff --git a/src/target/arm7_9_common.c b/src/target/arm7_9_common.c index 0c63d920..b64a885f 100644 --- a/src/target/arm7_9_common.c +++ b/src/target/arm7_9_common.c @@ -2624,8 +2624,8 @@ int arm7_9_init_arch_info(target_t *target, arm7_9_common_t *arm7_9) arm7_9->dcc_working_area = NULL; - arm7_9->fast_memory_access = 0; - arm7_9->dcc_downloads = 0; + arm7_9->fast_memory_access = fast_and_dangerous; + arm7_9->dcc_downloads = fast_and_dangerous; armv4_5->arch_info = arm7_9; armv4_5->read_core_reg = arm7_9_read_core_reg; |