OpenOCD
xtensa.h File Reference

Holds the interface to Xtensa cores. More...

Include dependency graph for xtensa.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  xtensa
 Represents a generic Xtensa core. More...
 
struct  xtensa_cache_config
 
struct  xtensa_config
 
struct  xtensa_debug_config
 
struct  xtensa_high_prio_irq_config
 
struct  xtensa_irq_config
 
struct  xtensa_keyval_info_s
 
struct  xtensa_local_mem_config
 
struct  xtensa_local_mem_region_config
 
struct  xtensa_mmu_config
 
struct  xtensa_mpu_config
 
struct  xtensa_sw_breakpoint
 
struct  xtensa_tracing_config
 

Macros

#define XT_AREGS_NUM_MAX   64
 
#define XT_INS_BREAK(X, S, T)   (XT_ISBE(X) ? XT_INS_BREAK_BE(S, T) : XT_INS_BREAK_LE(S, T))
 
#define XT_INS_BREAK_BE(S, T)   (0x000400 | (((S) & 0xF) << 12) | ((T) & 0xF))
 
#define XT_INS_BREAK_LE(S, T)   (0x004000 | (((S) & 0xF) << 8) | (((T) & 0xF) << 4))
 
#define XT_INS_BREAKN(X, IMM4)   (XT_ISBE(X) ? XT_INS_BREAKN_BE(IMM4) : XT_INS_BREAKN_LE(IMM4))
 
#define XT_INS_BREAKN_BE(IMM4)   (0x0FD2 | (((IMM4) & 0xF) << 12))
 
#define XT_INS_BREAKN_LE(IMM4)   (0xF02D | (((IMM4) & 0xF) << 8))
 
#define XT_ISBE(X)   ((X)->target->endianness == TARGET_BIG_ENDIAN)
 
#define XT_ISNS_SZ_MAX   3
 
#define XT_LOCAL_MEM_REGIONS_NUM_MAX   8
 
#define XT_MAX_TIE_REG_WIDTH   (512) /* TIE register file max 4096 bits */
 
#define XT_MEM_ACCESS_NONE   0x0
 
#define XT_MEM_ACCESS_READ   0x1
 
#define XT_MEM_ACCESS_WRITE   0x2
 
#define XT_PS_CALLINC_MSK   (0x3 << 16)
 
#define XT_PS_OWB_MSK   (0xF << 8)
 
#define XT_PS_RING(_v_)   ((uint32_t)((_v_) & 0x3) << 6)
 
#define XT_PS_RING_GET(_v_)   (((_v_) >> 6) & 0x3)
 
#define XT_PS_RING_MSK   (0x3 << 6)
 
#define XT_PS_WOE_MSK   BIT(18)
 
#define XT_QUERYPKT_RESP_MAX   (XT_MAX_TIE_REG_WIDTH * 2 + 1)
 
#define XT_USER_REGS_NUM_MAX   256
 
#define XTENSA_COMMON_MAGIC   0x54E4E555U
 

Typedefs

typedef uint32_t xtensa_insn_t
 

Enumerations

enum  xtensa_ar_scratch_set_e {
  XT_AR_SCRATCH_A3 = 0 , XT_AR_SCRATCH_AR3 , XT_AR_SCRATCH_A4 , XT_AR_SCRATCH_AR4 ,
  XT_AR_SCRATCH_NUM
}
 
enum  xtensa_mode {
  XT_MODE_RING0 , XT_MODE_RING1 , XT_MODE_RING2 , XT_MODE_RING3 ,
  XT_MODE_ANY
}
 
enum  xtensa_qerr_e {
  XT_QERR_INTERNAL = 0 , XT_QERR_FAIL , XT_QERR_INVAL , XT_QERR_MEM ,
  XT_QERR_NUM
}
 
enum  xtensa_stepping_isr_mode { XT_STEPPING_ISR_OFF , XT_STEPPING_ISR_ON }
 
