- remove environ warning under win32 build
[fw/openocd] / src / target / etm.c
index c3750557d032a4b619ef352c3615c0f9171ac920..06b97fe39f34dcfa6c445eca4223f1fbb474694f 100644 (file)
@@ -335,11 +335,11 @@ int etm_read_reg_w_check(reg_t *reg, u8* check_value, u8* check_mask)
 
        LOG_DEBUG("%i", etm_reg->addr);
 
-       jtag_add_end_state(TAP_RTI);
+       jtag_add_end_state(TAP_IDLE);
        arm_jtag_scann(etm_reg->jtag_info, 0x6);
        arm_jtag_set_instr(etm_reg->jtag_info, etm_reg->jtag_info->intest_instr, NULL);
 
-       fields[0].device = etm_reg->jtag_info->chain_pos;
+       fields[0].tap = etm_reg->jtag_info->tap;
        fields[0].num_bits = 32;
        fields[0].out_value = reg->value;
        fields[0].out_mask = NULL;
@@ -349,7 +349,7 @@ int etm_read_reg_w_check(reg_t *reg, u8* check_value, u8* check_mask)
        fields[0].in_handler = NULL;
        fields[0].in_handler_priv = NULL;
 
-       fields[1].device = etm_reg->jtag_info->chain_pos;
+       fields[1].tap = etm_reg->jtag_info->tap;
        fields[1].num_bits = 7;
        fields[1].out_value = malloc(1);
        buf_set_u32(fields[1].out_value, 0, 7, reg_addr);
@@ -360,7 +360,7 @@ int etm_read_reg_w_check(reg_t *reg, u8* check_value, u8* check_mask)
        fields[1].in_handler = NULL;
        fields[1].in_handler_priv = NULL;
 
-       fields[2].device = etm_reg->jtag_info->chain_pos;
+       fields[2].tap = etm_reg->jtag_info->tap;
        fields[2].num_bits = 1;
        fields[2].out_value = malloc(1);
        buf_set_u32(fields[2].out_value, 0, 1, 0);
@@ -371,12 +371,12 @@ int etm_read_reg_w_check(reg_t *reg, u8* check_value, u8* check_mask)
        fields[2].in_handler = NULL;
        fields[2].in_handler_priv = NULL;
 
-       jtag_add_dr_scan(3, fields, -1);
+       jtag_add_dr_scan(3, fields, TAP_INVALID);
 
        fields[0].in_value = reg->value;
        jtag_set_check_value(fields+0, check_value, check_mask, NULL);
 
-       jtag_add_dr_scan(3, fields, -1);
+       jtag_add_dr_scan(3, fields, TAP_INVALID);
 
        free(fields[1].out_value);
        free(fields[2].out_value);
@@ -426,11 +426,11 @@ int etm_write_reg(reg_t *reg, u32 value)
 
        LOG_DEBUG("%i: 0x%8.8x", etm_reg->addr, value);
 
-       jtag_add_end_state(TAP_RTI);
+       jtag_add_end_state(TAP_IDLE);
        arm_jtag_scann(etm_reg->jtag_info, 0x6);
        arm_jtag_set_instr(etm_reg->jtag_info, etm_reg->jtag_info->intest_instr, NULL);
 
-       fields[0].device = etm_reg->jtag_info->chain_pos;
+       fields[0].tap = etm_reg->jtag_info->tap;
        fields[0].num_bits = 32;
        fields[0].out_value = malloc(4);
        buf_set_u32(fields[0].out_value, 0, 32, value);
@@ -441,7 +441,7 @@ int etm_write_reg(reg_t *reg, u32 value)
        fields[0].in_handler = NULL;
        fields[0].in_handler_priv = NULL;
 
-       fields[1].device = etm_reg->jtag_info->chain_pos;
+       fields[1].tap = etm_reg->jtag_info->tap;
        fields[1].num_bits = 7;
        fields[1].out_value = malloc(1);
        buf_set_u32(fields[1].out_value, 0, 7, reg_addr);
@@ -452,7 +452,7 @@ int etm_write_reg(reg_t *reg, u32 value)
        fields[1].in_handler = NULL;
        fields[1].in_handler_priv = NULL;
 
-       fields[2].device = etm_reg->jtag_info->chain_pos;
+       fields[2].tap = etm_reg->jtag_info->tap;
        fields[2].num_bits = 1;
        fields[2].out_value = malloc(1);
        buf_set_u32(fields[2].out_value, 0, 1, 1);
@@ -463,7 +463,7 @@ int etm_write_reg(reg_t *reg, u32 value)
        fields[2].in_handler = NULL;
        fields[2].in_handler_priv = NULL;
 
-       jtag_add_dr_scan(3, fields, -1);
+       jtag_add_dr_scan(3, fields, TAP_INVALID);
 
        free(fields[0].out_value);
        free(fields[1].out_value);
@@ -647,7 +647,7 @@ int etmv1_branch_address(etm_context_t *ctx)
        u8 packet;
        int shift = 0;
        int apo;
-       int i;
+       u32 i;
 
        /* quit analysis if less than two cycles are left in the trace
         * because we can't extract the APO */
@@ -883,7 +883,7 @@ int etmv1_analyze_trace(etm_context_t *ctx, struct command_context_s *cmd_ctx)
                                continue;
 
                        /* indirect branch to the exception vector means an exception occured */
-                       if (((ctx->last_branch >= 0x0) && (ctx->last_branch <= 0x20))
+                       if ((ctx->last_branch <= 0x20)
                                || ((ctx->last_branch >= 0xffff0000) && (ctx->last_branch <= 0xffff0020)))
                        {
                                if ((ctx->last_branch & 0xff) == 0x10)
@@ -998,7 +998,7 @@ int etmv1_analyze_trace(etm_context_t *ctx, struct command_context_s *cmd_ctx)
                        if (((instruction.type == ARM_B) ||
                                (instruction.type == ARM_BL) ||
                                (instruction.type == ARM_BLX)) &&
-                               (instruction.info.b_bl_bx_blx.target_address != -1))
+                               (instruction.info.b_bl_bx_blx.target_address != ~0UL))
                        {
                                next_pc = instruction.info.b_bl_bx_blx.target_address;
                        }
@@ -1543,7 +1543,7 @@ int handle_etm_dump_command(struct command_context_s *cmd_ctx, char *cmd, char *
        armv4_5_common_t *armv4_5;
        arm7_9_common_t *arm7_9;
        etm_context_t *etm_ctx;
-       int i;
+       u32 i;
 
        if (argc != 1)
        {
@@ -1611,7 +1611,7 @@ int handle_etm_load_command(struct command_context_s *cmd_ctx, char *cmd, char *
        armv4_5_common_t *armv4_5;
        arm7_9_common_t *arm7_9;
        etm_context_t *etm_ctx;
-       int i;
+       u32 i;
 
        if (argc != 1)
        {