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:
Andreas Färber 2016-05-22 04:34:04 +02:00 committed by Andreas Fritiofson
parent f4496b25e3
commit f19ac83152
26 changed files with 64 additions and 64 deletions

View File

@ -371,7 +371,7 @@ static int aduc702x_check_flash_completion(struct target *target, unsigned int t
{
uint8_t v = 4;
long long endtime = timeval_ms() + timeout_ms;
int64_t endtime = timeval_ms() + timeout_ms;
while (1) {
target_read_u8(target, ADUC702x_FLASH + ADUC702x_FLASH_FEESTA, &v);
if ((v & 4) == 0)

View File

@ -551,7 +551,7 @@ static int aducm360_check_flash_completion(struct target *target, unsigned int t
{
uint32_t v = 1;
long long endtime = timeval_ms() + timeout_ms;
int64_t endtime = timeval_ms() + timeout_ms;
while (1) {
target_read_u32(target, ADUCM360_FLASH_BASE+ADUCM360_FLASH_FEESTA, &v);
if ((v & 0x00000001) == 0)

View File

@ -2175,7 +2175,7 @@ static int EFC_PerformCommand(struct sam3_bank_private *pPrivate,
int r;
uint32_t v;
long long ms_now, ms_end;
int64_t ms_now, ms_end;
/* default */
if (status)

View File

@ -1053,7 +1053,7 @@ static int EFC_PerformCommand(struct sam4_bank_private *pPrivate,
int r;
uint32_t v;
long long ms_now, ms_end;
int64_t ms_now, ms_end;
/* default */
if (status)

View File

@ -147,7 +147,7 @@ static int samv_efc_perform_command(struct target *target,
{
int r;
uint32_t v;
long long ms_now, ms_end;
int64_t ms_now, ms_end;
if (status)
*status = 0;

View File

@ -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)
{
uint32_t status;
long long t0 = timeval_ms();
long long dt;
int64_t t0 = timeval_ms();
int64_t dt;
do {
dt = timeval_ms() - t0;
jtagspi_read_status(bank, &status);
if ((status & SPIFLASH_BSY_BIT) == 0) {
LOG_DEBUG("waited %lld ms", dt);
LOG_DEBUG("waited %" PRId64 " ms", dt);
return ERROR_OK;
}
alive_sleep(1);
@ -244,14 +244,14 @@ static int jtagspi_bulk_erase(struct flash_bank *bank)
{
struct jtagspi_flash_bank *info = bank->driver_priv;
int retval;
long long t0 = timeval_ms();
int64_t t0 = timeval_ms();
retval = jtagspi_write_enable(bank);
if (retval != ERROR_OK)
return retval;
jtagspi_cmd(bank, info->dev->chip_erase_cmd, NULL, NULL, 0);
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;
}
@ -259,14 +259,14 @@ static int jtagspi_sector_erase(struct flash_bank *bank, int sector)
{
struct jtagspi_flash_bank *info = bank->driver_priv;
int retval;
long long t0 = timeval_ms();
int64_t t0 = timeval_ms();
retval = jtagspi_write_enable(bank);
if (retval != ERROR_OK)
return retval;
jtagspi_cmd(bank, info->dev->erase_cmd, &bank->sectors[sector].offset, NULL, 0);
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;
}

View File

@ -106,7 +106,7 @@ static int ssp_setcs(struct target *target, uint32_t io_base, unsigned int value
* and the controller is idle. */
static int poll_ssp_busy(struct target *target, uint32_t ssp_base, int timeout)
{
long long endtime;
int64_t endtime;
uint32_t value;
int retval;
@ -325,7 +325,7 @@ static int wait_till_ready(struct flash_bank *bank, int timeout)
{
uint32_t status;
int retval;
long long endtime;
int64_t endtime;
endtime = timeval_ms() + timeout;
do {

View File

@ -160,7 +160,7 @@ FLASH_BANK_COMMAND_HANDLER(stmsmi_flash_bank_command)
/* timeout in ms */
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)
return ERROR_OK;
@ -211,7 +211,7 @@ static int wait_till_ready(struct flash_bank *bank, int timeout)
{
uint32_t status;
int retval;
long long endtime;
int64_t endtime;
endtime = timeval_ms() + timeout;
do {

View File

@ -1173,8 +1173,8 @@ COMMAND_HANDLER(handle_sleep_command)
return retval;
if (!busy) {
long long then = timeval_ms();
while (timeval_ms() - then < (long long)duration) {
int64_t then = timeval_ms();
while (timeval_ms() - then < (int64_t)duration) {
target_call_timer_callbacks_now();
usleep(1000);
}

View File

@ -45,10 +45,10 @@ int debug_level = -1;
static FILE *log_output;
static struct log_callback *log_callbacks;
static long long last_time;
static long long current_time;
static int64_t last_time;
static int64_t current_time;
static long long start;
static int64_t start;
static const char * const log_strings[5] = {
"User : ",
@ -134,12 +134,12 @@ static void log_puts(enum log_levels level,
if (strlen(string) > 0) {
if (debug_level >= LOG_LVL_DEBUG) {
/* print with count and time information */
int t = (int)(timeval_ms()-start);
int64_t t = timeval_ms() - start;
#ifdef _DEBUG_FREE_SPACE_
struct mallinfo info;
info = mallinfo();
#endif
fprintf(log_output, "%s%d %d %s:%d %s()"
fprintf(log_output, "%s%d %" PRId64 " %s:%d %s()"
#ifdef _DEBUG_FREE_SPACE_
" %d"
#endif
@ -410,12 +410,12 @@ void keep_alive()
if (gdb_actual_connections)
LOG_WARNING("keep_alive() was not invoked in the "
"1000ms timelimit. GDB alive packet not "
"sent! (%lld). Workaround: increase "
"sent! (%" PRId64 "). Workaround: increase "
"\"set remotetimeout\" in GDB",
current_time-last_time);
else
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.",
current_time-last_time);
}

View File

@ -31,7 +31,7 @@
/* simple and low overhead fetching of ms counter. Use only
* the difference between ms counters returned from this fn.
*/
int64_t timeval_ms()
int64_t timeval_ms(void)
{
struct timeval now;
int retval = gettimeofday(&now, NULL);

View File

@ -174,7 +174,7 @@ static int aice_pipe_write(const void *buffer, int count)
static int aice_pipe_read(void *buffer, int count)
{
int n;
long long then, cur;
int64_t then, cur;
then = timeval_ms();

View File

@ -1856,7 +1856,7 @@ static int aice_check_dbger(uint32_t coreid, uint32_t expect_status)
if ((i % 30) == 0)
keep_alive();
long long then = 0;
int64_t then = 0;
if (i == aice_count_to_check_dbger)
then = timeval_ms();
if (i >= aice_count_to_check_dbger) {
@ -2997,7 +2997,7 @@ static int aice_usb_step(uint32_t coreid)
if (AICE_TARGET_HALTED == state)
break;
long long then = 0;
int64_t then = 0;
if (i == 30)
then = timeval_ms();

View File

@ -1247,7 +1247,7 @@ COMMAND_HANDLER(handle_wait_srst_deassert)
LOG_USER("Waiting for srst assert + deassert for at most %dms", timeout_ms);
int asserted_yet;
long long then = timeval_ms();
int64_t then = timeval_ms();
while (jtag_srst_asserted(&asserted_yet) == ERROR_OK) {
if ((timeval_ms() - then) > timeout_ms) {
LOG_ERROR("Timed out");

View File

@ -145,8 +145,8 @@ static int zy1000_power_dropout(int *dropout)
static void waitSRST(bool asserted)
{
bool first = true;
long long start = 0;
long total = 0;
int64_t start = 0;
int64_t total = 0;
const char *mode = asserted ? "assert" : "deassert";
for (;; ) {
@ -167,7 +167,7 @@ static void waitSRST(bool asserted)
keep_alive();
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;
}
}

View File

@ -361,7 +361,7 @@ COMMAND_HANDLER(handle_svf_command)
#define SVF_MAX_NUM_OF_OPTIONS 5
int command_num = 0;
int ret = ERROR_OK;
long long time_measure_ms;
int64_t time_measure_ms;
int time_measure_s, time_measure_m;
/* use NULL to indicate a "plain" svf file which accounts for
@ -535,7 +535,7 @@ COMMAND_HANDLER(handle_svf_command)
time_measure_s %= 60;
if (time_measure_ms < 1000)
command_print(CMD_CTX,
"\r\nTime used: %dm%ds%lldms ",
"\r\nTime used: %dm%ds%" PRId64 "ms ",
time_measure_m,
time_measure_s,
time_measure_ms);

View File

@ -357,7 +357,7 @@ static int jtagdp_overrun_check(struct adiv5_dap *dap)
int retval;
struct dap_cmd *el, *tmp, *prev = NULL;
int found_wait = 0;
uint64_t time_now;
int64_t time_now;
LIST_HEAD(replay_list);
/* make sure all queued transactions are complete */

View File

@ -390,7 +390,7 @@ static int arm11_halt(struct target *target)
break;
long long then = 0;
int64_t then = 0;
if (i == 1000)
then = timeval_ms();
if (i >= 1000) {
@ -512,7 +512,7 @@ static int arm11_resume(struct target *target, int current,
break;
long long then = 0;
int64_t then = 0;
if (i == 1000)
then = timeval_ms();
if (i >= 1000) {

View File

@ -408,7 +408,7 @@ int arm11_run_instr_no_data(struct arm11_common *arm11,
if (flag)
break;
long long then = 0;
int64_t then = 0;
if (i == 1000)
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);
long long then = 0;
int64_t then = 0;
if (i == 1000)
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",
(unsigned) Data, Ready, nRetry);
long long then = 0;
int64_t then = 0;
if (i == 1000)
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",
(unsigned) Data, Ready, nRetry);
long long then = 0;
int64_t then = 0;
if (i == 1000)
then = timeval_ms();
@ -922,7 +922,7 @@ int arm11_sc7_run(struct arm11_common *arm11, struct arm11_sc7_action *actions,
if (Ready)
break;
long long then = 0;
int64_t then = 0;
if (i_n == 1000)
then = timeval_ms();

View File

@ -336,7 +336,7 @@ static int arm720t_soft_reset_halt(struct target *target)
if (retval != ERROR_OK)
return retval;
long long then = timeval_ms();
int64_t then = timeval_ms();
int timeout;
while (!(timeout = ((timeval_ms()-then) > 1000))) {
if (buf_get_u32(dbg_stat->value, EICE_DBG_STATUS_DBGACK, 1) == 0) {

View File

@ -634,8 +634,8 @@ int arm7_9_execute_sys_speed(struct target *target)
if (retval != ERROR_OK)
return retval;
long long then = timeval_ms();
int timeout;
int64_t then = timeval_ms();
bool timeout;
while (!(timeout = ((timeval_ms()-then) > 1000))) {
/* read debug status register */
embeddedice_read_reg(dbg_stat);

View File

@ -751,8 +751,8 @@ int arm920t_soft_reset_halt(struct target *target)
if (retval != ERROR_OK)
return retval;
long long then = timeval_ms();
int timeout;
int64_t then = timeval_ms();
bool timeout;
while (!(timeout = ((timeval_ms()-then) > 1000))) {
if (buf_get_u32(dbg_stat->value, EICE_DBG_STATUS_DBGACK, 1) == 0) {
embeddedice_read_reg(dbg_stat);

View File

@ -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);
long long then = timeval_ms();
int64_t then = timeval_ms();
for (;;) {
/* 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);
long long then = timeval_ms();
int64_t then = timeval_ms();
for (;;) {
/* 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)
return retval;
long long then = timeval_ms();
int64_t then = timeval_ms();
int timeout;
while (!(timeout = ((timeval_ms()-then) > 1000))) {
if (buf_get_u32(dbg_stat->value, EICE_DBG_STATUS_DBGACK, 1) == 0) {

View File

@ -86,7 +86,7 @@ struct mips32_pracc_context {
static int wait_for_pracc_rw(struct mips_ejtag *ejtag_info, uint32_t *ctrl)
{
uint32_t ejtag_ctrl;
long long then = timeval_ms();
int64_t then = timeval_ms();
/* wait for the PrAcc to become "1" */
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)
break;
int timeout = timeval_ms() - then;
int64_t timeout = timeval_ms() - then;
if (timeout > 1000) {
LOG_DEBUG("DEBUGMODULE: No memory access in progress!");
return ERROR_JTAG_DEVICE_ERROR;

View File

@ -532,7 +532,7 @@ int target_poll(struct target *target)
if (target->state == TARGET_HALTED)
target->halt_issued = false;
else {
long long t = timeval_ms() - target->halt_issued_time;
int64_t t = timeval_ms() - target->halt_issued_time;
if (t > DEFAULT_HALT_TIMEOUT) {
target->halt_issued = false;
LOG_INFO("Halt timed out, wake up GDB.");
@ -2446,9 +2446,9 @@ static int sense_handler(void)
if (powerRestored)
runPowerRestore = 1;
long long current = timeval_ms();
static long long lastPower;
int waitMore = lastPower + 2000 > current;
int64_t current = timeval_ms();
static int64_t lastPower;
bool waitMore = lastPower + 2000 > current;
if (powerDropout && !waitMore) {
runPowerDropout = 1;
lastPower = current;
@ -2461,7 +2461,7 @@ static int sense_handler(void)
int srstDeasserted;
srstDeasserted = prevSrstAsserted && !srstAsserted;
static long long lastSrst;
static int64_t lastSrst;
waitMore = lastSrst + 2000 > current;
if (srstDeasserted && !waitMore) {
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 retval;
long long then = 0, cur;
int once = 1;
int64_t then = 0, cur;
bool once = true;
for (;;) {
retval = target_poll(target);
@ -2782,7 +2782,7 @@ int target_wait_state(struct target *target, enum target_state state, int ms)
break;
cur = timeval_ms();
if (once) {
once = 0;
once = false;
then = timeval_ms();
LOG_DEBUG("waiting for target %s...",
Jim_Nvp_value2name_simple(nvp_target_state, state)->name);
@ -5664,7 +5664,7 @@ COMMAND_HANDLER(handle_fast_load_command)
return ERROR_FAIL;
}
int i;
int ms = timeval_ms();
int64_t ms = timeval_ms();
int size = 0;
int retval = ERROR_OK;
for (i = 0; i < fastload_num; i++) {
@ -5678,7 +5678,7 @@ COMMAND_HANDLER(handle_fast_load_command)
size += fastload[i].length;
}
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));
}
return retval;

View File

@ -175,7 +175,7 @@ struct target {
int display; /* display async info in telnet session. Do not display
* lots of halted/resumed info when stepping in debugger. */
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 */
uint32_t dbgbase; /* Really a Cortex-A specific option, but there is no