#include "breakpoints.h"
#include "embeddedice.h"
#include "target_request.h"
-#include "arm7_9_common.h"
+#include "etm.h"
#include "time_support.h"
#include "arm_simulator.h"
+#include "algorithm.h"
+#include "register.h"
/**
uint32_t value;
int spsr;
int retval;
- struct target *target = get_current_target(cmd_ctx);
+ struct target *target = get_current_target(CMD_CTX);
struct arm7_9_common *arm7_9 = target_to_arm7_9(target);
if (!is_arm7_9(arm7_9))
{
- command_print(cmd_ctx, "current target isn't an ARM7/ARM9 target");
+ command_print(CMD_CTX, "current target isn't an ARM7/ARM9 target");
return ERROR_TARGET_INVALID;
}
if (target->state != TARGET_HALTED)
{
- command_print(cmd_ctx, "can't write registers while running");
+ command_print(CMD_CTX, "can't write registers while running");
return ERROR_FAIL;
}
- if (argc < 2)
+ if (CMD_ARGC < 2)
{
- command_print(cmd_ctx, "usage: write_xpsr <value> <not cpsr | spsr>");
+ command_print(CMD_CTX, "usage: write_xpsr <value> <not cpsr | spsr>");
return ERROR_FAIL;
}
- COMMAND_PARSE_NUMBER(u32, args[0], value);
- COMMAND_PARSE_NUMBER(int, args[1], spsr);
+ COMMAND_PARSE_NUMBER(u32, CMD_ARGV[0], value);
+ COMMAND_PARSE_NUMBER(int, CMD_ARGV[1], spsr);
/* if we're writing the CPSR, mask the T bit */
if (!spsr)
int rotate;
int spsr;
int retval;
- struct target *target = get_current_target(cmd_ctx);
+ struct target *target = get_current_target(CMD_CTX);
struct arm7_9_common *arm7_9 = target_to_arm7_9(target);
if (!is_arm7_9(arm7_9))
{
- command_print(cmd_ctx, "current target isn't an ARM7/ARM9 target");
+ command_print(CMD_CTX, "current target isn't an ARM7/ARM9 target");
return ERROR_TARGET_INVALID;
}
if (target->state != TARGET_HALTED)
{
- command_print(cmd_ctx, "can't write registers while running");
+ command_print(CMD_CTX, "can't write registers while running");
return ERROR_FAIL;
}
- if (argc < 3)
+ if (CMD_ARGC < 3)
{
- command_print(cmd_ctx, "usage: write_xpsr_im8 <im8> <rotate> <not cpsr | spsr>");
+ command_print(CMD_CTX, "usage: write_xpsr_im8 <im8> <rotate> <not cpsr | spsr>");
return ERROR_FAIL;
}
- COMMAND_PARSE_NUMBER(u32, args[0], value);
- COMMAND_PARSE_NUMBER(int, args[1], rotate);
- COMMAND_PARSE_NUMBER(int, args[2], spsr);
+ COMMAND_PARSE_NUMBER(u32, CMD_ARGV[0], value);
+ COMMAND_PARSE_NUMBER(int, CMD_ARGV[1], rotate);
+ COMMAND_PARSE_NUMBER(int, CMD_ARGV[2], spsr);
arm7_9->write_xpsr_im8(target, value, rotate, spsr);
if ((retval = jtag_execute_queue()) != ERROR_OK)
uint32_t value;
uint32_t mode;
int num;
- struct target *target = get_current_target(cmd_ctx);
+ struct target *target = get_current_target(CMD_CTX);
struct arm7_9_common *arm7_9 = target_to_arm7_9(target);
if (!is_arm7_9(arm7_9))
{
- command_print(cmd_ctx, "current target isn't an ARM7/ARM9 target");
+ command_print(CMD_CTX, "current target isn't an ARM7/ARM9 target");
return ERROR_TARGET_INVALID;
}
if (target->state != TARGET_HALTED)
{
- command_print(cmd_ctx, "can't write registers while running");
+ command_print(CMD_CTX, "can't write registers while running");
return ERROR_FAIL;
}
- if (argc < 3)
+ if (CMD_ARGC < 3)
{
- command_print(cmd_ctx, "usage: write_core_reg <num> <mode> <value>");
+ command_print(CMD_CTX, "usage: write_core_reg <num> <mode> <value>");
return ERROR_FAIL;
}
- COMMAND_PARSE_NUMBER(int, args[0], num);
- COMMAND_PARSE_NUMBER(u32, args[1], mode);
- COMMAND_PARSE_NUMBER(u32, args[2], value);
+ COMMAND_PARSE_NUMBER(int, CMD_ARGV[0], num);
+ COMMAND_PARSE_NUMBER(u32, CMD_ARGV[1], mode);
+ COMMAND_PARSE_NUMBER(u32, CMD_ARGV[2], value);
return arm7_9_write_core_reg(target, num, mode, value);
}
COMMAND_HANDLER(handle_arm7_9_dbgrq_command)
{
- struct target *target = get_current_target(cmd_ctx);
+ struct target *target = get_current_target(CMD_CTX);
struct arm7_9_common *arm7_9 = target_to_arm7_9(target);
if (!is_arm7_9(arm7_9))
{
- command_print(cmd_ctx, "current target isn't an ARM7/ARM9 target");
+ command_print(CMD_CTX, "current target isn't an ARM7/ARM9 target");
return ERROR_TARGET_INVALID;
}
- if (argc > 0)
+ if (CMD_ARGC > 0)
{
- if (strcmp("enable", args[0]) == 0)
+ if (strcmp("enable", CMD_ARGV[0]) == 0)
{
arm7_9->use_dbgrq = 1;
}
- else if (strcmp("disable", args[0]) == 0)
+ else if (strcmp("disable", CMD_ARGV[0]) == 0)
{
arm7_9->use_dbgrq = 0;
}
else
{
- command_print(cmd_ctx, "usage: arm7_9 dbgrq <enable | disable>");
+ command_print(CMD_CTX, "usage: arm7_9 dbgrq <enable | disable>");
}
}
- command_print(cmd_ctx, "use of EmbeddedICE dbgrq instead of breakpoint for target halt %s", (arm7_9->use_dbgrq) ? "enabled" : "disabled");
+ command_print(CMD_CTX, "use of EmbeddedICE dbgrq instead of breakpoint for target halt %s", (arm7_9->use_dbgrq) ? "enabled" : "disabled");
return ERROR_OK;
}
COMMAND_HANDLER(handle_arm7_9_fast_memory_access_command)
{
- struct target *target = get_current_target(cmd_ctx);
+ struct target *target = get_current_target(CMD_CTX);
struct arm7_9_common *arm7_9 = target_to_arm7_9(target);
if (!is_arm7_9(arm7_9))
{
- command_print(cmd_ctx, "current target isn't an ARM7/ARM9 target");
+ command_print(CMD_CTX, "current target isn't an ARM7/ARM9 target");
return ERROR_TARGET_INVALID;
}
- if (argc > 0)
+ if (CMD_ARGC > 0)
{
- if (strcmp("enable", args[0]) == 0)
+ if (strcmp("enable", CMD_ARGV[0]) == 0)
{
arm7_9->fast_memory_access = 1;
}
- else if (strcmp("disable", args[0]) == 0)
+ else if (strcmp("disable", CMD_ARGV[0]) == 0)
{
arm7_9->fast_memory_access = 0;
}
else
{
- command_print(cmd_ctx, "usage: arm7_9 fast_memory_access <enable | disable>");
+ command_print(CMD_CTX, "usage: arm7_9 fast_memory_access <enable | disable>");
}
}
- command_print(cmd_ctx, "fast memory access is %s", (arm7_9->fast_memory_access) ? "enabled" : "disabled");
+ command_print(CMD_CTX, "fast memory access is %s", (arm7_9->fast_memory_access) ? "enabled" : "disabled");
return ERROR_OK;
}
COMMAND_HANDLER(handle_arm7_9_dcc_downloads_command)
{
- struct target *target = get_current_target(cmd_ctx);
+ struct target *target = get_current_target(CMD_CTX);
struct arm7_9_common *arm7_9 = target_to_arm7_9(target);
if (!is_arm7_9(arm7_9))
{
- command_print(cmd_ctx, "current target isn't an ARM7/ARM9 target");
+ command_print(CMD_CTX, "current target isn't an ARM7/ARM9 target");
return ERROR_TARGET_INVALID;
}
- if (argc > 0)
+ if (CMD_ARGC > 0)
{
- if (strcmp("enable", args[0]) == 0)
+ if (strcmp("enable", CMD_ARGV[0]) == 0)
{
arm7_9->dcc_downloads = 1;
}
- else if (strcmp("disable", args[0]) == 0)
+ else if (strcmp("disable", CMD_ARGV[0]) == 0)
{
arm7_9->dcc_downloads = 0;
}
else
{
- command_print(cmd_ctx, "usage: arm7_9 dcc_downloads <enable | disable>");
+ command_print(CMD_CTX, "usage: arm7_9 dcc_downloads <enable | disable>");
}
}
- command_print(cmd_ctx, "dcc downloads are %s", (arm7_9->dcc_downloads) ? "enabled" : "disabled");
+ command_print(CMD_CTX, "dcc downloads are %s", (arm7_9->dcc_downloads) ? "enabled" : "disabled");
return ERROR_OK;
}