OpenOCD
|
Go to the source code of this file.
Data Structures | |
struct | arc_actionpoint |
struct | arc_common |
struct | arc_reg_bitfield |
struct | arc_reg_data_type |
struct | arc_reg_desc |
Enumerations | |
enum | { ARC_R0 , ARC_R1 , ARC_R2 , ARC_R3 , ARC_R4 , ARC_R5 , ARC_R6 , ARC_R7 , ARC_R8 , ARC_R9 , ARC_R10 , ARC_R11 , ARC_R12 , ARC_R13 , ARC_R14 , ARC_R15 , ARC_R16 , ARC_R17 , ARC_R18 , ARC_R19 , ARC_R20 , ARC_R21 , ARC_R22 , ARC_R23 , ARC_R24 , ARC_R25 , ARC_GP = 26 , ARC_FP = 27 , ARC_SP = 28 , ARC_ILINK = 29 , ARC_R30 , ARC_BLINK = 31 , ARC_LP_COUNT = 60 , ARC_R61 = 61 , ARC_R62 = 62 , ARC_PCL = 63 , ARC_PC = 64 , ARC_LP_START = 65 , ARC_LP_END = 66 , ARC_STATUS32 = 67 } |
enum | arc_actionpointype { ARC_AP_BREAKPOINT , ARC_AP_WATCHPOINT } |
Functions | |
int | arc_add_auxreg_actionpoint (struct target *target, uint32_t auxreg_addr, uint32_t transaction) |
int | arc_cache_flush (struct target *target) |
int | arc_cache_invalidate (struct target *target) |
static void | arc_h_u32_to_me (uint8_t *buf, int val) |
Convert data in host endianness to the middle endian. More... | |
static uint32_t | arc_me_to_h_u32 (const uint8_t *buf) |
Convert data in middle endian to host endian. More... | |
int | arc_reg_add (struct target *target, struct arc_reg_desc *arc_reg, const char *const type_name, const size_t type_name_len) |
void | arc_reg_data_type_add (struct target *target, struct arc_reg_data_type *data_type) |
struct reg * | arc_reg_get_by_name (struct reg_cache *first, const char *name, bool search_all) |
Private implementation of register_get_by_name() for ARC that doesn't skip not [yet] existing registers. More... | |
int | arc_reg_get_field (struct target *target, const char *reg_name, const char *field_name, uint32_t *value_ptr) |
int | arc_remove_auxreg_actionpoint (struct target *target, uint32_t auxreg_addr) |
int | arc_set_actionpoints_num (struct target *target, uint32_t ap_num) |
void | free_reg_desc (struct arc_reg_desc *r) |
static struct arc_common * | target_to_arc (struct target *target) |
Variables | |
static const struct reg_data_type | standard_gdb_types [] |
#define ARC_COMMON_MAGIC 0xB32EB324U /* just a unique number */ |
#define AUX_STATUS32_REG_IE_BIT BIT(31) /* STATUS32[31] = IE field */ |
#define CHECK_RETVAL | ( | action | ) |
#define JIM_CHECK_RETVAL | ( | action | ) |
anonymous enum |
enum arc_actionpointype |
int arc_add_auxreg_actionpoint | ( | struct target * | target, |
uint32_t | auxreg_addr, | ||
uint32_t | transaction | ||
) |
Definition at line 1747 of file arc.c.
References arc_common::actionpoints_list, arc_common::actionpoints_num, AP_AC_AT_AUXREG_ADDR, arc_configure_actionpoint(), ERROR_OK, ERROR_TARGET_NOT_HALTED, ERROR_TARGET_RESOURCE_NOT_AVAILABLE, LOG_ERROR, arc_actionpoint::reg_address, target::state, TARGET_HALTED, target_to_arc(), and arc_actionpoint::used.
int arc_cache_flush | ( | struct target * | target | ) |
Definition at line 2231 of file arc.c.
References arc_dcache_flush(), arc_l2cache_flush(), CHECK_RETVAL, and ERROR_OK.
Referenced by arc_mem_read_block(), arc_mem_write_block16(), arc_mem_write_block32(), and arc_mem_write_block8().
int arc_cache_invalidate | ( | struct target * | target | ) |
Definition at line 2154 of file arc.c.
References arc_dcache_invalidate(), arc_icache_invalidate(), arc_l2cache_invalidate(), CHECK_RETVAL, and ERROR_OK.
Referenced by arc_mem_write_block16(), arc_mem_write_block32(), arc_mem_write_block8(), arc_set_breakpoint(), and arc_unset_breakpoint().
|
inlinestatic |
Convert data in host endianness to the middle endian.
This is required to write 4-byte instructions.
Definition at line 277 of file arc.h.
Referenced by arc_write_instruction_u32().
|
inlinestatic |
Convert data in middle endian to host endian.
This is required to read 32-bit instruction from little endian ARCs.
Definition at line 289 of file arc.h.
Referenced by arc_read_instruction_u32().
int arc_reg_add | ( | struct target * | target, |
struct arc_reg_desc * | arc_reg, | ||
const char *const | type_name, | ||
const size_t | type_name_len | ||
) |
Definition at line 167 of file arc.c.
References arc_reg_desc::arch_num, arc_common::aux_reg_descriptions, arc_common::bcr_reg_descriptions, arc_common::core_reg_descriptions, arc_reg_desc::data_type, ERROR_ARC_REGTYPE_NOT_FOUND, ERROR_OK, reg_data_type::id, arc_reg_desc::is_bcr, arc_reg_desc::is_core, arc_reg_desc::is_general, arc_reg_data_type::list, arc_reg_desc::list, list_add_tail(), list_for_each_entry, LOG_DEBUG, arc_reg_desc::name, arc_common::num_aux_regs, arc_common::num_bcr_regs, arc_common::num_core_regs, arc_common::num_regs, arc_common::reg_data_types, target_to_arc(), and type.
Referenced by jim_arc_add_reg().
void arc_reg_data_type_add | ( | struct target * | target, |
struct arc_reg_data_type * | data_type | ||
) |
Definition at line 54 of file arc.c.
References data_type, reg_data_type::id, list_add_tail(), LOG_DEBUG, arc_common::reg_data_types, and target_to_arc().
Referenced by arc_init_arch_info(), jim_arc_add_reg_type_flags(), and jim_arc_add_reg_type_struct().
Private implementation of register_get_by_name() for ARC that doesn't skip not [yet] existing registers.
Used in many places for iteration through registers and even for marking required registers as existing.
Definition at line 70 of file arc.c.
References name, reg::name, reg_cache::next, NULL, reg_cache::num_regs, and reg_cache::reg_list.
Referenced by arc_configure(), arc_get_register_value(), arc_reg_get_field(), arc_set_register_value(), and COMMAND_HANDLER().
int arc_reg_get_field | ( | struct target * | target, |
const char * | reg_name, | ||
const char * | field_name, | ||
uint32_t * | value_ptr | ||
) |
Definition at line 542 of file arc.c.
References arc_reg_get_by_name(), reg_data_type_struct_field::bitfield, buf_get_u32(), CHECK_RETVAL, reg_data_type_bitfield::end, ERROR_ARC_FIELD_IS_NOT_BITFIELD, ERROR_ARC_REGISTER_FIELD_NOT_FOUND, ERROR_ARC_REGISTER_IS_NOT_STRUCT, ERROR_ARC_REGISTER_NOT_FOUND, ERROR_OK, reg_data_type_struct::fields, reg_arch_type::get, LOG_DEBUG, LOG_ERROR, reg_data_type_struct_field::name, reg_data_type_struct_field::next, target::reg_cache, reg::reg_data_type, REG_TYPE_ARCH_DEFINED, REG_TYPE_CLASS_STRUCT, reg_data_type::reg_type_struct, reg_data_type_bitfield::start, reg_data_type::type, reg::type, reg_data_type::type_class, reg_data_type_struct_field::use_bitfields, reg::valid, and reg::value.
Referenced by arc_configure_dccm(), arc_configure_iccm(), arc_examine_debug_reason(), get_current_actionpoint(), and jim_arc_get_reg_field().
int arc_remove_auxreg_actionpoint | ( | struct target * | target, |
uint32_t | auxreg_addr | ||
) |
Definition at line 1779 of file arc.c.
References arc_common::actionpoints_list, AP_AC_AT_AUXREG_ADDR, AP_AC_TT_DISABLE, arc_configure_actionpoint(), arc_actionpoint::bp_value, ERROR_OK, ERROR_TARGET_NOT_HALTED, LOG_ERROR, arc_actionpoint::reg_address, target::state, TARGET_HALTED, target_to_arc(), and arc_actionpoint::used.
Referenced by arc_reset_actionpoints().
int arc_set_actionpoints_num | ( | struct target * | target, |
uint32_t | ap_num | ||
) |
Definition at line 1723 of file arc.c.
References arc_common::actionpoints_list, arc_common::actionpoints_num, arc_common::actionpoints_num_avail, arc_reset_actionpoints(), ERROR_FAIL, ERROR_OK, LOG_DEBUG, LOG_ERROR, target_name(), and target_to_arc().
void free_reg_desc | ( | struct arc_reg_desc * | r | ) |
Definition at line 656 of file arc_cmd.c.
References arc_reg_desc::gdb_xml_feature, and arc_reg_desc::name.
Referenced by arc_deinit_target(), and jim_arc_add_reg().
|
inlinestatic |
Definition at line 266 of file arc.h.
References target::arch_info.
Referenced by arc_add_auxreg_actionpoint(), arc_assert_reset(), arc_build_bcr_reg_cache(), arc_build_reg_cache(), arc_config_step(), arc_configure_actionpoint(), arc_configure_dccm(), arc_configure_iccm(), arc_dcache_flush(), arc_dcache_invalidate(), arc_deinit_target(), arc_enable_interrupts(), arc_examine(), arc_get_gdb_reg_list(), arc_get_register(), arc_halt(), arc_icache_invalidate(), arc_init_reg(), arc_l2cache_flush(), arc_l2cache_invalidate(), arc_mem_read_block(), arc_mem_write_block16(), arc_mem_write_block32(), arc_mem_write_block8(), arc_poll(), arc_reg_add(), arc_reg_data_type_add(), arc_remove_auxreg_actionpoint(), arc_reset_actionpoints(), arc_reset_caches_states(), arc_restore_context(), arc_resume(), arc_save_context(), arc_set_actionpoints_num(), arc_set_breakpoint(), arc_set_watchpoint(), arc_step(), arc_unset_breakpoint(), arc_unset_watchpoint(), COMMAND_HANDLER(), get_current_actionpoint(), jim_arc_get_aux_reg(), jim_arc_get_core_reg(), jim_arc_set_aux_reg(), and zephyr_create().
|
static |
Definition at line 1 of file arc.h.
Referenced by arc_init_arch_info().