This is an automated email from Gerrit.

Tarek BOCHKATI ([email protected]) just uploaded a new patch set to 
Gerrit, which you can find at http://openocd.zylin.com/4832

-- gerrit

commit 339e2b674c16c251acdb5b3667ae6b6bb9ce659a
Author: Tarek BOCHKATI <[email protected]>
Date:   Thu Jan 3 18:16:45 2019 +0100

    cortex_a_poll: minor code factorization to enhance readability
    
    cortex_a_debug_entry and update_halt_gdb are called in two consecutive
    conditions which are complementary, so externalizing the common code
    makes the conditions' body lighter
    
    Change-Id: I0c54e413619576bb3af164f2dcf256c5a862c5fd
    Signed-off-by: Tarek BOCHKATI <[email protected]>

diff --git a/src/target/cortex_a.c b/src/target/cortex_a.c
index 0a55a20..4280d8d 100644
--- a/src/target/cortex_a.c
+++ b/src/target/cortex_a.c
@@ -725,38 +725,26 @@ static int cortex_a_poll(struct target *target)
                        /* We have a halting debug event */
                        LOG_DEBUG("Target halted");
                        target->state = TARGET_HALTED;
-                       if ((prev_target_state == TARGET_RUNNING)
-                               || (prev_target_state == TARGET_UNKNOWN)
-                               || (prev_target_state == TARGET_RESET)) {
-                               retval = cortex_a_debug_entry(target);
-                               if (retval != ERROR_OK)
-                                       return retval;
-                               if (target->smp) {
-                                       retval = update_halt_gdb(target);
-                                       if (retval != ERROR_OK)
-                                               return retval;
-                               }
 
-                               if (arm_semihosting(target, &retval) != 0)
-                                       return retval;
+                       retval = cortex_a_debug_entry(target);
+                       if (retval != ERROR_OK)
+                               return retval;
 
-                               target_call_event_callbacks(target,
-                                       TARGET_EVENT_HALTED);
+                       if (target->smp) {
+                               retval = update_halt_gdb(target);
+                               if (retval != ERROR_OK)
+                                       return retval;
                        }
+
                        if (prev_target_state == TARGET_DEBUG_RUNNING) {
                                LOG_DEBUG(" ");
-
-                               retval = cortex_a_debug_entry(target);
-                               if (retval != ERROR_OK)
+                               target_call_event_callbacks(target, 
TARGET_EVENT_DEBUG_HALTED);
+                       } else { /* prev_target_state is RUNNING, UNKNOWN or 
RESET */
+                               if (arm_semihosting(target, &retval) != 0)
                                        return retval;
-                               if (target->smp) {
-                                       retval = update_halt_gdb(target);
-                                       if (retval != ERROR_OK)
-                                               return retval;
-                               }
 
                                target_call_event_callbacks(target,
-                                       TARGET_EVENT_DEBUG_HALTED);
+                                       TARGET_EVENT_HALTED);
                        }
                }
        } else

-- 


_______________________________________________
OpenOCD-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openocd-devel

Reply via email to