enum  xtensa_type { XT_UNDEF = 0 , XT_LX }
 

Functions

 COMMAND_HELPER (xtensa_cmd_mask_interrupts_do, struct xtensa *xtensa)
 
 COMMAND_HELPER (xtensa_cmd_perfmon_dump_do, struct xtensa *xtensa)
 
 COMMAND_HELPER (xtensa_cmd_perfmon_enable_do, struct xtensa *xtensa)
 
 COMMAND_HELPER (xtensa_cmd_permissive_mode_do, struct xtensa *xtensa)
 
 COMMAND_HELPER (xtensa_cmd_smpbreak_do, struct target *target)
 
 COMMAND_HELPER (xtensa_cmd_tracedump_do, struct xtensa *xtensa, const char *fname)
 
 COMMAND_HELPER (xtensa_cmd_tracestart_do, struct xtensa *xtensa)
 
 COMMAND_HELPER (xtensa_cmd_tracestop_do, struct xtensa *xtensa)
 
 COMMAND_HELPER (xtensa_cmd_xtdef_do, struct xtensa *xtensa)
 
 COMMAND_HELPER (xtensa_cmd_xtmem_do, struct xtensa *xtensa)
 
 COMMAND_HELPER (xtensa_cmd_xtmmu_do, struct xtensa *xtensa)
 
 COMMAND_HELPER (xtensa_cmd_xtmpu_do, struct xtensa *xtensa)
 
 COMMAND_HELPER (xtensa_cmd_xtopt_do, struct xtensa *xtensa)
 
 COMMAND_HELPER (xtensa_cmd_xtreg_do, struct xtensa *xtensa)
 
 COMMAND_HELPER (xtensa_cmd_xtregfmt_do, struct xtensa *xtensa)
 
static struct xtensatarget_to_xtensa (struct target *target)
 
static bool xtensa_addr_in_mem (const struct xtensa_local_mem_config *mem, uint32_t addr)
 
int xtensa_assert_reset (struct target *target)
 
int xtensa_breakpoint_add (struct target *target, struct breakpoint *breakpoint)
 
int xtensa_breakpoint_remove (struct target *target, struct breakpoint *breakpoint)
 
void xtensa_cause_clear (struct target *target)
 
uint32_t xtensa_cause_get (struct target *target)
 
void xtensa_cause_reset (struct target *target)
 
int xtensa_checksum_memory (struct target *target, target_addr_t address, uint32_t count, uint32_t *checksum)
 
int xtensa_core_status_check (struct target *target)
 
static int xtensa_core_status_clear (struct target *target, uint32_t bits)
 
static bool xtensa_data_addr_valid (struct target *target, uint32_t addr)
 
int xtensa_deassert_reset (struct target *target)
 
int xtensa_do_resume (struct target *target)
 
int xtensa_do_step (struct target *target, int current, target_addr_t address, int handle_breakpoints)
 
int xtensa_examine (struct target *target)
 
int xtensa_fetch_all_regs (struct target *target)
 
int xtensa_gdb_query_custom (struct target *target, const char *packet, char **response_p)
 
const char * xtensa_get_gdb_arch (struct target *target)
 
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_halt (struct target *target)
 
int xtensa_init_arch_info (struct target *target, struct xtensa *xtensa, const struct xtensa_debug_module_config *dm_cfg)
 
int xtensa_mmu_is_enabled (struct target *target, int *enabled)
 
void xtensa_on_poll (struct target *target)
 
int xtensa_poll (struct target *target)
 
int xtensa_prepare_resume (struct target *target, int current, target_addr_t address, int handle_breakpoints, int debug_execution)
 
static int xtensa_queue_dbg_reg_read (struct xtensa *xtensa, enum xtensa_dm_reg reg, uint8_t *data)
 
static int xtensa_queue_dbg_reg_write (struct xtensa *xtensa, enum xtensa_dm_reg reg, uint32_t data)
 
