84 .queue_tdi_idle =
NULL,
85 .queue_tdi_idle_arg =
NULL,
94 xtensa_chip_dm_cfg.
dap = pc->
dap;
106 LOG_ERROR(
"Failed to alloc chip-level memory!");
141 static bool dap_configured;
144 LOG_DEBUG(
"xtensa '-dap' target option found");
145 dap_configured =
true;
147 if (!dap_configured) {
148 LOG_DEBUG(
"xtensa '-dap' target option not yet found, assuming JTAG...");
int adiv5_verify_config(struct adiv5_private_config *pc)
int adiv5_jim_configure(struct target *target, struct jim_getopt_info *goi)
This defines formats and data structures used to talk to ADIv5 entities.
#define LOG_ERROR(expr ...)
#define LOG_DEBUG(expr ...)
A TCL -ish GetOpt like code.
This holds methods shared between all instances of a given target type.
const char * name
Name of this type of target.
enum target_debug_reason debug_reason
const struct xtensa_debug_ops * dbg_ops
int(* queue_enable)(struct xtensa_debug_module *dm)
enable operation
int(* queue_reg_read)(struct xtensa_debug_module *dm, enum xtensa_dm_pwr_reg reg, uint8_t *data, uint32_t clear)
register read.
Represents a generic Xtensa core.
struct xtensa_debug_module dbg_mod
struct xtensa_chip_common * xtensa_chip
int target_call_event_callbacks(struct target *target, enum target_event event)
@ TARGET_EVENT_DEBUG_HALTED
int xtensa_gdb_query_custom(struct target *target, const char *packet, char **response_p)
int xtensa_breakpoint_add(struct target *target, struct breakpoint *breakpoint)
void xtensa_target_deinit(struct target *target)
int xtensa_watchpoint_add(struct target *target, struct watchpoint *watchpoint)
int xtensa_poll(struct target *target)
int xtensa_halt(struct target *target)
int xtensa_breakpoint_remove(struct target *target, struct breakpoint *breakpoint)
int xtensa_read_buffer(struct target *target, target_addr_t address, uint32_t count, uint8_t *buffer)
int xtensa_get_gdb_reg_list(struct target *target, struct reg **reg_list[], int *reg_list_size, enum target_register_class reg_class)
int xtensa_step(struct target *target, int current, target_addr_t address, int handle_breakpoints)
int xtensa_target_init(struct command_context *cmd_ctx, struct target *target)
int xtensa_checksum_memory(struct target *target, target_addr_t address, uint32_t count, uint32_t *checksum)
const struct command_registration xtensa_command_handlers[]
int xtensa_examine(struct target *target)
int xtensa_init_arch_info(struct target *target, struct xtensa *xtensa, const struct xtensa_debug_module_config *dm_cfg)
int xtensa_resume(struct target *target, int current, target_addr_t address, int handle_breakpoints, int debug_execution)
int xtensa_watchpoint_remove(struct target *target, struct watchpoint *watchpoint)
int xtensa_write_buffer(struct target *target, target_addr_t address, uint32_t count, const uint8_t *buffer)
int xtensa_write_memory(struct target *target, target_addr_t address, uint32_t size, uint32_t count, const uint8_t *buffer)
int xtensa_mmu_is_enabled(struct target *target, int *enabled)
int xtensa_deassert_reset(struct target *target)
int xtensa_read_memory(struct target *target, target_addr_t address, uint32_t size, uint32_t count, uint8_t *buffer)
int xtensa_soft_reset_halt(struct target *target)
int xtensa_assert_reset(struct target *target)
static struct xtensa * target_to_xtensa(struct target *target)
int xtensa_chip_init_arch_info(struct target *target, void *arch_info, struct xtensa_debug_module_config *dm_cfg)
static void xtensa_chip_target_deinit(struct target *target)
int xtensa_chip_target_init(struct command_context *cmd_ctx, struct target *target)
static int xtensa_chip_jim_configure(struct target *target, struct jim_getopt_info *goi)
static int xtensa_chip_examine(struct target *target)
int xtensa_chip_arch_state(struct target *target)
static int xtensa_chip_virt2phys(struct target *target, target_addr_t virtual, target_addr_t *physical)
struct target_type xtensa_chip_target
Methods for generic example of Xtensa-based chip-level targets.
static const struct xtensa_debug_ops xtensa_chip_dm_dbg_ops
static int xtensa_chip_target_create(struct target *target, Jim_Interp *interp)
static int xtensa_chip_poll(struct target *target)
static const struct xtensa_power_ops xtensa_chip_dm_pwr_ops
int xtensa_dm_queue_reg_read(struct xtensa_debug_module *dm, enum xtensa_dm_reg reg, uint8_t *value)
int xtensa_dm_queue_pwr_reg_write(struct xtensa_debug_module *dm, enum xtensa_dm_pwr_reg reg, uint32_t data)
int xtensa_dm_queue_pwr_reg_read(struct xtensa_debug_module *dm, enum xtensa_dm_pwr_reg reg, uint8_t *data, uint32_t clear)
int xtensa_dm_queue_reg_write(struct xtensa_debug_module *dm, enum xtensa_dm_reg reg, uint32_t value)
int xtensa_dm_queue_enable(struct xtensa_debug_module *dm)
int xtensa_dm_examine(struct xtensa_debug_module *dm)