void *private_config; /* pointer to target specific config data (for jim_configure hook) */
struct target *next; /* next target in list */
- int display; /* display async info in telnet session. Do not display
+ bool verbose_halt_msg; /* display async info in telnet session. Do not display
* lots of halted/resumed info when stepping in debugger. */
bool halt_issued; /* did we transition to halted state? */
int64_t halt_issued_time; /* Note time when halt was issued */
+ /* ARM v7/v8 targets with ADIv5 interface */
bool dbgbase_set; /* By default the debug base is not set */
uint32_t dbgbase; /* Really a Cortex-A specific option, but there is no
* system in place to support target specific options
* currently. */
+ bool has_dap; /* set to true if target has ADIv5 support */
+ bool dap_configured; /* set to true if ADIv5 DAP is configured */
+ bool tap_configured; /* set to true if JTAG tap has been configured
+ * through -chain-position */
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"
/* file-I/O information for host to do syscall */
struct gdb_fileio_info *fileio_info;
+
+ /* The semihosting information, extracted from the target. */
+ struct semihosting *semihosting;
};
struct target_list {
struct gdb_fileio_info {
char *identifier;
- uint32_t param_1;
- uint32_t param_2;
- uint32_t param_3;
- uint32_t param_4;
+ uint64_t param_1;
+ uint64_t param_2;
+ uint64_t param_3;
+ uint64_t param_4;
};
/** Returns the instance-specific name of the specified target. */
struct target_timer_callback *next;
};
+struct target_memory_check_block {
+ target_addr_t address;
+ uint32_t size;
+ uint32_t result;
+};
+
int target_register_commands(struct command_context *cmd_ctx);
int target_examine(void);
int target_checksum_memory(struct target *target,
target_addr_t address, uint32_t size, uint32_t *crc);
int target_blank_check_memory(struct target *target,
- target_addr_t address, uint32_t size, uint32_t *blank, uint8_t erased_value);
+ struct target_memory_check_block *blocks, int num_blocks,
+ uint8_t erased_value);
int target_wait_state(struct target *target, enum target_state state, int ms);
/**