X-Git-Url: https://review.openocd.org/gitweb?a=blobdiff_plain;f=src%2Ftarget%2Ftarget.h;h=74f74dee1504f97756df3b2f1cbdb1d53623ddf4;hb=b778b36f29b74d6d571df85f984ae684672ea162;hp=fd7de560e3e375c113b7144a8b0852a838b63ab4;hpb=2615bf4398f393ee1e387128064093dcd44749c8;p=openocd.git diff --git a/src/target/target.h b/src/target/target.h index fd7de560e3..74f74dee15 100644 --- a/src/target/target.h +++ b/src/target/target.h @@ -8,6 +8,12 @@ * Copyright (C) 2008 by Spencer Oliver * * spen@spen-soft.co.uk * * * + * Copyright (C) 2011 by Broadcom Corporation * + * Evan Hunter - ehunter@broadcom.com * + * * + * Copyright (C) ST-Ericsson SA 2011 * + * michel.jaouen@stericsson.com : smp minimum support * + * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * * the Free Software Foundation; either version 2 of the License, or * @@ -35,7 +41,7 @@ struct breakpoint; struct watchpoint; struct mem_param; struct reg_param; - +struct target_list; /* * TARGET_UNKNOWN = 0: we don't know anything about the target yet @@ -99,6 +105,17 @@ struct working_area struct working_area **user; struct working_area *next; }; + +struct gdb_service +{ + struct target *target; + /* field for smp display */ + /* element 0 coreid currently displayed ( 1 till n) */ + /* element 1 coreid to be displayed at next resume 1 till n 0 means resume + * all cores + core displayed */ + int32_t core[2]; +}; // target_type.h contains the full definitionof struct targe_type struct target @@ -107,7 +124,7 @@ struct target const char *cmd_name; /* tcl Name of target */ int target_number; /* DO NOT USE! field to be removed in 2010 */ struct jtag_tap *tap; /* where on the jtag chain is this */ - int coreid; /* which device on the TAP? */ + int32_t coreid; /* which device on the TAP? */ const char *variant; /* what variant of this chip is it? */ /** @@ -160,6 +177,23 @@ struct target uint32_t dbgbase; /* Really a Cortex-A specific option, but there is no system in place to support target specific options currently. */ + struct rtos *rtos; /* Instance of Real Time Operating System support */ + bool rtos_auto_detect; /* A flag that indicates that the RTOS has been specified as "auto" + * and must be detected when symbols are offered */ + + int smp; /* add some target attributes for smp support */ + struct target_list *head; + /* the gdb service is there in case of smp , we have only one gdb server + * for all smp target + * the target attached to the gdb is changing dynamically by changing + * gdb_service->target pointer */ + struct gdb_service *gdb_service; +}; + + +struct target_list { + struct target *target; + struct target_list *next; }; /** Returns the instance-specific name of the specified target. */