TARGET_DEBUG_RUNNING = 4,
};
-enum nvp_assert {
- NVP_DEASSERT,
- NVP_ASSERT,
-};
-
enum target_reset_mode {
RESET_UNKNOWN = 0,
RESET_RUN = 1, /* reset and let target run */
struct list_head *smp_targets; /* list all targets in this smp group/cluster
* The head of the list is shared between the
* cluster, thus here there is a pointer */
+ bool smp_halt_event_postponed; /* Some SMP implementations (currently Cortex-M) stores
+ * 'halted' events and emits them after all targets of
+ * the SMP group has been polled */
+
/* 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
TARGET_EVENT_TRACE_CONFIG,
- TARGET_EVENT_SEMIHOSTING_USER_CMD_0x100 = 0x100, /* semihosting allows user cmds from 0x100 to 0x1ff */
- TARGET_EVENT_SEMIHOSTING_USER_CMD_0x101 = 0x101,
- TARGET_EVENT_SEMIHOSTING_USER_CMD_0x102 = 0x102,
- TARGET_EVENT_SEMIHOSTING_USER_CMD_0x103 = 0x103,
- TARGET_EVENT_SEMIHOSTING_USER_CMD_0x104 = 0x104,
- TARGET_EVENT_SEMIHOSTING_USER_CMD_0x105 = 0x105,
- TARGET_EVENT_SEMIHOSTING_USER_CMD_0x106 = 0x106,
- TARGET_EVENT_SEMIHOSTING_USER_CMD_0x107 = 0x107,
+ TARGET_EVENT_SEMIHOSTING_USER_CMD_0X100 = 0x100, /* semihosting allows user cmds from 0x100 to 0x1ff */
+ TARGET_EVENT_SEMIHOSTING_USER_CMD_0X101 = 0x101,
+ TARGET_EVENT_SEMIHOSTING_USER_CMD_0X102 = 0x102,
+ TARGET_EVENT_SEMIHOSTING_USER_CMD_0X103 = 0x103,
+ TARGET_EVENT_SEMIHOSTING_USER_CMD_0X104 = 0x104,
+ TARGET_EVENT_SEMIHOSTING_USER_CMD_0X105 = 0x105,
+ TARGET_EVENT_SEMIHOSTING_USER_CMD_0X106 = 0x106,
+ TARGET_EVENT_SEMIHOSTING_USER_CMD_0X107 = 0x107,
};
struct target_event_action {
int num_mem_params, struct mem_param *mem_params,
int num_reg_params, struct reg_param *reg_param,
target_addr_t entry_point, target_addr_t exit_point,
- int timeout_ms, void *arch_info);
+ unsigned int timeout_ms, void *arch_info);
/**
* Starts an algorithm in the background on the @a target given.
int target_wait_algorithm(struct target *target,
int num_mem_params, struct mem_param *mem_params,
int num_reg_params, struct reg_param *reg_params,
- target_addr_t exit_point, int timeout_ms,
+ target_addr_t exit_point, unsigned int timeout_ms,
void *arch_info);
/**
int target_blank_check_memory(struct target *target,
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);
+int target_wait_state(struct target *target, enum target_state state, unsigned int ms);
/**
* Obtain file-I/O information from target for GDB to do syscall.
#define TARGET_DEFAULT_POLLING_INTERVAL 100
+const char *target_debug_reason_str(enum target_debug_reason reason);
+
#endif /* OPENOCD_TARGET_TARGET_H */