int xtensa_read_buffer (struct target *target, target_addr_t address, uint32_t count, uint8_t *buffer)
 
int xtensa_read_memory (struct target *target, target_addr_t address, uint32_t size, uint32_t count, uint8_t *buffer)
 
xtensa_reg_val_t xtensa_reg_get (struct target *target, enum xtensa_reg_id reg_id)
 
void xtensa_reg_set (struct target *target, enum xtensa_reg_id reg_id, xtensa_reg_val_t value)
 
void xtensa_reg_set_deep_relgen (struct target *target, enum xtensa_reg_id a_idx, xtensa_reg_val_t value)
 
int xtensa_resume (struct target *target, int current, target_addr_t address, int handle_breakpoints, int debug_execution)
 
void xtensa_set_permissive_mode (struct target *target, bool state)
 
int xtensa_smpbreak_get (struct target *target, uint32_t *val)
 
int xtensa_smpbreak_read (struct xtensa *xtensa, uint32_t *val)
 
int xtensa_smpbreak_set (struct target *target, uint32_t set)
 
int xtensa_smpbreak_write (struct xtensa *xtensa, uint32_t set)
 
int xtensa_soft_reset_halt (struct target *target)
 
int xtensa_step (struct target *target, int current, target_addr_t address, int handle_breakpoints)
 
void xtensa_target_deinit (struct target *target)
 
int xtensa_target_init (struct command_context *cmd_ctx, struct target *target)
 
int xtensa_wakeup (struct target *target)
 
int xtensa_watchpoint_add (struct target *target, struct watchpoint *watchpoint)
 
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)
 

Variables

const struct command_registration xtensa_command_handlers []
 

Detailed Description

Holds the interface to Xtensa cores.

Definition in file xtensa.h.

Macro Definition Documentation

◆ XT_AREGS_NUM_MAX

#define XT_AREGS_NUM_MAX   64

Definition at line 47 of file xtensa.h.

◆ XT_INS_BREAK

#define XT_INS_BREAK (   X,
  S,
 
)    (XT_ISBE(X) ? XT_INS_BREAK_BE(S, T) : XT_INS_BREAK_LE(S, T))

Definition at line 29 of file xtensa.h.

◆ XT_INS_BREAK_BE

#define XT_INS_BREAK_BE (   S,
 
)    (0x000400 | (((S) & 0xF) << 12) | ((T) & 0xF))

Definition at line 28 of file xtensa.h.

◆ XT_INS_BREAK_LE

#define XT_INS_BREAK_LE (   S,
 
)    (0x004000 | (((S) & 0xF) << 8) | (((T) & 0xF) << 4))

Definition at line 27 of file xtensa.h.

◆ XT_INS_BREAKN

#define XT_INS_BREAKN (   X,
  IMM4 
)    (XT_ISBE(X) ? XT_INS_BREAKN_BE(IMM4) : XT_INS_BREAKN_LE(IMM4))

Definition at line 34 of file xtensa.h.

◆ XT_INS_BREAKN_BE

#define XT_INS_BREAKN_BE (   IMM4)    (0x0FD2 | (((IMM4) & 0xF) << 12))

Definition at line 33 of file xtensa.h.

◆ XT_INS_BREAKN_LE

#define XT_INS_BREAKN_LE (   IMM4)    (0xF02D | (((IMM4) & 0xF) << 8))

Definition at line 32 of file xtensa.h.

◆ XT_ISBE

#define XT_ISBE (   X)    ((X)->target->endianness == TARGET_BIG_ENDIAN)

Definition at line 24 of file xtensa.h.

◆ XT_ISNS_SZ_MAX

#define XT_ISNS_SZ_MAX   3

Definition at line 36 of file xtensa.h.

◆ XT_LOCAL_MEM_REGIONS_NUM_MAX

#define XT_LOCAL_MEM_REGIONS_NUM_MAX   8

Definition at line 45 of file xtensa.h.

