Fix usage of timeval_ms() 99/3499/2
authorAndreas Färber <afaerber@suse.de>
Sun, 22 May 2016 02:34:04 +0000 (04:34 +0200)
committerAndreas Fritiofson <andreas.fritiofson@gmail.com>
Tue, 19 Jul 2016 09:45:16 +0000 (10:45 +0100)
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>
26 files changed:
src/flash/nor/aduc702x.c
src/flash/nor/aducm360.c
src/flash/nor/at91sam3.c
src/flash/nor/at91sam4.c
src/flash/nor/atsamv.c
src/flash/nor/jtagspi.c
src/flash/nor/lpcspifi.c
src/flash/nor/stmsmi.c
src/helper/command.c
src/helper/log.c
src/helper/time_support_common.c
src/jtag/aice/aice_pipe.c
src/jtag/aice/aice_usb.c
src/jtag/tcl.c
src/jtag/zy1000/zy1000.c
src/svf/svf.c
src/target/adi_v5_jtag.c
src/target/arm11.c
src/target/arm11_dbgtap.c
src/target/arm720t.c
src/target/arm7_9_common.c
src/target/arm920t.c
src/target/arm926ejs.c
src/target/mips32_pracc.c
src/target/target.c
src/target/target.h

index fa1aeb4..34cc362 100644 (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)
index 0f85254..8681a25 100644 (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)
index 69b8e3d..1536378 100644 (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)
index 8431729..50aa98b 100644 (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)
index 0658c59..d21419d 100644 (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;
index 0ba4dc2..a995fc7 100644 (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;
 }
 
index 94a8ccf..4eb6cc3 100644 (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 {
index e4d59fe..781ea3b 100644 (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 {
index bd7113a..fc4aac7 100644 (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);
                }
index 50a3bd7..79cbd8e 100644 (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);
        }
index e8cdc2c..b733c27 100644 (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);
index 64f126d..18ad40e 100644 (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();
 
index f5b9953..b27f720 100644 (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();
 
index e4d6329..bc6bbf2 100644 (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");
index 271a281..67d9907 100644 (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;
                }
        }
index 5f95b0c..e7e815c 100644 (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);
index 272d308..36d5cad 100644 (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 */
index 32c244f..5f16073 100644 (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) {
index 96e6891..2232b3e 100644 (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();
index 49b72fe..3991e19 100644 (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) {
index 6ee2b92..c1d5c79 100644 (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);
index aafc44a..2c96d19 100644 (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);
index 397859b..d7c043e 100644 (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) {
index 5c27f0a..7cc0424 100644 (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;
index d71828c..084aea8 100644 (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;
index bce3110..0cee117 100644 (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