OpenOCD
|
Go to the source code of this file.
Macros | |
#define | ESP_XTENSA_SMP_EXAMINE_OTHER_CORES 5 |
Functions | |
COMMAND_HANDLER (esp_xtensa_smp_cmd_mask_interrupts) | |
COMMAND_HANDLER (esp_xtensa_smp_cmd_perfmon_dump) | |
COMMAND_HANDLER (esp_xtensa_smp_cmd_perfmon_enable) | |
COMMAND_HANDLER (esp_xtensa_smp_cmd_permissive_mode) | |
COMMAND_HANDLER (esp_xtensa_smp_cmd_smpbreak) | |
COMMAND_HANDLER (esp_xtensa_smp_cmd_tracedump) | |
COMMAND_HANDLER (esp_xtensa_smp_cmd_tracestart) | |
COMMAND_HANDLER (esp_xtensa_smp_cmd_tracestop) | |
COMMAND_HANDLER (esp_xtensa_smp_cmd_xtdef) | |
COMMAND_HANDLER (esp_xtensa_smp_cmd_xtmem) | |
COMMAND_HANDLER (esp_xtensa_smp_cmd_xtmmu) | |
COMMAND_HANDLER (esp_xtensa_smp_cmd_xtmpu) | |
COMMAND_HANDLER (esp_xtensa_smp_cmd_xtopt) | |
COMMAND_HANDLER (esp_xtensa_smp_cmd_xtreg) | |
COMMAND_HANDLER (esp_xtensa_smp_cmd_xtregfmt) | |
int | esp_xtensa_smp_assert_reset (struct target *target) |
int | esp_xtensa_smp_deassert_reset (struct target *target) |
int | esp_xtensa_smp_init_arch_info (struct target *target, struct esp_xtensa_smp_common *esp_xtensa_smp, struct xtensa_debug_module_config *dm_cfg, const struct esp_xtensa_smp_chip_ops *chip_ops, const struct esp_semihost_ops *semihost_ops) |
int | esp_xtensa_smp_on_halt (struct target *target) |
int | esp_xtensa_smp_poll (struct target *target) |
int | esp_xtensa_smp_resume (struct target *target, int current, target_addr_t address, int handle_breakpoints, int debug_execution) |
static int | esp_xtensa_smp_resume_cores (struct target *target, int handle_breakpoints, int debug_execution) |
int | esp_xtensa_smp_run_func_image (struct target *target, struct esp_algorithm_run_data *run, uint32_t num_args,...) |
int | esp_xtensa_smp_run_onboard_func (struct target *target, struct esp_algorithm_run_data *run, uint32_t func_addr, uint32_t num_args,...) |
static int | esp_xtensa_smp_smpbreak_disable (struct target *target, uint32_t *smp_break) |
static int | esp_xtensa_smp_smpbreak_restore (struct target *target, uint32_t smp_break) |
int | esp_xtensa_smp_soft_reset_halt (struct target *target) |
int | esp_xtensa_smp_step (struct target *target, int current, target_addr_t address, int handle_breakpoints) |
int | esp_xtensa_smp_target_init (struct command_context *cmd_ctx, struct target *target) |
static int | esp_xtensa_smp_update_halt_gdb (struct target *target, bool *need_resume) |
int | esp_xtensa_smp_watchpoint_add (struct target *target, struct watchpoint *watchpoint) |
int | esp_xtensa_smp_watchpoint_remove (struct target *target, struct watchpoint *watchpoint) |
static struct target * | get_halted_esp_xtensa_smp (struct target *target, int32_t coreid) |
static struct esp_xtensa_smp_common * | target_to_esp_xtensa_smp (struct target *target) |
Variables | |
const struct command_registration | esp_xtensa_smp_command_handlers [] |
const struct command_registration | esp_xtensa_smp_xtensa_command_handlers [] |
#define ESP_XTENSA_SMP_EXAMINE_OTHER_CORES 5 |
Definition at line 59 of file esp_xtensa_smp.c.
COMMAND_HANDLER | ( | esp_xtensa_smp_cmd_mask_interrupts | ) |
Definition at line 784 of file esp_xtensa_smp.c.
References CALL_COMMAND_HANDLER, CMD_ARGC, CMD_CTX, ERROR_OK, foreach_smp_target, get_current_target(), target::smp, target::smp_targets, target_list::target, and target_to_xtensa().
COMMAND_HANDLER | ( | esp_xtensa_smp_cmd_perfmon_dump | ) |
Definition at line 822 of file esp_xtensa_smp.c.
References CALL_COMMAND_HANDLER, CMD_CTX, ERROR_OK, foreach_smp_target, get_current_target(), LOG_TARGET_INFO, target::smp, target::smp_targets, target_list::target, and target_to_xtensa().
COMMAND_HANDLER | ( | esp_xtensa_smp_cmd_perfmon_enable | ) |
Definition at line 803 of file esp_xtensa_smp.c.
References CALL_COMMAND_HANDLER, CMD_ARGC, CMD_CTX, ERROR_OK, foreach_smp_target, get_current_target(), target::smp, target::smp_targets, target_list::target, and target_to_xtensa().
COMMAND_HANDLER | ( | esp_xtensa_smp_cmd_permissive_mode | ) |
Definition at line 748 of file esp_xtensa_smp.c.
References CALL_COMMAND_HANDLER, CMD_ARGC, CMD_CTX, ERROR_OK, foreach_smp_target, get_current_target(), target::smp, target::smp_targets, target_list::target, and target_to_xtensa().
COMMAND_HANDLER | ( | esp_xtensa_smp_cmd_smpbreak | ) |
Definition at line 767 of file esp_xtensa_smp.c.
References CALL_COMMAND_HANDLER, CMD_ARGC, CMD_CTX, ERROR_OK, foreach_smp_target, get_current_target(), target::smp, target::smp_targets, and target_list::target.
COMMAND_HANDLER | ( | esp_xtensa_smp_cmd_tracedump | ) |
Definition at line 880 of file esp_xtensa_smp.c.
References CALL_COMMAND_HANDLER, CMD, CMD_ARGC, CMD_ARGV, CMD_CTX, command_print(), target::coreid, ERROR_FAIL, ERROR_OK, foreach_smp_target, get_current_target(), target::smp, target::smp_targets, target_list::target, and target_to_xtensa().
COMMAND_HANDLER | ( | esp_xtensa_smp_cmd_tracestart | ) |
Definition at line 842 of file esp_xtensa_smp.c.
References CALL_COMMAND_HANDLER, CMD_CTX, ERROR_OK, foreach_smp_target, get_current_target(), target::smp, target::smp_targets, target_list::target, and target_to_xtensa().
COMMAND_HANDLER | ( | esp_xtensa_smp_cmd_tracestop | ) |
Definition at line 861 of file esp_xtensa_smp.c.
References CALL_COMMAND_HANDLER, CMD_CTX, ERROR_OK, foreach_smp_target, get_current_target(), target::smp, target::smp_targets, target_list::target, and target_to_xtensa().
COMMAND_HANDLER | ( | esp_xtensa_smp_cmd_xtdef | ) |
Definition at line 615 of file esp_xtensa_smp.c.
References CALL_COMMAND_HANDLER, CMD_ARGC, CMD_CTX, ERROR_OK, foreach_smp_target, get_current_target(), target::smp, target::smp_targets, target_list::target, and target_to_xtensa().
COMMAND_HANDLER | ( | esp_xtensa_smp_cmd_xtmem | ) |
Definition at line 653 of file esp_xtensa_smp.c.
References CALL_COMMAND_HANDLER, CMD_ARGC, CMD_CTX, ERROR_OK, foreach_smp_target, get_current_target(), target::smp, target::smp_targets, target_list::target, and target_to_xtensa().
COMMAND_HANDLER | ( | esp_xtensa_smp_cmd_xtmmu | ) |
Definition at line 691 of file esp_xtensa_smp.c.
References CALL_COMMAND_HANDLER, CMD_ARGC, CMD_CTX, ERROR_OK, foreach_smp_target, get_current_target(), target::smp, target::smp_targets, target_list::target, and target_to_xtensa().
COMMAND_HANDLER | ( | esp_xtensa_smp_cmd_xtmpu | ) |
Definition at line 672 of file esp_xtensa_smp.c.
References CALL_COMMAND_HANDLER, CMD_ARGC, CMD_CTX, ERROR_OK, foreach_smp_target, get_current_target(), target::smp, target::smp_targets, target_list::target, and target_to_xtensa().
COMMAND_HANDLER | ( | esp_xtensa_smp_cmd_xtopt | ) |
Definition at line 634 of file esp_xtensa_smp.c.
References CALL_COMMAND_HANDLER, CMD_ARGC, CMD_CTX, ERROR_OK, foreach_smp_target, get_current_target(), target::smp, target::smp_targets, target_list::target, and target_to_xtensa().
COMMAND_HANDLER | ( | esp_xtensa_smp_cmd_xtreg | ) |
Definition at line 710 of file esp_xtensa_smp.c.
References CALL_COMMAND_HANDLER, CMD_ARGC, CMD_CTX, ERROR_OK, foreach_smp_target, get_current_target(), target::smp, target::smp_targets, target_list::target, and target_to_xtensa().
COMMAND_HANDLER | ( | esp_xtensa_smp_cmd_xtregfmt | ) |
Definition at line 729 of file esp_xtensa_smp.c.
References CALL_COMMAND_HANDLER, CMD_ARGC, CMD_CTX, ERROR_OK, foreach_smp_target, get_current_target(), target::smp, target::smp_targets, target_list::target, and target_to_xtensa().
int esp_xtensa_smp_assert_reset | ( | struct target * | target | ) |
Definition at line 68 of file esp_xtensa_smp.c.
References ERROR_OK.
int esp_xtensa_smp_deassert_reset | ( | struct target * | target | ) |
Definition at line 73 of file esp_xtensa_smp.c.
References ERROR_OK, LOG_TARGET_DEBUG, target::smp, target_was_examined(), xtensa_deassert_reset(), and xtensa_examine().
int esp_xtensa_smp_init_arch_info | ( | struct target * | target, |
struct esp_xtensa_smp_common * | esp_xtensa_smp, | ||
struct xtensa_debug_module_config * | dm_cfg, | ||
const struct esp_xtensa_smp_chip_ops * | chip_ops, | ||
const struct esp_semihost_ops * | semihost_ops | ||
) |
Definition at line 579 of file esp_xtensa_smp.c.
References esp_xtensa_smp_common::chip_ops, ERROR_OK, esp_xtensa_smp_common::esp_xtensa, esp_xtensa_init_arch_info(), ESP_XTENSA_SMP_EXAMINE_OTHER_CORES, and esp_xtensa_smp_common::examine_other_cores.
Referenced by esp32_target_create().
int esp_xtensa_smp_on_halt | ( | struct target * | target | ) |
Definition at line 119 of file esp_xtensa_smp.c.
References ERROR_OK, esp_xtensa_on_halt(), foreach_smp_target, target::smp, target::smp_targets, and target_list::target.
Referenced by esp32_on_halt(), and esp32s3_on_halt().
int esp_xtensa_smp_poll | ( | struct target * | target | ) |
Definition at line 148 of file esp_xtensa_smp.c.
References esp_dbg_stubs::base, esp_xtensa_smp_common::chip_ops, gdb_service::core, esp_common::dbg_stubs, ERROR_OK, esp_xtensa_common::esp, esp_xtensa_poll(), esp_xtensa_semihosting(), ESP_XTENSA_SMP_EXAMINE_OTHER_CORES, esp_xtensa_smp_update_halt_gdb(), esp_xtensa_smp_common::examine_other_cores, foreach_smp_target, target::gdb_service, get_halted_esp_xtensa_smp(), LOG_DEBUG, LOG_ERROR, LOG_INFO, LOG_TARGET_DEBUG, esp_semihost_data::need_resume, esp_xtensa_smp_chip_ops::on_halt, esp_xtensa_smp_common::other_core_does_resume, esp_xtensa_common::semihost, SEMIHOSTING_HANDLED, target::smp, target::smp_targets, target::state, gdb_service::target, target_list::target, target_call_event_callbacks(), TARGET_DEBUG_RUNNING, TARGET_EVENT_DEBUG_HALTED, TARGET_EVENT_HALTED, target_examine_one(), TARGET_HALTED, target_name(), TARGET_RESET, target_resume(), TARGET_RUNNING, target_to_esp_xtensa(), target_to_esp_xtensa_smp(), and target_was_examined().
Referenced by esp_xtensa_smp_update_halt_gdb().
int esp_xtensa_smp_resume | ( | struct target * | target, |
int | current, | ||
target_addr_t | address, | ||
int | handle_breakpoints, | ||
int | debug_execution | ||
) |
Definition at line 360 of file esp_xtensa_smp.c.
References gdb_service::core, DBG_REASON_NOTHALTED, target::debug_reason, ERROR_OK, esp_xtensa_smp_resume_cores(), esp_xtensa_smp_smpbreak_disable(), esp_xtensa_smp_smpbreak_restore(), target::gdb_service, LOG_TARGET_DEBUG, LOG_TARGET_ERROR, NULL, target::smp, target::state, gdb_service::target, target_call_event_callbacks(), TARGET_DEBUG_RUNNING, TARGET_EVENT_RESUMED, TARGET_RUNNING, xtensa_do_resume(), xtensa_prepare_resume(), and xtensa_smpbreak_get().
Referenced by esp_xtensa_smp_resume_cores().
|
static |
Definition at line 336 of file esp_xtensa_smp.c.
References ERROR_OK, esp_xtensa_smp_resume(), foreach_smp_target, LOG_TARGET_DEBUG, target::smp, target::smp_targets, target::state, target_list::target, TARGET_RUNNING, and target_was_examined().
Referenced by esp_xtensa_smp_resume().
int esp_xtensa_smp_run_func_image | ( | struct target * | target, |
struct esp_algorithm_run_data * | run, | ||
uint32_t | num_args, | ||
... | |||
) |
Definition at line 502 of file esp_xtensa_smp.c.
References ERROR_FAIL, ERROR_OK, esp_algorithm_run_func_image_va(), esp_xtensa_smp_smpbreak_disable(), esp_xtensa_smp_smpbreak_restore(), foreach_smp_target, LOG_ERROR, target::smp, target::smp_targets, target::state, target, target_list::target, TARGET_HALTED, and target_was_examined().
int esp_xtensa_smp_run_onboard_func | ( | struct target * | target, |
struct esp_algorithm_run_data * | run, | ||
uint32_t | func_addr, | ||
uint32_t | num_args, | ||
... | |||
) |
Definition at line 539 of file esp_xtensa_smp.c.
References ERROR_FAIL, ERROR_OK, esp_algorithm_run_onboard_func_va(), esp_xtensa_smp_smpbreak_disable(), esp_xtensa_smp_smpbreak_restore(), foreach_smp_target, LOG_ERROR, target::smp, target::smp_targets, target::state, target, target_list::target, TARGET_HALTED, and target_was_examined().
|
inlinestatic |
Definition at line 323 of file esp_xtensa_smp.c.
References ERROR_OK, xtensa_smpbreak_get(), and xtensa_smpbreak_set().
Referenced by esp_xtensa_smp_resume(), esp_xtensa_smp_run_func_image(), esp_xtensa_smp_run_onboard_func(), and esp_xtensa_smp_step().
|
inlinestatic |
Definition at line 331 of file esp_xtensa_smp.c.
References xtensa_smpbreak_set().
Referenced by esp_xtensa_smp_resume(), esp_xtensa_smp_run_func_image(), esp_xtensa_smp_run_onboard_func(), and esp_xtensa_smp_step().
int esp_xtensa_smp_soft_reset_halt | ( | struct target * | target | ) |
Definition at line 88 of file esp_xtensa_smp.c.
References esp_xtensa_smp_common::chip_ops, ERROR_OK, foreach_smp_target, lh(), list_first_entry, LOG_TARGET_DEBUG, esp_xtensa_smp_chip_ops::reset, target::smp, target::smp_targets, target_list::target, target_to_esp_xtensa_smp(), and xtensa_assert_reset().
int esp_xtensa_smp_step | ( | struct target * | target, |
int | current, | ||
target_addr_t | address, | ||
int | handle_breakpoints | ||
) |
Definition at line 422 of file esp_xtensa_smp.c.
References esp_xtensa_smp_common::chip_ops, ERROR_OK, esp_xtensa_smp_smpbreak_disable(), esp_xtensa_smp_smpbreak_restore(), esp_xtensa_smp_chip_ops::on_halt, target::smp, target_call_event_callbacks(), TARGET_EVENT_HALTED, target_to_esp_xtensa_smp(), and xtensa_step().
int esp_xtensa_smp_target_init | ( | struct command_context * | cmd_ctx, |
struct target * | target | ||
) |
Definition at line 593 of file esp_xtensa_smp.c.
References ERROR_OK, esp_xtensa_semihosting_init(), esp_xtensa_target_init(), foreach_smp_target, target::smp, target::smp_targets, and target_list::target.
|
static |
Definition at line 248 of file esp_xtensa_smp.c.
References esp_xtensa_smp_common::chip_ops, gdb_service::core, target::coreid, ERROR_OK, esp_xtensa_smp_poll(), foreach_smp_target, target::gdb_service, LOG_DEBUG, LOG_INFO, esp_semihost_data::need_resume, NULL, esp_xtensa_smp_common::other_core_does_resume, esp_xtensa_smp_chip_ops::poll, esp_xtensa_common::semihost, target::smp, target::smp_targets, target::state, target, gdb_service::target, target_list::target, TARGET_HALTED, target_name(), target_to_esp_xtensa(), target_to_esp_xtensa_smp(), and target_was_examined().
Referenced by esp_xtensa_smp_poll().
int esp_xtensa_smp_watchpoint_add | ( | struct target * | target, |
struct watchpoint * | watchpoint | ||
) |
Definition at line 453 of file esp_xtensa_smp.c.
References watchpoint::address, ERROR_OK, foreach_smp_target, watchpoint::length, watchpoint::mask, watchpoint::rw, target::smp, target::smp_targets, target_list::target, target_was_examined(), watchpoint::value, watchpoint_add(), and xtensa_watchpoint_add().
int esp_xtensa_smp_watchpoint_remove | ( | struct target * | target, |
struct watchpoint * | watchpoint | ||
) |
Definition at line 480 of file esp_xtensa_smp.c.
References watchpoint::address, ERROR_OK, foreach_smp_target, target::smp, target::smp_targets, target_list::target, watchpoint_remove(), and xtensa_watchpoint_remove().
Definition at line 134 of file esp_xtensa_smp.c.
References target::coreid, foreach_smp_target, target::smp_targets, target::state, target, target_list::target, and TARGET_HALTED.
Referenced by esp_xtensa_smp_poll().
|
inlinestatic |
Definition at line 63 of file esp_xtensa_smp.c.
References target::arch_info, container_of, and esp_xtensa_smp_common::esp_xtensa.
Referenced by esp_xtensa_smp_poll(), esp_xtensa_smp_soft_reset_halt(), esp_xtensa_smp_step(), and esp_xtensa_smp_update_halt_gdb().
const struct command_registration esp_xtensa_smp_command_handlers[] |
Definition at line 880 of file esp_xtensa_smp.c.
const struct command_registration esp_xtensa_smp_xtensa_command_handlers[] |
Definition at line 880 of file esp_xtensa_smp.c.