◆ XT_MAX_TIE_REG_WIDTH

#define XT_MAX_TIE_REG_WIDTH   (512) /* TIE register file max 4096 bits */

Definition at line 54 of file xtensa.h.

◆ XT_MEM_ACCESS_NONE

#define XT_MEM_ACCESS_NONE   0x0

Definition at line 50 of file xtensa.h.

◆ XT_MEM_ACCESS_READ

#define XT_MEM_ACCESS_READ   0x1

Definition at line 51 of file xtensa.h.

◆ XT_MEM_ACCESS_WRITE

#define XT_MEM_ACCESS_WRITE   0x2

Definition at line 52 of file xtensa.h.

◆ XT_PS_CALLINC_MSK

#define XT_PS_CALLINC_MSK   (0x3 << 16)

Definition at line 41 of file xtensa.h.

◆ XT_PS_OWB_MSK

#define XT_PS_OWB_MSK   (0xF << 8)

Definition at line 42 of file xtensa.h.

◆ XT_PS_RING

#define XT_PS_RING (   _v_)    ((uint32_t)((_v_) & 0x3) << 6)

Definition at line 38 of file xtensa.h.

◆ XT_PS_RING_GET

#define XT_PS_RING_GET (   _v_)    (((_v_) >> 6) & 0x3)

Definition at line 40 of file xtensa.h.

◆ XT_PS_RING_MSK

#define XT_PS_RING_MSK   (0x3 << 6)

Definition at line 39 of file xtensa.h.

◆ XT_PS_WOE_MSK

#define XT_PS_WOE_MSK   BIT(18)

Definition at line 43 of file xtensa.h.

◆ XT_QUERYPKT_RESP_MAX

#define XT_QUERYPKT_RESP_MAX   (XT_MAX_TIE_REG_WIDTH * 2 + 1)

Definition at line 55 of file xtensa.h.

◆ XT_USER_REGS_NUM_MAX

#define XT_USER_REGS_NUM_MAX   256

Definition at line 48 of file xtensa.h.

◆ XTENSA_COMMON_MAGIC

#define XTENSA_COMMON_MAGIC   0x54E4E555U

Definition at line 187 of file xtensa.h.

Typedef Documentation

◆ xtensa_insn_t

typedef uint32_t xtensa_insn_t

Definition at line 163 of file xtensa.h.

Enumeration Type Documentation

◆ xtensa_ar_scratch_set_e

Enumerator
XT_AR_SCRATCH_A3 
XT_AR_SCRATCH_AR3 
XT_AR_SCRATCH_A4 
XT_AR_SCRATCH_AR4 
XT_AR_SCRATCH_NUM 

Definition at line 66 of file xtensa.h.

◆ xtensa_mode

Enumerator
XT_MODE_RING0 
XT_MODE_RING1 
XT_MODE_RING2 
XT_MODE_RING3 
XT_MODE_ANY 

Definition at line 171 of file xtensa.h.

◆ xtensa_qerr_e

Enumerator
XT_QERR_INTERNAL 
XT_QERR_FAIL 
XT_QERR_INVAL 
XT_QERR_MEM 
XT_QERR_NUM 

Definition at line 57 of file xtensa.h.

◆ xtensa_stepping_isr_mode

Enumerator
XT_STEPPING_ISR_OFF 
XT_STEPPING_ISR_ON 

Definition at line 165 of file xtensa.h.

◆ xtensa_type

Enumerator
XT_UNDEF 
XT_LX 

Definition at line 79 of file xtensa.h.

Function Documentation

◆ COMMAND_HELPER() [1/15]

COMMAND_HELPER ( xtensa_cmd_mask_interrupts_do  ,
struct xtensa xtensa 
)

◆ COMMAND_HELPER() [2/15]

◆ COMMAND_HELPER() [3/15]

◆ COMMAND_HELPER() [4/15]

COMMAND_HELPER ( xtensa_cmd_permissive_mode_do  ,
struct xtensa xtensa 
)

