Update autotools scripts to require automake 1.6. The configure.in script
[openocd.git] / src / target / oocd_trace.c
index 2b21e7fd5a323ec7a239369f099a5235ca169dd3..fe9927f812bb67969b689c43db700687526b9d49 100644 (file)
@@ -21,7 +21,9 @@
 #include "config.h"
 #endif
 
+#ifndef _GNU_SOURCE
 #define _GNU_SOURCE
+#endif
 #include <string.h>
 #include <errno.h>
 
@@ -39,7 +41,9 @@
 
 #include <stdlib.h>
 
-int oocd_trace_read_reg(oocd_trace_t *oocd_trace, int reg, u32 *value)
+static int oocd_trace_register_commands(struct command_context_s *cmd_ctx);
+
+static int oocd_trace_read_reg(oocd_trace_t *oocd_trace, int reg, u32 *value)
 {
        size_t bytes_written, bytes_read, bytes_to_read;
        u8 cmd;
@@ -59,26 +63,27 @@ int oocd_trace_read_reg(oocd_trace_t *oocd_trace, int reg, u32 *value)
        return ERROR_OK;
 }
 
-int oocd_trace_write_reg(oocd_trace_t *oocd_trace, int reg, u32 value)
+static int oocd_trace_write_reg(oocd_trace_t *oocd_trace, int reg, u32 value)
 {
-    size_t bytes_written;
-    u8 data[5];
+       size_t bytes_written;
+       u8 data[5];
 
-    data[0] = 0x18 | (reg & 0x7);
-    data[1] = value & 0xff;
-    data[2] = (value & 0xff00) >> 8;
-    data[3] = (value & 0xff0000) >> 16;
-    data[4] = (value & 0xff000000) >> 24;
+       data[0] = 0x18 | (reg & 0x7);
+       data[1] = value & 0xff;
+       data[2] = (value & 0xff00) >> 8;
+       data[3] = (value & 0xff0000) >> 16;
+       data[4] = (value & 0xff000000) >> 24;
 
-    bytes_written = write(oocd_trace->tty_fd, data, 5);
-    LOG_DEBUG("reg #%i: 0x%8.8x\n", reg, value);
+       bytes_written = write(oocd_trace->tty_fd, data, 5);
+       LOG_DEBUG("reg #%i: 0x%8.8x\n", reg, value);
 
-    return ERROR_OK;
+       return ERROR_OK;
 }
 
