Propagate error from assert, deassert and halt on tcl target object.
[openocd.git] / src / target / arm11_dbgtap.c
index b08d3009a39ad8ddd41eb70d3cd41ff08fd7e206..57685cfd7e421d9ded249eacbe60ab5f30fb4ed2 100644 (file)
@@ -585,7 +585,8 @@ int arm11_run_instr_data_to_core_noack(arm11_common_t * arm11, uint32_t opcode,
        arm11_setup_field(arm11,  1,    NULL,                   NULL,                           chain5_fields + 2);
 
        uint8_t                 *Readies;
-       int bytes = sizeof(*Readies)*(count + 1);
+       size_t readiesNum = (count + 1);
+       size_t bytes = sizeof(*Readies)*readiesNum;
        Readies = (uint8_t *) malloc(bytes);
        if (Readies == NULL)
        {
@@ -622,10 +623,9 @@ int arm11_run_instr_data_to_core_noack(arm11_common_t * arm11, uint32_t opcode,
        int retval = jtag_execute_queue();
        if (retval == ERROR_OK)
        {
-
                size_t error_count = 0;
 
-               for (size_t i = 0; i < asizeof(Readies); i++)
+               for (size_t i = 0; i < readiesNum; i++)
                {
                        if (Readies[i] != 1)
                        {
@@ -633,8 +633,8 @@ int arm11_run_instr_data_to_core_noack(arm11_common_t * arm11, uint32_t opcode,
                        }
                }
 
-               if (error_count)
-                       LOG_ERROR("Transfer errors " ZU, error_count);
+               if (error_count > 0 )
+                       LOG_ERROR(ZU " words out of " ZU " not transferred", error_count, readiesNum);
 
        }
 
@@ -925,7 +925,10 @@ void arm11_sc7_set_vcr(arm11_common_t * arm11, uint32_t value)
  */
 int arm11_read_memory_word(arm11_common_t * arm11, uint32_t address, uint32_t * result)
 {
-       arm11_run_instr_data_prepare(arm11);
+       int retval;
+       retval = arm11_run_instr_data_prepare(arm11);
+       if (retval != ERROR_OK)
+               return retval;
 
        /* MRC p14,0,r0,c0,c5,0 (r0 = address) */
        CHECK_RETVAL(arm11_run_instr_data_to_core1(arm11, 0xee100e15, address));
@@ -933,9 +936,7 @@ int arm11_read_memory_word(arm11_common_t * arm11, uint32_t address, uint32_t *
        /* LDC p14,c5,[R0],#4 (DTR = [r0]) */
        CHECK_RETVAL(arm11_run_instr_data_from_core(arm11, 0xecb05e01, result, 1));
 
-       arm11_run_instr_data_finish(arm11);
-
-       return ERROR_OK;
+       return arm11_run_instr_data_finish(arm11);
 }
 
 

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)