Definition at line 3516 of file xtensa.c.

References CALL_COMMAND_HANDLER, and xtensa::permissive_mode.

◆ COMMAND_HELPER() [5/15]

COMMAND_HELPER ( xtensa_cmd_smpbreak_do  ,
struct target target 
)

◆ COMMAND_HELPER() [6/15]

◆ COMMAND_HELPER() [7/15]

◆ COMMAND_HELPER() [8/15]

COMMAND_HELPER ( xtensa_cmd_tracestop_do  ,
struct xtensa xtensa 
)

◆ COMMAND_HELPER() [9/15]

COMMAND_HELPER ( xtensa_cmd_xtdef_do  ,
struct xtensa xtensa 
)

◆ COMMAND_HELPER() [10/15]

◆ COMMAND_HELPER() [11/15]

◆ COMMAND_HELPER() [12/15]

◆ COMMAND_HELPER() [13/15]

◆ COMMAND_HELPER() [14/15]

◆ COMMAND_HELPER() [15/15]

COMMAND_HELPER ( xtensa_cmd_xtregfmt_do  ,
struct xtensa xtensa 
)

◆ target_to_xtensa()

◆ xtensa_addr_in_mem()

static bool xtensa_addr_in_mem ( const struct xtensa_local_mem_config mem,
uint32_t  addr 
)
inlinestatic

◆ xtensa_assert_reset()

◆ xtensa_breakpoint_add()

◆ xtensa_breakpoint_remove()

◆ xtensa_cause_clear()

void xtensa_cause_clear ( struct target target)

◆ xtensa_cause_get()

uint32_t xtensa_cause_get ( struct target target)

Definition at line 946 of file xtensa.c.

References XT_REG_IDX_DEBUGCAUSE, and xtensa_reg_get().

Referenced by xtensa_do_step(), xtensa_poll(), and xtensa_prepare_resume().

◆ xtensa_cause_reset()

void xtensa_cause_reset ( struct target target)

◆ xtensa_checksum_memory()

int xtensa_checksum_memory ( struct target target,
target_addr_t  address,
uint32_t  count,
uint32_t *  checksum 
)

Definition at line 2016 of file xtensa.c.

References ERROR_FAIL, and LOG_WARNING.

◆ xtensa_core_status_check()

◆ xtensa_core_status_clear()

static int xtensa_core_status_clear ( struct target target,
uint32_t  bits 
)
inlinestatic

Definition at line 300 of file xtensa.h.

References bits, xtensa::dbg_mod, target_to_xtensa(), and xtensa_dm_core_status_clear().

◆ xtensa_data_addr_valid()

static bool xtensa_data_addr_valid ( struct target target,
uint32_t  addr 
)
inlinestatic

◆ xtensa_deassert_reset()

◆ xtensa_do_resume()

◆ xtensa_do_step()

◆ xtensa_examine()

◆ xtensa_fetch_all_regs()

int xtensa_fetch_all_regs ( struct target target)

Definition at line 1007 of file xtensa.c.

