61 uint16_t stack_reg_offset;
64 LOG_ERROR(
"Failed to read stack_reg_offset: ret = %d", ret);
69 stack_ptr + stack_reg_offset,
73 LOG_ERROR(
"Failed to read register: ret = %d", ret);
80 const int XPSR_OFFSET = 64;
81 const int SP_OFFSET = 52;
101 .stack_growth_direction = -1,
104 .calculate_process_stack =
NULL,
146 .stack_growth_direction = -1,
147 .num_output_registers = 33,
160 stack_data[4] &= ~0x10;
276 .stack_growth_direction = -1,
362 .stack_growth_direction = -1,
503 .stack_growth_direction = -1,
#define LOG_ERROR(expr ...)
static const struct stack_register_offset nuttx_stack_offsets_esp32s2[]
static const struct stack_register_offset nuttx_stack_offsets_cortex_m[]
const struct rtos_register_stacking nuttx_esp32s2_stacking
const struct rtos_register_stacking nuttx_riscv_stacking
const struct rtos_register_stacking nuttx_esp32s3_stacking
static int nuttx_cortex_m_tcbinfo_stack_read(struct target *target, int64_t stack_ptr, const struct rtos_register_stacking *stacking, uint8_t *stack_data)
const struct rtos_register_stacking nuttx_esp32_stacking
const struct rtos_register_stacking nuttx_stacking_cortex_m
static const struct stack_register_offset nuttx_stack_offsets_esp32[]
static const struct stack_register_offset nuttx_stack_offsets_esp32s3[]
static int nuttx_esp_xtensa_stack_read(struct target *target, int64_t stack_ptr, const struct rtos_register_stacking *stacking, uint8_t *stack_data)
static const struct stack_register_offset nuttx_stack_offsets_riscv[]
target_addr_t rtos_generic_stack_align8(struct target *target, const uint8_t *stack_data, const struct rtos_register_stacking *stacking, target_addr_t stack_ptr)
const struct stack_register_offset * register_offsets
unsigned char num_output_registers
unsigned char stack_registers_size
signed char stack_growth_direction
struct symbol_table_elem * symbols
unsigned short width_bits
void target_buffer_set_u32(struct target *target, uint8_t *buffer, uint32_t value)
int target_read_buffer(struct target *target, target_addr_t address, uint32_t size, uint8_t *buffer)
int target_read_u16(struct target *target, target_addr_t address, uint16_t *value)
uint32_t target_buffer_get_u32(struct target *target, const uint8_t *buffer)
#define ARRAY_SIZE(x)
Compute the number of elements of a variable length array.