Fix usage of timeval_ms()
First, fix the timeval_ms() implementation to not have K&R but ANSI argument semantics by adding a missing void. timeval_ms() returns an int64_t, not uint64_t or long long. Consistently use int64_t for variables and PRI*64 as format string. While at it, change a few related variables to bool for clarity. Note that timeval_ms() may return a negative error code, but not a single caller checks for that. Change-Id: I27cf83e75b3e9a8913f6c43e98a281bea77aac13 Signed-off-by: Andreas Färber <afaerber@suse.de> Reviewed-on: http://openocd.zylin.com/3499 Tested-by: jenkins Reviewed-by: Andreas Fritiofson <andreas.fritiofson@gmail.com> Reviewed-by: Tomas Vanek <vanekt@fbl.cz>
This commit is contained in:
parent
f4496b25e3
commit
f19ac83152
|
@ -371,7 +371,7 @@ static int aduc702x_check_flash_completion(struct target *target, unsigned int t
|
||||||
{
|
{
|
||||||
uint8_t v = 4;
|
uint8_t v = 4;
|
||||||
|
|
||||||
long long endtime = timeval_ms() + timeout_ms;
|
int64_t endtime = timeval_ms() + timeout_ms;
|
||||||
while (1) {
|
while (1) {
|
||||||
target_read_u8(target, ADUC702x_FLASH + ADUC702x_FLASH_FEESTA, &v);
|
target_read_u8(target, ADUC702x_FLASH + ADUC702x_FLASH_FEESTA, &v);
|
||||||
if ((v & 4) == 0)
|
if ((v & 4) == 0)
|
||||||
|
|
|
@ -551,7 +551,7 @@ static int aducm360_check_flash_completion(struct target *target, unsigned int t
|
||||||
{
|
{
|
||||||
uint32_t v = 1;
|
uint32_t v = 1;
|
||||||
|
|
||||||
long long endtime = timeval_ms() + timeout_ms;
|
int64_t endtime = timeval_ms() + timeout_ms;
|
||||||
while (1) {
|
while (1) {
|
||||||
target_read_u32(target, ADUCM360_FLASH_BASE+ADUCM360_FLASH_FEESTA, &v);
|
target_read_u32(target, ADUCM360_FLASH_BASE+ADUCM360_FLASH_FEESTA, &v);
|
||||||
if ((v & 0x00000001) == 0)
|
if ((v & 0x00000001) == 0)
|
||||||
|
|
|
@ -2175,7 +2175,7 @@ static int EFC_PerformCommand(struct sam3_bank_private *pPrivate,
|
||||||
|
|
||||||
int r;
|
int r;
|
||||||
uint32_t v;
|
uint32_t v;
|
||||||
long long ms_now, ms_end;
|
int64_t ms_now, ms_end;
|
||||||
|
|
||||||
/* default */
|
/* default */
|
||||||
if (status)
|
if (status)
|
||||||
|
|
|
@ -1053,7 +1053,7 @@ static int EFC_PerformCommand(struct sam4_bank_private *pPrivate,
|
||||||
|
|
||||||
int r;
|
int r;
|
||||||
uint32_t v;
|
uint32_t v;
|
||||||
long long ms_now, ms_end;
|
int64_t ms_now, ms_end;
|
||||||
|
|
||||||
/* default */
|
/* default */
|
||||||
if (status)
|
if (status)
|
||||||
|
|
|
@ -147,7 +147,7 @@ static int samv_efc_perform_command(struct target *target,
|
||||||
{
|
{
|
||||||
int r;
|
int r;
|
||||||
uint32_t v;
|
uint32_t v;
|
||||||
long long ms_now, ms_end;
|
int64_t ms_now, ms_end;
|
||||||
|
|
||||||
if (status)
|
if (status)
|
||||||
*status = 0;
|
*status = 0;
|
||||||
|
|
|
@ -210,14 +210,14 @@ static void jtagspi_read_status(struct flash_bank *bank, uint32_t *status)
|
||||||
static int jtagspi_wait(struct flash_bank *bank, int timeout_ms)
|
static int jtagspi_wait(struct flash_bank *bank, int timeout_ms)
|
||||||
{
|
{
|
||||||
uint32_t status;
|
uint32_t status;
|
||||||
long long t0 = timeval_ms();
|
int64_t t0 = timeval_ms();
|
||||||
long long dt;
|
int64_t dt;
|
||||||
|
|
||||||
do {
|
do {
|
||||||
dt = timeval_ms() - t0;
|
dt = timeval_ms() - t0;
|
||||||
jtagspi_read_status(bank, &status);
|
jtagspi_read_status(bank, &status);
|
||||||
if ((status & SPIFLASH_BSY_BIT) == 0) {
|
if ((status & SPIFLASH_BSY_BIT) == 0) {
|
||||||
LOG_DEBUG("waited %lld ms", dt);
|
LOG_DEBUG("waited %" PRId64 " ms", dt);
|
||||||
return ERROR_OK;
|
return ERROR_OK;
|
||||||
}
|
}
|
||||||
alive_sleep(1);
|
alive_sleep(1);
|
||||||
|
@ -244,14 +244,14 @@ static int jtagspi_bulk_erase(struct flash_bank *bank)
|
||||||
{
|
{
|
||||||
struct jtagspi_flash_bank *info = bank->driver_priv;
|
struct jtagspi_flash_bank *info = bank->driver_priv;
|
||||||
int retval;
|
int retval;
|
||||||
long long t0 = timeval_ms();
|
int64_t t0 = timeval_ms();
|
||||||
|
|
||||||
retval = jtagspi_write_enable(bank);
|
retval = jtagspi_write_enable(bank);
|
||||||
if (retval != ERROR_OK)
|
if (retval != ERROR_OK)
|
||||||
return retval;
|
return retval;
|
||||||
jtagspi_cmd(bank, info->dev->chip_erase_cmd, NULL, NULL, 0);
|
jtagspi_cmd(bank, info->dev->chip_erase_cmd, NULL, NULL, 0);
|
||||||
retval = jtagspi_wait(bank, bank->num_sectors*JTAGSPI_MAX_TIMEOUT);
|
retval = jtagspi_wait(bank, bank->num_sectors*JTAGSPI_MAX_TIMEOUT);
|
||||||
LOG_INFO("took %lld ms", timeval_ms() - t0);
|
LOG_INFO("took %" PRId64 " ms", timeval_ms() - t0);
|
||||||
return retval;
|
return retval;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -259,14 +259,14 @@ static int jtagspi_sector_erase(struct flash_bank *bank, int sector)
|
||||||
{
|
{
|
||||||
struct jtagspi_flash_bank *info = bank->driver_priv;
|
struct jtagspi_flash_bank *info = bank->driver_priv;
|
||||||
int retval;
|
int retval;
|
||||||
long long t0 = timeval_ms();
|
int64_t t0 = timeval_ms();
|
||||||
|
|
||||||
retval = jtagspi_write_enable(bank);
|
retval = jtagspi_write_enable(bank);
|
||||||
if (retval != ERROR_OK)
|
if (retval != ERROR_OK)
|
||||||
return retval;
|
return retval;
|
||||||
jtagspi_cmd(bank, info->dev->erase_cmd, &bank->sectors[sector].offset, NULL, 0);
|
jtagspi_cmd(bank, info->dev->erase_cmd, &bank->sectors[sector].offset, NULL, 0);
|
||||||
retval = jtagspi_wait(bank, JTAGSPI_MAX_TIMEOUT);
|
retval = jtagspi_wait(bank, JTAGSPI_MAX_TIMEOUT);
|
||||||
LOG_INFO("sector %d took %lld ms", sector, timeval_ms() - t0);
|
LOG_INFO("sector %d took %" PRId64 " ms", sector, timeval_ms() - t0);
|
||||||
return retval;
|
return retval;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -106,7 +106,7 @@ static int ssp_setcs(struct target *target, uint32_t io_base, unsigned int value
|
||||||
* and the controller is idle. */
|
* and the controller is idle. */
|
||||||
static int poll_ssp_busy(struct target *target, uint32_t ssp_base, int timeout)
|
static int poll_ssp_busy(struct target *target, uint32_t ssp_base, int timeout)
|
||||||
{
|
{
|
||||||
long long endtime;
|
int64_t endtime;
|
||||||
uint32_t value;
|
uint32_t value;
|
||||||
int retval;
|
int retval;
|
||||||
|
|
||||||
|
@ -325,7 +325,7 @@ static int wait_till_ready(struct flash_bank *bank, int timeout)
|
||||||
{
|
{
|
||||||
uint32_t status;
|
uint32_t status;
|
||||||
int retval;
|
int retval;
|
||||||
long long endtime;
|
int64_t endtime;
|
||||||
|
|
||||||
endtime = timeval_ms() + timeout;
|
endtime = timeval_ms() + timeout;
|
||||||
do {
|
do {
|
||||||
|
|
|
@ -160,7 +160,7 @@ FLASH_BANK_COMMAND_HANDLER(stmsmi_flash_bank_command)
|
||||||
/* timeout in ms */
|
/* timeout in ms */
|
||||||
static int poll_tff(struct target *target, uint32_t io_base, int timeout)
|
static int poll_tff(struct target *target, uint32_t io_base, int timeout)
|
||||||
{
|
{
|
||||||
long long endtime;
|
int64_t endtime;
|
||||||
|
|
||||||
if (SMI_READ_REG(SMI_SR) & SMI_TFF)
|
if (SMI_READ_REG(SMI_SR) & SMI_TFF)
|
||||||
return ERROR_OK;
|
return ERROR_OK;
|
||||||
|
@ -211,7 +211,7 @@ static int wait_till_ready(struct flash_bank *bank, int timeout)
|
||||||
{
|
{
|
||||||
uint32_t status;
|
uint32_t status;
|
||||||
int retval;
|
int retval;
|
||||||
long long endtime;
|
int64_t endtime;
|
||||||
|
|
||||||
endtime = timeval_ms() + timeout;
|
endtime = timeval_ms() + timeout;
|
||||||
do {
|
do {
|
||||||
|
|
|
@ -1173,8 +1173,8 @@ COMMAND_HANDLER(handle_sleep_command)
|
||||||
return retval;
|
return retval;
|
||||||
|
|
||||||
if (!busy) {
|
if (!busy) {
|
||||||
long long then = timeval_ms();
|
int64_t then = timeval_ms();
|
||||||
while (timeval_ms() - then < (long long)duration) {
|
while (timeval_ms() - then < (int64_t)duration) {
|
||||||
target_call_timer_callbacks_now();
|
target_call_timer_callbacks_now();
|
||||||
usleep(1000);
|
usleep(1000);
|
||||||
}
|
}
|
||||||
|
|
|
@ -45,10 +45,10 @@ int debug_level = -1;
|
||||||
static FILE *log_output;
|
static FILE *log_output;
|
||||||
static struct log_callback *log_callbacks;
|
static struct log_callback *log_callbacks;
|
||||||
|
|
||||||
static long long last_time;
|
static int64_t last_time;
|
||||||
static long long current_time;
|
static int64_t current_time;
|
||||||
|
|
||||||
static long long start;
|
static int64_t start;
|
||||||
|
|
||||||
static const char * const log_strings[5] = {
|
static const char * const log_strings[5] = {
|
||||||
"User : ",
|
"User : ",
|
||||||
|
@ -134,12 +134,12 @@ static void log_puts(enum log_levels level,
|
||||||
if (strlen(string) > 0) {
|
if (strlen(string) > 0) {
|
||||||
if (debug_level >= LOG_LVL_DEBUG) {
|
if (debug_level >= LOG_LVL_DEBUG) {
|
||||||
/* print with count and time information */
|
/* print with count and time information */
|
||||||
int t = (int)(timeval_ms()-start);
|
int64_t t = timeval_ms() - start;
|
||||||
#ifdef _DEBUG_FREE_SPACE_
|
#ifdef _DEBUG_FREE_SPACE_
|
||||||
struct mallinfo info;
|
struct mallinfo info;
|
||||||
info = mallinfo();
|
info = mallinfo();
|
||||||
#endif
|
#endif
|
||||||
fprintf(log_output, "%s%d %d %s:%d %s()"
|
fprintf(log_output, "%s%d %" PRId64 " %s:%d %s()"
|
||||||
#ifdef _DEBUG_FREE_SPACE_
|
#ifdef _DEBUG_FREE_SPACE_
|
||||||
" %d"
|
" %d"
|
||||||
#endif
|
#endif
|
||||||
|
@ -410,12 +410,12 @@ void keep_alive()
|
||||||
if (gdb_actual_connections)
|
if (gdb_actual_connections)
|
||||||
LOG_WARNING("keep_alive() was not invoked in the "
|
LOG_WARNING("keep_alive() was not invoked in the "
|
||||||
"1000ms timelimit. GDB alive packet not "
|
"1000ms timelimit. GDB alive packet not "
|
||||||
"sent! (%lld). Workaround: increase "
|
"sent! (%" PRId64 "). Workaround: increase "
|
||||||
"\"set remotetimeout\" in GDB",
|
"\"set remotetimeout\" in GDB",
|
||||||
current_time-last_time);
|
current_time-last_time);
|
||||||
else
|
else
|
||||||
LOG_DEBUG("keep_alive() was not invoked in the "
|
LOG_DEBUG("keep_alive() was not invoked in the "
|
||||||
"1000ms timelimit (%lld). This may cause "
|
"1000ms timelimit (%" PRId64 "). This may cause "
|
||||||
"trouble with GDB connections.",
|
"trouble with GDB connections.",
|
||||||
current_time-last_time);
|
current_time-last_time);
|
||||||
}
|
}
|
||||||
|
|
|
@ -31,7 +31,7 @@
|
||||||
/* simple and low overhead fetching of ms counter. Use only
|
/* simple and low overhead fetching of ms counter. Use only
|
||||||
* the difference between ms counters returned from this fn.
|
* the difference between ms counters returned from this fn.
|
||||||
*/
|
*/
|
||||||
int64_t timeval_ms()
|
int64_t timeval_ms(void)
|
||||||
{
|
{
|
||||||
struct timeval now;
|
struct timeval now;
|
||||||
int retval = gettimeofday(&now, NULL);
|
int retval = gettimeofday(&now, NULL);
|
||||||
|
|
|
@ -174,7 +174,7 @@ static int aice_pipe_write(const void *buffer, int count)
|
||||||
static int aice_pipe_read(void *buffer, int count)
|
static int aice_pipe_read(void *buffer, int count)
|
||||||
{
|
{
|
||||||
int n;
|
int n;
|
||||||
long long then, cur;
|
int64_t then, cur;
|
||||||
|
|
||||||
then = timeval_ms();
|
then = timeval_ms();
|
||||||
|
|
||||||
|
|
|
@ -1856,7 +1856,7 @@ static int aice_check_dbger(uint32_t coreid, uint32_t expect_status)
|
||||||
if ((i % 30) == 0)
|
if ((i % 30) == 0)
|
||||||
keep_alive();
|
keep_alive();
|
||||||
|
|
||||||
long long then = 0;
|
int64_t then = 0;
|
||||||
if (i == aice_count_to_check_dbger)
|
if (i == aice_count_to_check_dbger)
|
||||||
then = timeval_ms();
|
then = timeval_ms();
|
||||||
if (i >= aice_count_to_check_dbger) {
|
if (i >= aice_count_to_check_dbger) {
|
||||||
|
@ -2997,7 +2997,7 @@ static int aice_usb_step(uint32_t coreid)
|
||||||
if (AICE_TARGET_HALTED == state)
|
if (AICE_TARGET_HALTED == state)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
long long then = 0;
|
int64_t then = 0;
|
||||||
if (i == 30)
|
if (i == 30)
|
||||||
then = timeval_ms();
|
then = timeval_ms();
|
||||||
|
|
||||||
|
|
|
@ -1247,7 +1247,7 @@ COMMAND_HANDLER(handle_wait_srst_deassert)
|
||||||
|
|
||||||
LOG_USER("Waiting for srst assert + deassert for at most %dms", timeout_ms);
|
LOG_USER("Waiting for srst assert + deassert for at most %dms", timeout_ms);
|
||||||
int asserted_yet;
|
int asserted_yet;
|
||||||
long long then = timeval_ms();
|
int64_t then = timeval_ms();
|
||||||
while (jtag_srst_asserted(&asserted_yet) == ERROR_OK) {
|
while (jtag_srst_asserted(&asserted_yet) == ERROR_OK) {
|
||||||
if ((timeval_ms() - then) > timeout_ms) {
|
if ((timeval_ms() - then) > timeout_ms) {
|
||||||
LOG_ERROR("Timed out");
|
LOG_ERROR("Timed out");
|
||||||
|
|
|
@ -145,8 +145,8 @@ static int zy1000_power_dropout(int *dropout)
|
||||||
static void waitSRST(bool asserted)
|
static void waitSRST(bool asserted)
|
||||||
{
|
{
|
||||||
bool first = true;
|
bool first = true;
|
||||||
long long start = 0;
|
int64_t start = 0;
|
||||||
long total = 0;
|
int64_t total = 0;
|
||||||
const char *mode = asserted ? "assert" : "deassert";
|
const char *mode = asserted ? "assert" : "deassert";
|
||||||
|
|
||||||
for (;; ) {
|
for (;; ) {
|
||||||
|
@ -167,7 +167,7 @@ static void waitSRST(bool asserted)
|
||||||
keep_alive();
|
keep_alive();
|
||||||
|
|
||||||
if (total > 5000) {
|
if (total > 5000) {
|
||||||
LOG_ERROR("SRST took too long to %s: %dms", mode, (int)total);
|
LOG_ERROR("SRST took too long to %s: %" PRId64 "ms", mode, total);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -361,7 +361,7 @@ COMMAND_HANDLER(handle_svf_command)
|
||||||
#define SVF_MAX_NUM_OF_OPTIONS 5
|
#define SVF_MAX_NUM_OF_OPTIONS 5
|
||||||
int command_num = 0;
|
int command_num = 0;
|
||||||
int ret = ERROR_OK;
|
int ret = ERROR_OK;
|
||||||
long long time_measure_ms;
|
int64_t time_measure_ms;
|
||||||
int time_measure_s, time_measure_m;
|
int time_measure_s, time_measure_m;
|
||||||
|
|
||||||
/* use NULL to indicate a "plain" svf file which accounts for
|
/* use NULL to indicate a "plain" svf file which accounts for
|
||||||
|
@ -535,7 +535,7 @@ COMMAND_HANDLER(handle_svf_command)
|
||||||
time_measure_s %= 60;
|
time_measure_s %= 60;
|
||||||
if (time_measure_ms < 1000)
|
if (time_measure_ms < 1000)
|
||||||
command_print(CMD_CTX,
|
command_print(CMD_CTX,
|
||||||
"\r\nTime used: %dm%ds%lldms ",
|
"\r\nTime used: %dm%ds%" PRId64 "ms ",
|
||||||
time_measure_m,
|
time_measure_m,
|
||||||
time_measure_s,
|
time_measure_s,
|
||||||
time_measure_ms);
|
time_measure_ms);
|
||||||
|
|
|
@ -357,7 +357,7 @@ static int jtagdp_overrun_check(struct adiv5_dap *dap)
|
||||||
int retval;
|
int retval;
|
||||||
struct dap_cmd *el, *tmp, *prev = NULL;
|
struct dap_cmd *el, *tmp, *prev = NULL;
|
||||||
int found_wait = 0;
|
int found_wait = 0;
|
||||||
uint64_t time_now;
|
int64_t time_now;
|
||||||
LIST_HEAD(replay_list);
|
LIST_HEAD(replay_list);
|
||||||
|
|
||||||
/* make sure all queued transactions are complete */
|
/* make sure all queued transactions are complete */
|
||||||
|
|
|
@ -390,7 +390,7 @@ static int arm11_halt(struct target *target)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
||||||
long long then = 0;
|
int64_t then = 0;
|
||||||
if (i == 1000)
|
if (i == 1000)
|
||||||
then = timeval_ms();
|
then = timeval_ms();
|
||||||
if (i >= 1000) {
|
if (i >= 1000) {
|
||||||
|
@ -512,7 +512,7 @@ static int arm11_resume(struct target *target, int current,
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
||||||
long long then = 0;
|
int64_t then = 0;
|
||||||
if (i == 1000)
|
if (i == 1000)
|
||||||
then = timeval_ms();
|
then = timeval_ms();
|
||||||
if (i >= 1000) {
|
if (i >= 1000) {
|
||||||
|
|
|
@ -408,7 +408,7 @@ int arm11_run_instr_no_data(struct arm11_common *arm11,
|
||||||
if (flag)
|
if (flag)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
long long then = 0;
|
int64_t then = 0;
|
||||||
|
|
||||||
if (i == 1000)
|
if (i == 1000)
|
||||||
then = timeval_ms();
|
then = timeval_ms();
|
||||||
|
@ -491,7 +491,7 @@ int arm11_run_instr_data_to_core(struct arm11_common *arm11,
|
||||||
|
|
||||||
JTAG_DEBUG("DTR Ready %d nRetry %d", Ready, nRetry);
|
JTAG_DEBUG("DTR Ready %d nRetry %d", Ready, nRetry);
|
||||||
|
|
||||||
long long then = 0;
|
int64_t then = 0;
|
||||||
|
|
||||||
if (i == 1000)
|
if (i == 1000)
|
||||||
then = timeval_ms();
|
then = timeval_ms();
|
||||||
|
@ -523,7 +523,7 @@ int arm11_run_instr_data_to_core(struct arm11_common *arm11,
|
||||||
JTAG_DEBUG("DTR Data %08x Ready %d nRetry %d",
|
JTAG_DEBUG("DTR Data %08x Ready %d nRetry %d",
|
||||||
(unsigned) Data, Ready, nRetry);
|
(unsigned) Data, Ready, nRetry);
|
||||||
|
|
||||||
long long then = 0;
|
int64_t then = 0;
|
||||||
|
|
||||||
if (i == 1000)
|
if (i == 1000)
|
||||||
then = timeval_ms();
|
then = timeval_ms();
|
||||||
|
@ -787,7 +787,7 @@ int arm11_run_instr_data_from_core(struct arm11_common *arm11,
|
||||||
JTAG_DEBUG("DTR Data %08x Ready %d nRetry %d",
|
JTAG_DEBUG("DTR Data %08x Ready %d nRetry %d",
|
||||||
(unsigned) Data, Ready, nRetry);
|
(unsigned) Data, Ready, nRetry);
|
||||||
|
|
||||||
long long then = 0;
|
int64_t then = 0;
|
||||||
|
|
||||||
if (i == 1000)
|
if (i == 1000)
|
||||||
then = timeval_ms();
|
then = timeval_ms();
|
||||||
|
@ -922,7 +922,7 @@ int arm11_sc7_run(struct arm11_common *arm11, struct arm11_sc7_action *actions,
|
||||||
if (Ready)
|
if (Ready)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
long long then = 0;
|
int64_t then = 0;
|
||||||
|
|
||||||
if (i_n == 1000)
|
if (i_n == 1000)
|
||||||
then = timeval_ms();
|
then = timeval_ms();
|
||||||
|
|
|
@ -336,7 +336,7 @@ static int arm720t_soft_reset_halt(struct target *target)
|
||||||
if (retval != ERROR_OK)
|
if (retval != ERROR_OK)
|
||||||
return retval;
|
return retval;
|
||||||
|
|
||||||
long long then = timeval_ms();
|
int64_t then = timeval_ms();
|
||||||
int timeout;
|
int timeout;
|
||||||
while (!(timeout = ((timeval_ms()-then) > 1000))) {
|
while (!(timeout = ((timeval_ms()-then) > 1000))) {
|
||||||
if (buf_get_u32(dbg_stat->value, EICE_DBG_STATUS_DBGACK, 1) == 0) {
|
if (buf_get_u32(dbg_stat->value, EICE_DBG_STATUS_DBGACK, 1) == 0) {
|
||||||
|
|
|
@ -634,8 +634,8 @@ int arm7_9_execute_sys_speed(struct target *target)
|
||||||
if (retval != ERROR_OK)
|
if (retval != ERROR_OK)
|
||||||
return retval;
|
return retval;
|
||||||
|
|
||||||
long long then = timeval_ms();
|
int64_t then = timeval_ms();
|
||||||
int timeout;
|
bool timeout;
|
||||||
while (!(timeout = ((timeval_ms()-then) > 1000))) {
|
while (!(timeout = ((timeval_ms()-then) > 1000))) {
|
||||||
/* read debug status register */
|
/* read debug status register */
|
||||||
embeddedice_read_reg(dbg_stat);
|
embeddedice_read_reg(dbg_stat);
|
||||||
|
|
|
@ -751,8 +751,8 @@ int arm920t_soft_reset_halt(struct target *target)
|
||||||
if (retval != ERROR_OK)
|
if (retval != ERROR_OK)
|
||||||
return retval;
|
return retval;
|
||||||
|
|
||||||
long long then = timeval_ms();
|
int64_t then = timeval_ms();
|
||||||
int timeout;
|
bool timeout;
|
||||||
while (!(timeout = ((timeval_ms()-then) > 1000))) {
|
while (!(timeout = ((timeval_ms()-then) > 1000))) {
|
||||||
if (buf_get_u32(dbg_stat->value, EICE_DBG_STATUS_DBGACK, 1) == 0) {
|
if (buf_get_u32(dbg_stat->value, EICE_DBG_STATUS_DBGACK, 1) == 0) {
|
||||||
embeddedice_read_reg(dbg_stat);
|
embeddedice_read_reg(dbg_stat);
|
||||||
|
|
|
@ -87,7 +87,7 @@ static int arm926ejs_cp15_read(struct target *target, uint32_t op1, uint32_t op2
|
||||||
|
|
||||||
jtag_add_dr_scan(jtag_info->tap, 4, fields, TAP_IDLE);
|
jtag_add_dr_scan(jtag_info->tap, 4, fields, TAP_IDLE);
|
||||||
|
|
||||||
long long then = timeval_ms();
|
int64_t then = timeval_ms();
|
||||||
|
|
||||||
for (;;) {
|
for (;;) {
|
||||||
/* rescan with NOP, to wait for the access to complete */
|
/* rescan with NOP, to wait for the access to complete */
|
||||||
|
@ -173,7 +173,7 @@ static int arm926ejs_cp15_write(struct target *target, uint32_t op1, uint32_t op
|
||||||
|
|
||||||
jtag_add_dr_scan(jtag_info->tap, 4, fields, TAP_IDLE);
|
jtag_add_dr_scan(jtag_info->tap, 4, fields, TAP_IDLE);
|
||||||
|
|
||||||
long long then = timeval_ms();
|
int64_t then = timeval_ms();
|
||||||
|
|
||||||
for (;;) {
|
for (;;) {
|
||||||
/* rescan with NOP, to wait for the access to complete */
|
/* rescan with NOP, to wait for the access to complete */
|
||||||
|
@ -546,7 +546,7 @@ int arm926ejs_soft_reset_halt(struct target *target)
|
||||||
if (retval != ERROR_OK)
|
if (retval != ERROR_OK)
|
||||||
return retval;
|
return retval;
|
||||||
|
|
||||||
long long then = timeval_ms();
|
int64_t then = timeval_ms();
|
||||||
int timeout;
|
int timeout;
|
||||||
while (!(timeout = ((timeval_ms()-then) > 1000))) {
|
while (!(timeout = ((timeval_ms()-then) > 1000))) {
|
||||||
if (buf_get_u32(dbg_stat->value, EICE_DBG_STATUS_DBGACK, 1) == 0) {
|
if (buf_get_u32(dbg_stat->value, EICE_DBG_STATUS_DBGACK, 1) == 0) {
|
||||||
|
|
|
@ -86,7 +86,7 @@ struct mips32_pracc_context {
|
||||||
static int wait_for_pracc_rw(struct mips_ejtag *ejtag_info, uint32_t *ctrl)
|
static int wait_for_pracc_rw(struct mips_ejtag *ejtag_info, uint32_t *ctrl)
|
||||||
{
|
{
|
||||||
uint32_t ejtag_ctrl;
|
uint32_t ejtag_ctrl;
|
||||||
long long then = timeval_ms();
|
int64_t then = timeval_ms();
|
||||||
|
|
||||||
/* wait for the PrAcc to become "1" */
|
/* wait for the PrAcc to become "1" */
|
||||||
mips_ejtag_set_instr(ejtag_info, EJTAG_INST_CONTROL);
|
mips_ejtag_set_instr(ejtag_info, EJTAG_INST_CONTROL);
|
||||||
|
@ -100,7 +100,7 @@ static int wait_for_pracc_rw(struct mips_ejtag *ejtag_info, uint32_t *ctrl)
|
||||||
if (ejtag_ctrl & EJTAG_CTRL_PRACC)
|
if (ejtag_ctrl & EJTAG_CTRL_PRACC)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
int timeout = timeval_ms() - then;
|
int64_t timeout = timeval_ms() - then;
|
||||||
if (timeout > 1000) {
|
if (timeout > 1000) {
|
||||||
LOG_DEBUG("DEBUGMODULE: No memory access in progress!");
|
LOG_DEBUG("DEBUGMODULE: No memory access in progress!");
|
||||||
return ERROR_JTAG_DEVICE_ERROR;
|
return ERROR_JTAG_DEVICE_ERROR;
|
||||||
|
|
|
@ -532,7 +532,7 @@ int target_poll(struct target *target)
|
||||||
if (target->state == TARGET_HALTED)
|
if (target->state == TARGET_HALTED)
|
||||||
target->halt_issued = false;
|
target->halt_issued = false;
|
||||||
else {
|
else {
|
||||||
long long t = timeval_ms() - target->halt_issued_time;
|
int64_t t = timeval_ms() - target->halt_issued_time;
|
||||||
if (t > DEFAULT_HALT_TIMEOUT) {
|
if (t > DEFAULT_HALT_TIMEOUT) {
|
||||||
target->halt_issued = false;
|
target->halt_issued = false;
|
||||||
LOG_INFO("Halt timed out, wake up GDB.");
|
LOG_INFO("Halt timed out, wake up GDB.");
|
||||||
|
@ -2446,9 +2446,9 @@ static int sense_handler(void)
|
||||||
if (powerRestored)
|
if (powerRestored)
|
||||||
runPowerRestore = 1;
|
runPowerRestore = 1;
|
||||||
|
|
||||||
long long current = timeval_ms();
|
int64_t current = timeval_ms();
|
||||||
static long long lastPower;
|
static int64_t lastPower;
|
||||||
int waitMore = lastPower + 2000 > current;
|
bool waitMore = lastPower + 2000 > current;
|
||||||
if (powerDropout && !waitMore) {
|
if (powerDropout && !waitMore) {
|
||||||
runPowerDropout = 1;
|
runPowerDropout = 1;
|
||||||
lastPower = current;
|
lastPower = current;
|
||||||
|
@ -2461,7 +2461,7 @@ static int sense_handler(void)
|
||||||
int srstDeasserted;
|
int srstDeasserted;
|
||||||
srstDeasserted = prevSrstAsserted && !srstAsserted;
|
srstDeasserted = prevSrstAsserted && !srstAsserted;
|
||||||
|
|
||||||
static long long lastSrst;
|
static int64_t lastSrst;
|
||||||
waitMore = lastSrst + 2000 > current;
|
waitMore = lastSrst + 2000 > current;
|
||||||
if (srstDeasserted && !waitMore) {
|
if (srstDeasserted && !waitMore) {
|
||||||
runSrstDeasserted = 1;
|
runSrstDeasserted = 1;
|
||||||
|
@ -2771,8 +2771,8 @@ COMMAND_HANDLER(handle_wait_halt_command)
|
||||||
int target_wait_state(struct target *target, enum target_state state, int ms)
|
int target_wait_state(struct target *target, enum target_state state, int ms)
|
||||||
{
|
{
|
||||||
int retval;
|
int retval;
|
||||||
long long then = 0, cur;
|
int64_t then = 0, cur;
|
||||||
int once = 1;
|
bool once = true;
|
||||||
|
|
||||||
for (;;) {
|
for (;;) {
|
||||||
retval = target_poll(target);
|
retval = target_poll(target);
|
||||||
|
@ -2782,7 +2782,7 @@ int target_wait_state(struct target *target, enum target_state state, int ms)
|
||||||
break;
|
break;
|
||||||
cur = timeval_ms();
|
cur = timeval_ms();
|
||||||
if (once) {
|
if (once) {
|
||||||
once = 0;
|
once = false;
|
||||||
then = timeval_ms();
|
then = timeval_ms();
|
||||||
LOG_DEBUG("waiting for target %s...",
|
LOG_DEBUG("waiting for target %s...",
|
||||||
Jim_Nvp_value2name_simple(nvp_target_state, state)->name);
|
Jim_Nvp_value2name_simple(nvp_target_state, state)->name);
|
||||||
|
@ -5664,7 +5664,7 @@ COMMAND_HANDLER(handle_fast_load_command)
|
||||||
return ERROR_FAIL;
|
return ERROR_FAIL;
|
||||||
}
|
}
|
||||||
int i;
|
int i;
|
||||||
int ms = timeval_ms();
|
int64_t ms = timeval_ms();
|
||||||
int size = 0;
|
int size = 0;
|
||||||
int retval = ERROR_OK;
|
int retval = ERROR_OK;
|
||||||
for (i = 0; i < fastload_num; i++) {
|
for (i = 0; i < fastload_num; i++) {
|
||||||
|
@ -5678,7 +5678,7 @@ COMMAND_HANDLER(handle_fast_load_command)
|
||||||
size += fastload[i].length;
|
size += fastload[i].length;
|
||||||
}
|
}
|
||||||
if (retval == ERROR_OK) {
|
if (retval == ERROR_OK) {
|
||||||
int after = timeval_ms();
|
int64_t after = timeval_ms();
|
||||||
command_print(CMD_CTX, "Loaded image %f kBytes/s", (float)(size/1024.0)/((float)(after-ms)/1000.0));
|
command_print(CMD_CTX, "Loaded image %f kBytes/s", (float)(size/1024.0)/((float)(after-ms)/1000.0));
|
||||||
}
|
}
|
||||||
return retval;
|
return retval;
|
||||||
|
|
|
@ -175,7 +175,7 @@ struct target {
|
||||||
int display; /* display async info in telnet session. Do not display
|
int display; /* display async info in telnet session. Do not display
|
||||||
* lots of halted/resumed info when stepping in debugger. */
|
* lots of halted/resumed info when stepping in debugger. */
|
||||||
bool halt_issued; /* did we transition to halted state? */
|
bool halt_issued; /* did we transition to halted state? */
|
||||||
long long halt_issued_time; /* Note time when halt was issued */
|
int64_t halt_issued_time; /* Note time when halt was issued */
|
||||||
|
|
||||||
bool dbgbase_set; /* By default the debug base is not set */
|
bool dbgbase_set; /* By default the debug base is not set */
|
||||||
uint32_t dbgbase; /* Really a Cortex-A specific option, but there is no
|
uint32_t dbgbase; /* Really a Cortex-A specific option, but there is no
|
||||||
|
|
Loading…
Reference in New Issue