etb: fix incorrect previous patchset
authorJie Zhang <jzhang918@gmail.com>
Mon, 1 Aug 2011 16:15:19 +0000 (17:15 +0100)
committerSpencer Oliver <ntfreak@users.sourceforge.net>
Mon, 1 Aug 2011 16:16:10 +0000 (17:16 +0100)
This corrects two issues found with openocd.
d7f71e7fe9645fa8c3f88cf6fc9ad438aa6708f3 removed some code that was
being used.

The above then caused even more code to get removed by commit 1cfb2287a67c1f78b76583b2e5ed83ca3560b0d5.

Signed-off-by: Spencer Oliver <ntfreak@users.sourceforge.net>
src/target/etb.c
src/target/smp.c

index 3cb225468d66a6a551f7a88e530120c6551f7742..974ab2b5c9f7585eb1259c688e9faf0ce28d04f5 100644 (file)
@@ -304,20 +304,32 @@ static int etb_write_reg(struct reg *reg, uint32_t value)
 {
        struct etb_reg *etb_reg = reg->arch_info;
        uint8_t reg_addr = etb_reg->addr & 0x7f;
+       struct scan_field fields[3];
 
        LOG_DEBUG("%i: 0x%8.8" PRIx32 "", (int)(etb_reg->addr), value);
 
        etb_scann(etb_reg->etb, 0x0);
        etb_set_instr(etb_reg->etb, 0xc);
 
+       fields[0].num_bits = 32;
        uint8_t temp0[4];
+       fields[0].out_value = temp0;
        buf_set_u32(&temp0, 0, 32, value);
+       fields[0].in_value = NULL;
 
+       fields[1].num_bits = 7;
        uint8_t temp1;
+       fields[1].out_value = &temp1;
        buf_set_u32(&temp1, 0, 7, reg_addr);
+       fields[1].in_value = NULL;
 
+       fields[2].num_bits = 1;
        uint8_t temp2;
+       fields[2].out_value = &temp2;
        buf_set_u32(&temp2, 0, 1, 1);
+       fields[2].in_value = NULL;
+
+       jtag_add_dr_scan(etb_reg->etb->tap, 3, fields, TAP_IDLE);
 
        return ERROR_OK;
 }
index f4adc8d05aece861ef660b33c63c04c229aacfc7..ec157d36105b198c68971d00bf71b8ec58d524c7 100644 (file)
@@ -79,7 +79,7 @@ int gdb_read_smp_packet(struct connection *connection,
                                hex_buffer[2 * i + 1] = DIGITS[t & 0xf];
                        }
 
-                       gdb_put_packet(connection, hex_buffer, len * 2);
+                       retval = gdb_put_packet(connection, hex_buffer, len * 2);
 
                        free(hex_buffer);
                }
@@ -95,6 +95,7 @@ int gdb_write_smp_packet(struct connection *connection,
 {
        char *separator;
        int coreid = 0;
+       int retval = ERROR_OK;
 
        /* skip command character */
        if (target->smp)
@@ -104,13 +105,13 @@ int gdb_write_smp_packet(struct connection *connection,
                        packet+=2;
                        coreid = strtoul(packet, &separator, 16);
                        target->gdb_service->core[1] = coreid;
-                       gdb_put_packet(connection, "OK", 2);
+                       retval = gdb_put_packet(connection, "OK", 2);
                }
        }
        else
        {
-               gdb_put_packet(connection,"E01",3);
+               retval = gdb_put_packet(connection,"E01",3);
        }
 
-       return ERROR_OK;
+       return retval;
 }

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)