Audit and eliminate redundant #include directives in other target files.
[fw/openocd] / src / target / oocd_trace.c
index ff63820a2e4292886e50ac442fb9d8dd40e9e779..dc96d13fc44039c8024febcfca0e45665f77fb38 100644 (file)
 #include "config.h"
 #endif
 
-#include <string.h>
-#include <errno.h>
+// we must define _GNU_SOURCE to get strndup
+#ifndef _GNU_SOURCE
+#define _GNU_SOURCE
+#endif
 
 #include "oocd_trace.h"
-#include "etm.h"
-
-#include "log.h"
-#include "types.h"
-#include "binarybuffer.h"
-#include "target.h"
-#include "register.h"
-#include "jtag.h"
 #include "arm7_9_common.h"
 
-#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;
@@ -52,33 +47,33 @@ int oocd_trace_read_reg(oocd_trace_t *oocd_trace, int reg, u32 *value)
                bytes_to_read -= bytes_read;
        }
 
-       DEBUG("reg #%i: 0x%8.8x\n", reg, *value);
+       LOG_DEBUG("reg #%i: 0x%8.8x\n", reg, *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);
-    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;
-       int i;
 
        oocd_trace_write_reg(oocd_trace, OOCD_TRACE_ADDRESS, address);
        oocd_trace_write_reg(oocd_trace, OOCD_TRACE_SDRAM_COUNTER, size);
@@ -92,7 +87,7 @@ int oocd_trace_read_memory(oocd_trace_t *oocd_trace, u8 *data, u32 address, u32
                if ((bytes_read = read(oocd_trace->tty_fd,
                                ((u8*)data) + (size * 16) - bytes_to_read, bytes_to_read)) < 0)
                {
-                       DEBUG("read() returned %i (%s)", bytes_read, strerror(errno));
+                       LOG_DEBUG("read() returned %zi (%s)", bytes_read, strerror(errno));
                }
                else
                        bytes_to_read -= bytes_read;
@@ -101,17 +96,17 @@ 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;
-       size_t bytes_written, bytes_read, bytes_to_read;
+       size_t bytes_read;
        
        oocd_trace->tty_fd = open(oocd_trace->tty, O_RDWR | O_NOCTTY | O_NONBLOCK);
 
        if(oocd_trace->tty_fd < 0)
        {
-               ERROR("can't open tty");
+               LOG_ERROR("can't open tty");
                return ERROR_ETM_CAPTURE_INIT_FAILED;
        }
 
@@ -142,13 +137,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)
        {
-           DEBUG("%i bytes read\n", bytes_read);
+               LOG_DEBUG("%zi 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;
@@ -180,17 +175,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,
@@ -238,7 +233,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 */
@@ -247,7 +242,7 @@ int oocd_trace_start_capture(etm_context_t *etm_ctx)
        if (((etm_ctx->portmode & ETM_PORT_MODE_MASK) != ETM_PORT_NORMAL)
                || ((etm_ctx->portmode & ETM_PORT_WIDTH_MASK) != ETM_PORT_4BIT))
        {
-               DEBUG("OpenOCD+trace only supports normal 4-bit ETM mode");
+               LOG_DEBUG("OpenOCD+trace only supports normal 4-bit ETM mode");
                return ERROR_ETM_PORTMODE_NOT_SUPPORTED;
        }
        
@@ -271,7 +266,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;
 
@@ -294,7 +289,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;
@@ -302,7 +297,7 @@ int handle_oocd_trace_config_command(struct command_context_s *cmd_ctx, char *cm
        
        if (argc != 2)
        {
-               ERROR("incomplete 'oocd_trace config <target> <tty>' command");
+               LOG_ERROR("incomplete 'oocd_trace config <target> <tty>' command");
                exit(-1);
        }
        
@@ -326,13 +321,13 @@ int handle_oocd_trace_config_command(struct command_context_s *cmd_ctx, char *cm
        }
        else
        {
-               ERROR("target has no ETM defined, OpenOCD+trace left unconfigured");
+               LOG_ERROR("target has no ETM defined, OpenOCD+trace left unconfigured");
        }
 
        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;
@@ -372,13 +367,12 @@ 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;
        arm7_9_common_t *arm7_9;
        oocd_trace_t *oocd_trace;
-       u32 status;
        size_t bytes_written;
        u8 cmd_array[1];
        
@@ -409,7 +403,7 @@ int handle_oocd_trace_resync_command(struct command_context_s *cmd_ctx, char *cm
        bytes_written = write(oocd_trace->tty_fd, cmd_array, 1);
        
        command_print(cmd_ctx, "requesting traceclock resync");
-       DEBUG("resyncing traceclk pll");
+       LOG_DEBUG("resyncing traceclk pll");
 
        return ERROR_OK;
 }