-int oocd_trace_read_memory(oocd_trace_t *oocd_trace, u8 *data, u32 address, u32 size)
+static int oocd_trace_read_memory(oocd_trace_t *oocd_trace, u8 *data, u32 address, u32 size)
 {
-       size_t bytes_written, bytes_read, bytes_to_read;
+       size_t bytes_written, bytes_to_read;
+       ssize_t bytes_read;
        u8 cmd;
 
        oocd_trace_write_reg(oocd_trace, OOCD_TRACE_ADDRESS, address);
@@ -102,7 +107,7 @@ int oocd_trace_read_memory(oocd_trace_t *oocd_trace, u8 *data, u32 address, u32
        return ERROR_OK;
 }
 
-int oocd_trace_init(etm_context_t *etm_ctx)
+static int oocd_trace_init(etm_context_t *etm_ctx)
 {
        u8 trash[256];
        oocd_trace_t *oocd_trace = etm_ctx->capture_driver_priv;
@@ -143,13 +148,13 @@ int oocd_trace_init(etm_context_t *etm_ctx)
         * read up any leftover characters to ensure communication is in sync */
        while ((bytes_read = read(oocd_trace->tty_fd, trash, sizeof(trash))) > 0)
        {
-           LOG_DEBUG("%i bytes read\n", bytes_read);
+               LOG_DEBUG("%i bytes read\n", bytes_read);
        };
        
        return ERROR_OK;
 }
 
-trace_status_t oocd_trace_status(etm_context_t *etm_ctx)
+static trace_status_t oocd_trace_status(etm_context_t *etm_ctx)
 {
        oocd_trace_t *oocd_trace = etm_ctx->capture_driver_priv;
        u32 status;
@@ -181,17 +186,17 @@ trace_status_t oocd_trace_status(etm_context_t *etm_ctx)
        return etm_ctx->capture_status;
 }
 
-int oocd_trace_read_trace(etm_context_t *etm_ctx)
+static int oocd_trace_read_trace(etm_context_t *etm_ctx)
 {
        oocd_trace_t *oocd_trace = etm_ctx->capture_driver_priv;
        u32 status, address;
        u32 first_frame = 0x0;
        u32 num_frames = 1048576;
        u8 *trace_data;
-       int i;
+       u32 i;
 
-    oocd_trace_read_reg(oocd_trace, OOCD_TRACE_STATUS, &status);
-    oocd_trace_read_reg(oocd_trace, OOCD_TRACE_ADDRESS, &address);
+       oocd_trace_read_reg(oocd_trace, OOCD_TRACE_STATUS, &status);
+       oocd_trace_read_reg(oocd_trace, OOCD_TRACE_ADDRESS, &address);
 
        /* check if we overflowed, and adjust first frame of the trace accordingly
         * if we didn't overflow, read only up to the frame that would be written next,
@@ -239,7 +244,7 @@ int oocd_trace_read_trace(etm_context_t *etm_ctx)
        return ERROR_OK;
 }
 
-int oocd_trace_start_capture(etm_context_t *etm_ctx)
+static int oocd_trace_start_capture(etm_context_t *etm_ctx)
 {
        oocd_trace_t *oocd_trace = etm_ctx->capture_driver_priv;
        u32 control = 0x1;      /* 0x1: enabled */
@@ -272,7 +277,7 @@ int oocd_trace_start_capture(etm_context_t *etm_ctx)
        return ERROR_OK; 
 }
 
-int oocd_trace_stop_capture(etm_context_t *etm_ctx)
+static int oocd_trace_stop_capture(etm_context_t *etm_ctx)
 {
        oocd_trace_t *oocd_trace = etm_ctx->capture_driver_priv;
 
@@ -295,7 +300,7 @@ etm_capture_driver_t oocd_trace_capture_driver =
        .read_trace = oocd_trace_read_trace,
 };
 
-int handle_oocd_trace_config_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc)
+static int handle_oocd_trace_config_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc)
 {
        target_t *target;
        armv4_5_common_t *armv4_5;
@@ -333,7 +338,7 @@ int handle_oocd_trace_config_command(struct command_context_s *cmd_ctx, char *cm
        return ERROR_OK;
 }
 
-int handle_oocd_trace_status_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc)
+static int handle_oocd_trace_status_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc)
 {
        target_t *target;
        armv4_5_common_t *armv4_5;
@@ -373,7 +378,7 @@ int handle_oocd_trace_status_command(struct command_context_s *cmd_ctx, char *cm
        return ERROR_OK;
 }
 
-int handle_oocd_trace_resync_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc)
+static int handle_oocd_trace_resync_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc)
 {
        target_t *target;
        armv4_5_common_t *armv4_5;

Linking to existing account procedure

If you already have an account and want to add another login method you MUST first sign in with your existing account and then change URL to read https://review.openocd.org/login/?link to get to this page again but this time it'll work for linking. Thank you.

SSH host keys fingerprints

1024 SHA256:YKx8b7u5ZWdcbp7/4AeXNaqElP49m6QrwfXaqQGJAOk gerrit-code-review@openocd.zylin.com (DSA)
384 SHA256:jHIbSQa4REvwCFG4cq5LBlBLxmxSqelQPem/EXIrxjk gerrit-code-review@openocd.org (ECDSA)
521 SHA256:UAOPYkU9Fjtcao0Ul/Rrlnj/OsQvt+pgdYSZ4jOYdgs gerrit-code-review@openocd.org (ECDSA)
256 SHA256:A13M5QlnozFOvTllybRZH6vm7iSt0XLxbA48yfc2yfY gerrit-code-review@openocd.org (ECDSA)
256 SHA256:spYMBqEYoAOtK7yZBrcwE8ZpYt6b68Cfh9yEVetvbXg gerrit-code-review@openocd.org (ED25519)
+--[ED25519 256]--+
|=..              |
|+o..   .         |
|*.o   . .        |
|+B . . .         |
|Bo. = o S        |
|Oo.+ + =         |
|oB=.* = . o      |
| =+=.+   + E     |
|. .=o   . o      |
+----[SHA256]-----+
2048 SHA256:0Onrb7/PHjpo6iVZ7xQX2riKN83FJ3KGU0TvI0TaFG4 gerrit-code-review@openocd.zylin.com (RSA)