X-Git-Url: https://review.openocd.org/gitweb?p=openocd.git;a=blobdiff_plain;f=src%2Ftarget%2Ftarget.h;h=fe7e1a7db8e18993f0832ebce8460e013cd9a2e2;hp=7a8a80f30438eaff7cffd81d68b16e3c384fe15c;hb=24654759d5fd92c0dbafac40c8604842dd6d6709;hpb=37deb37593c20c05a4bb29e1d88671a1f7ec6548 diff --git a/src/target/target.h b/src/target/target.h index 7a8a80f304..fe7e1a7db8 100644 --- a/src/target/target.h +++ b/src/target/target.h @@ -205,6 +205,11 @@ struct target { /* file-I/O information for host to do syscall */ struct gdb_fileio_info *fileio_info; + + char *gdb_port_override; /* target-specific override for gdb_port */ + + /* The semihosting information, extracted from the target. */ + struct semihosting *semihosting; }; struct target_list { @@ -214,10 +219,10 @@ 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. */ @@ -312,6 +317,12 @@ struct target_timer_callback { 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); @@ -470,6 +481,13 @@ int target_get_gdb_reg_list(struct target *target, struct reg **reg_list[], int *reg_list_size, enum target_register_class reg_class); +/** + * Check if @a target allows GDB connections. + * + * Some target do not implement the necessary code required by GDB. + */ +bool target_supports_gdb_connection(struct target *target); + /** * Step the target. * @@ -585,7 +603,8 @@ int target_read_buffer(struct target *target, 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); /**