References xtensa_reg_val_u::buf, buf_cpy(), buf_get_u32(), xtensa_keyval_info_s::chrval, xtensa_config::coproc, xtensa::core_cache, xtensa::core_config, xtensa::dbg_mod, xtensa_config::debug, reg::dirty, ERROR_FAIL, ERROR_OK, xtensa_reg_desc::exist, xtensa_reg_desc::flags, xtensa_keyval_info_s::intval, xtensa_debug_config::irq_level, LOG_DEBUG, LOG_ERROR, LOG_INFO, LOG_LEVEL_IS, LOG_LVL_DEBUG, LOG_TARGET_DEBUG, LOG_TARGET_ERROR, name, reg_cache::num_regs, OCDDSR_EXECEXCEPTION, xtensa::optregs, reg_cache::reg_list, xtensa_reg_desc::reg_num, xtensa::regs_fetched, xtensa::scratch_ars, size, target_to_xtensa(), type, xtensa_reg_desc::type, reg::valid, xtensa_config::windowed, XDMREG_DDR, XDMREG_DSR, XT_AR_SCRATCH_AR3, XT_AR_SCRATCH_AR4, XT_AR_SCRATCH_NUM, XT_AREGS_NUM_MAX, XT_EPC_REG_NUM_BASE, XT_EPS_REG_NUM_BASE, XT_INS_RFR, XT_INS_ROTW, XT_INS_RSR, XT_INS_RUR, XT_INS_WSR, XT_NUM_REGS, XT_PC_REG_NUM_VIRTUAL, XT_REG_A3, XT_REG_DEBUG, XT_REG_FR, XT_REG_GENERAL, XT_REG_IDX_A3, XT_REG_IDX_A4, XT_REG_IDX_AR0, XT_REG_IDX_CPENABLE, XT_REG_IDX_PS, XT_REG_IDX_WINDOWBASE, XT_REG_OTHER, XT_REG_RELGEN, XT_REG_SPECIAL, XT_REG_TIE, XT_REG_USER, XT_REGF_MASK, XT_REGF_NOREAD, XT_SR_DDR, xtensa_canonical_to_windowbase_offset(), xtensa_core_status_check(), xtensa_dm_queue_execute(), xtensa_extra_debug_log, xtensa_mark_register_dirty(), xtensa_queue_dbg_reg_read(), xtensa_queue_dbg_reg_write(), xtensa_queue_exec_ins(), xtensa_reg_is_readable(), xtensa_reg_set(), xtensa_regs, xtensa_window_state_restore(), xtensa_window_state_save(), and xtensa_windowbase_offset_to_canonical().

Referenced by COMMAND_HELPER(), xtensa_do_step(), and xtensa_poll().

◆ xtensa_gdb_query_custom()

◆ xtensa_get_gdb_arch()

const char* xtensa_get_gdb_arch ( struct target target)

Definition at line 2994 of file xtensa.c.

◆ xtensa_get_gdb_reg_list()

◆ xtensa_halt()

◆ xtensa_init_arch_info()

◆ xtensa_mmu_is_enabled()

int xtensa_mmu_is_enabled ( struct target target,
int *  enabled 
)

◆ xtensa_on_poll()

void xtensa_on_poll ( struct target target)

◆ xtensa_poll()

int xtensa_poll ( struct target target)

Definition at line 2022 of file xtensa.c.

References xtensa::come_online_probes_num, xtensa_debug_module::core_status, xtensa::dbg_mod, DBG_REASON_BREAKPOINT, DBG_REASON_DBGRQ, DBG_REASON_NOTHALTED, DBG_REASON_SINGLESTEP, DBG_REASON_WATCHPOINT, DBG_REASON_WPTANDBKPT, target::debug_reason, DEBUGCAUSE_BI, DEBUGCAUSE_BN, DEBUGCAUSE_DB, DEBUGCAUSE_IB, DEBUGCAUSE_IC, xtensa_core_status::dsr, ERROR_OK, ERROR_TARGET_NOT_EXAMINED, target::examined, LOG_INFO, LOG_TARGET_DEBUG, LOG_TARGET_INFO, OCDDSR_DEBUGINTBREAK, OCDDSR_DEBUGINTHOST, OCDDSR_DEBUGINTTRAX, OCDDSR_DEBUGPENDBREAK, OCDDSR_DEBUGPENDHOST, OCDDSR_DEBUGPENDTRAX, OCDDSR_STOPPED, xtensa_debug_module::power_status, PWRSTAT_COREWASRESET, PWRSTAT_DEBUGWASRESET, xtensa::smp_break, xtensa_power_status::stat, target::state, xtensa_power_status::stath, TARGET_DEBUG_RUNNING, TARGET_HALTED, TARGET_RESET, TARGET_RUNNING, target_to_xtensa(), TARGET_UNKNOWN, xtensa::trace_active, TRAXSTAT_CTITG, TRAXSTAT_PCMTG, TRAXSTAT_PTITG, TRAXSTAT_TRACT, XT_REG_IDX_EXCCAUSE, XT_REG_IDX_PC, xtensa_cause_get(), xtensa_dm_core_status_clear(), xtensa_dm_core_status_read(), xtensa_dm_core_was_reset(), xtensa_dm_is_powered(), xtensa_dm_poll(), xtensa_dm_power_status_cache(), xtensa_dm_power_status_read(), xtensa_dm_tap_was_reset(), xtensa_dm_trace_status_read(), xtensa_fetch_all_regs(), xtensa_is_stopped(), xtensa_reg_get(), xtensa_smpbreak_write(), and xtensa_wakeup().

