forked from auracaster/openocd
target/smp: use a struct list_head to hold the smp targets
Instead of reinventing a simply linked list, reuse the list helper for the list of targets in a smp cluster. Using the existing helper, that implements a double linked list, makes trivial going through the list in reverse order. Change-Id: Ib36ad2955f15cd2a601b0b9e36ca6d948b12d00f Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com> Reviewed-on: https://review.openocd.org/c/openocd/+/6783 Tested-by: jenkins
This commit is contained in:
@@ -2280,7 +2280,7 @@ static int smp_reg_list_noread(struct target *target,
|
||||
*combined_list_size = 0;
|
||||
|
||||
struct target_list *head;
|
||||
foreach_smp_target(head, target->head) {
|
||||
foreach_smp_target(head, target->smp_targets) {
|
||||
struct reg **reg_list = NULL;
|
||||
int reg_list_size;
|
||||
int result = target_get_gdb_reg_list_noread(head->target, ®_list,
|
||||
@@ -2330,7 +2330,7 @@ static int smp_reg_list_noread(struct target *target,
|
||||
}
|
||||
|
||||
/* Now warn the user about any registers that weren't found in every target. */
|
||||
foreach_smp_target(head, target->head) {
|
||||
foreach_smp_target(head, target->smp_targets) {
|
||||
struct reg **reg_list = NULL;
|
||||
int reg_list_size;
|
||||
int result = target_get_gdb_reg_list_noread(head->target, ®_list,
|
||||
@@ -3659,13 +3659,10 @@ static int gdb_target_start(struct target *target, const char *port)
|
||||
/* initialize all targets gdb service with the same pointer */
|
||||
{
|
||||
struct target_list *head;
|
||||
struct target *curr;
|
||||
head = target->head;
|
||||
while (head) {
|
||||
curr = head->target;
|
||||
foreach_smp_target(head, target->smp_targets) {
|
||||
struct target *curr = head->target;
|
||||
if (curr != target)
|
||||
curr->gdb_service = gdb_service;
|
||||
head = head->next;
|
||||
}
|
||||
}
|
||||
return ret;
|
||||
|
||||
Reference in New Issue
Block a user