Referenced by esp32_soc_reset(), esp32s2_soc_reset(), esp32s3_soc_reset(), esp_xtensa_poll(), and xtensa_chip_poll().

◆ xtensa_prepare_resume()

◆ xtensa_queue_dbg_reg_read()

◆ xtensa_queue_dbg_reg_write()

◆ xtensa_read_buffer()

int xtensa_read_buffer ( struct target target,
target_addr_t  address,
uint32_t  count,
uint8_t *  buffer 
)

Definition at line 1805 of file xtensa.c.

References buffer, count, and xtensa_read_memory().

Referenced by xtensa_pc_in_winexc().

◆ xtensa_read_memory()

◆ xtensa_reg_get()

◆ xtensa_reg_set()

◆ xtensa_reg_set_deep_relgen()

void xtensa_reg_set_deep_relgen ( struct target target,
enum xtensa_reg_id  a_idx,
xtensa_reg_val_t  value 
)

◆ xtensa_resume()

int xtensa_resume ( struct target target,
int  current,
target_addr_t  address,
int  handle_breakpoints,
int  debug_execution 
)

◆ xtensa_set_permissive_mode()

void xtensa_set_permissive_mode ( struct target target,
bool  state 
)

Definition at line 2890 of file xtensa.c.

References xtensa::permissive_mode, state, and target_to_xtensa().

◆ xtensa_smpbreak_get()

int xtensa_smpbreak_get ( struct target target,
uint32_t *  val 
)

Definition at line 863 of file xtensa.c.

References ERROR_OK, xtensa::smp_break, and target_to_xtensa().

Referenced by esp_xtensa_smp_resume(), and esp_xtensa_smp_smpbreak_disable().

◆ xtensa_smpbreak_read()

int xtensa_smpbreak_read ( struct xtensa xtensa,
uint32_t *  val 
)

◆ xtensa_smpbreak_set()

int xtensa_smpbreak_set ( struct target target,
uint32_t  set 
)

◆ xtensa_smpbreak_write()

◆ xtensa_soft_reset_halt()

int xtensa_soft_reset_halt ( struct target target)

Definition at line 1001 of file xtensa.c.

References LOG_TARGET_DEBUG, and xtensa_assert_reset().

Referenced by esp32s2_soft_reset_halt().

◆ xtensa_step()

int xtensa_step ( struct target target,
int  current,
target_addr_t  address,
int  handle_breakpoints 
)

◆ xtensa_target_deinit()

◆ xtensa_target_init()

◆ xtensa_wakeup()

◆ xtensa_watchpoint_add()

◆ xtensa_watchpoint_remove()

◆ xtensa_write_buffer()

int xtensa_write_buffer ( struct target target,
target_addr_t  address,
uint32_t  count,
const uint8_t *  buffer 
)

Definition at line 2010 of file xtensa.c.

References buffer, count, and xtensa_write_memory().

◆ xtensa_write_memory()

Variable Documentation

◆ xtensa_command_handlers

const struct command_registration xtensa_command_handlers[]
extern

Definition at line 3885 of file xtensa.c.