OpenOCD
|
Go to the source code of this file.
Functions | |
int | nds32_v3_checksum_memory (struct target *target, target_addr_t address, uint32_t count, uint32_t *checksum) |
void | nds32_v3_common_register_callback (struct nds32_v3_common_callback *callback) |
static int | nds32_v3_debug_entry (struct nds32 *nds32, bool enable_watchpoint) |
Save processor state. More... | |
static int | nds32_v3_get_debug_reason (struct nds32 *nds32, uint32_t *reason) |
static int | nds32_v3_get_exception_address (struct nds32 *nds32, uint32_t *address, uint32_t reason) |
int | nds32_v3_hit_watchpoint (struct target *target, struct watchpoint **hit_watchpoint) |
find out which watchpoint hits get exception address and compare the address to watchpoints More... | |
int | nds32_v3_init_target (struct command_context *cmd_ctx, struct target *target) |
static int | nds32_v3_leave_debug_state (struct nds32 *nds32, bool enable_watchpoint) |
Restore processor state. More... | |
int | nds32_v3_read_buffer (struct target *target, target_addr_t address, uint32_t size, uint8_t *buffer) |
int | nds32_v3_read_memory (struct target *target, target_addr_t address, uint32_t size, uint32_t count, uint8_t *buffer) |
static int | nds32_v3_register_mapping (struct nds32 *nds32, int reg_no) |
int | nds32_v3_run_algorithm (struct target *target, int num_mem_params, struct mem_param *mem_params, int num_reg_params, struct reg_param *reg_params, target_addr_t entry_point, target_addr_t exit_point, int timeout_ms, void *arch_info) |
int | nds32_v3_target_create_common (struct target *target, struct nds32 *nds32) |
int | nds32_v3_target_request_data (struct target *target, uint32_t size, uint8_t *buffer) |
target_type functions: More... | |
int | nds32_v3_write_buffer (struct target *target, target_addr_t address, uint32_t size, const uint8_t *buffer) |
int | nds32_v3_write_memory (struct target *target, target_addr_t address, uint32_t size, uint32_t count, const uint8_t *buffer) |
Variables | |
static struct nds32_v3_common_callback * | v3_common_callback |
int nds32_v3_checksum_memory | ( | struct target * | target, |
target_addr_t | address, | ||
uint32_t | count, | ||
uint32_t * | checksum | ||
) |
Definition at line 359 of file nds32_v3_common.c.
References ERROR_FAIL, and LOG_WARNING.
void nds32_v3_common_register_callback | ( | struct nds32_v3_common_callback * | callback | ) |
Definition at line 332 of file nds32_v3_common.c.
References v3_common_callback.
Referenced by nds32_v3_target_create(), and nds32_v3m_target_create().
|
static |
Save processor state.
This is called after a HALT instruction succeeds, and on other occasions the processor enters debug mode (breakpoint, watchpoint, etc).
disable virtual hosting
process syscall for virtual hosting
Definition at line 45 of file nds32_v3_common.c.
References nds32_v3_common_callback::activate_hardware_breakpoint, nds32_v3_common_callback::activate_hardware_watchpoint, breakpoint::address, nds32_v3_common_callback::check_interrupt_stack, CHECK_RETVAL, nds32::core_cache, nds32_v3_common_callback::deactivate_hardware_breakpoint, nds32_v3_common_callback::deactivate_hardware_watchpoint, ERROR_FAIL, ERROR_OK, nds32::hit_syscall, nds32::init_arch_info_after_halted, breakpoint::is_set, LOG_DEBUG, nds32_config(), nds32_examine_debug_reason(), nds32_full_context(), nds32_get_mapped_reg(), PC, register_cache_invalidate(), target::state, nds32::syscall_break, nds32::target, TARGET_HALTED, target_remove_breakpoint(), v3_common_callback, and nds32::virtual_hosting.
Referenced by nds32_v3_target_create_common().
|
static |
Definition at line 29 of file nds32_v3_common.c.
References aice_read_debug_reg(), ERROR_OK, NDS_EDM_SR_EDMSW, nds32::target, and target_to_aice().
Referenced by nds32_v3_target_create_common().
|
static |
Definition at line 208 of file nds32_v3_common.c.
References nds32_instruction::access_end, nds32_instruction::access_start, watchpoint::address, aice_read_debug_reg(), aice_write_debug_reg(), ERROR_FAIL, ERROR_OK, nds32::global_stop, watchpoint::length, LOG_DEBUG, watchpoint::mask, NDS32_DEBUG_DATA_ADDR_WATCHPOINT_NEXT_PRECISE, NDS32_DEBUG_DATA_VALUE_WATCHPOINT_NEXT_PRECISE, NDS32_DEBUG_LOAD_STORE_GLOBAL_STOP, nds32_evaluate_opcode(), nds32_get_mapped_reg(), nds32_read_opcode(), NDS_EDM_SR_BPA0, NDS_EDM_SR_BPC0, NDS_EDM_SR_EDM_CFG, NDS_EDM_SR_EDMSW, watchpoint::next, nds32_instruction::opcode, PC, nds32::target, target_to_aice(), and target::watchpoints.
Referenced by nds32_v3_target_create_common().
int nds32_v3_hit_watchpoint | ( | struct target * | target, |
struct watchpoint ** | hit_watchpoint | ||
) |
find out which watchpoint hits get exception address and compare the address to watchpoints
Definition at line 371 of file nds32_v3_common.c.
References watchpoint::address, ERROR_FAIL, ERROR_OK, watchpoint::mask, watchpoint::next, watchpoint::rw, target_to_nds32(), watchpoint::unique_id, nds32::watched_address, target::watchpoints, and WPT_WRITE.
int nds32_v3_init_target | ( | struct command_context * | cmd_ctx, |
struct target * | target | ||
) |
Definition at line 652 of file nds32_v3_common.c.
References ERROR_OK, target::fileio_info, gdb_fileio_info::identifier, nds32_init(), NULL, and target_to_nds32().
|
static |
Restore processor state.
enable virtual hosting
Definition at line 109 of file nds32_v3_common.c.
References nds32_v3_common_callback::activate_hardware_breakpoint, nds32_v3_common_callback::activate_hardware_watchpoint, breakpoint::address, aice_execute(), aice_read_debug_reg(), aice_read_register(), aice_step(), aice_write_debug_reg(), aice_write_register(), BKPT_SOFT, CHECK_RETVAL, ERROR_OK, nds32::hit_syscall, IR11, IR3, IR6, IR9, IRET, breakpoint::is_set, LOG_DEBUG, nds32_get_mapped_reg(), nds32_restore_context(), NDS32_SYSCALL_EXIT, NDS_EDM_SR_BPA0, NDS_EDM_SR_BPAM0, NDS_EDM_SR_BPC0, NDS_EDM_SR_DIMBR, NOP, nds32_v3_common_callback::restore_interrupt_stack, nds32::syscall_break, nds32::target, target_add_breakpoint(), target_to_aice(), breakpoint::type, v3_common_callback, and nds32::virtual_hosting.
Referenced by nds32_v3_target_create_common().
int nds32_v3_read_buffer | ( | struct target * | target, |
target_addr_t | address, | ||
uint32_t | size, | ||
uint8_t * | buffer | ||
) |
Definition at line 436 of file nds32_v3_common.c.
References nds32_memory::access_channel, aice_memory_access(), buffer, ERROR_FAIL, ERROR_OK, ERROR_TARGET_NOT_HALTED, nds32::hit_syscall, LOG_WARNING, nds32::memory, nds32_read_buffer(), NDS_MEMORY_ACC_BUS, NDS_MEMORY_ACC_CPU, size, target::state, TARGET_HALTED, target_to_aice(), target_to_nds32(), target::type, and target_type::virt2phys.
int nds32_v3_read_memory | ( | struct target * | target, |
target_addr_t | address, | ||
uint32_t | size, | ||
uint32_t | count, | ||
uint8_t * | buffer | ||
) |
Definition at line 556 of file nds32_v3_common.c.
References nds32_memory::access_channel, aice_memory_access(), buffer, count, ERROR_FAIL, ERROR_OK, ERROR_TARGET_NOT_HALTED, nds32::hit_syscall, LOG_WARNING, nds32::memory, nds32_read_memory(), NDS_MEMORY_ACC_BUS, NDS_MEMORY_ACC_CPU, size, target::state, TARGET_HALTED, target_to_aice(), target_to_nds32(), target::type, and target_type::virt2phys.
|
static |
Definition at line 21 of file nds32_v3_common.c.
Referenced by nds32_v3_target_create_common().
int nds32_v3_run_algorithm | ( | struct target * | target, |
int | num_mem_params, | ||
struct mem_param * | mem_params, | ||
int | num_reg_params, | ||
struct reg_param * | reg_params, | ||
target_addr_t | entry_point, | ||
target_addr_t | exit_point, | ||
int | timeout_ms, | ||
void * | arch_info | ||
) |
Definition at line 421 of file nds32_v3_common.c.
References ERROR_FAIL, and LOG_WARNING.
Definition at line 406 of file nds32_v3_common.c.
References nds32::enter_debug_state, ERROR_OK, nds32::get_debug_reason, nds32::get_watched_address, nds32::leave_debug_state, nds32_init_arch_info(), nds32_v3_debug_entry(), nds32_v3_get_debug_reason(), nds32_v3_get_exception_address(), nds32_v3_leave_debug_state(), nds32_v3_register_mapping(), and nds32::register_map.
Referenced by nds32_v3_target_create(), and nds32_v3m_target_create().
int nds32_v3_target_request_data | ( | struct target * | target, |
uint32_t | size, | ||
uint8_t * | buffer | ||
) |
target_type functions:
Definition at line 339 of file nds32_v3_common.c.
References ERROR_OK, and LOG_WARNING.
int nds32_v3_write_buffer | ( | struct target * | target, |
target_addr_t | address, | ||
uint32_t | size, | ||
const uint8_t * | buffer | ||
) |
Definition at line 494 of file nds32_v3_common.c.
References nds32_memory::access_channel, aice_memory_access(), buffer, nds32_memory::dcache, nds32_cache::enable, ERROR_FAIL, ERROR_OK, ERROR_TARGET_NOT_HALTED, nds32::hit_syscall, nds32_cache::line_size, LOG_WARNING, nds32::memory, nds32_gdb_fileio_write_memory(), nds32_write_buffer(), NDS_MEMORY_ACC_BUS, NDS_MEMORY_ACC_CPU, size, target::state, TARGET_HALTED, target_to_aice(), target_to_nds32(), target::type, and target_type::virt2phys.
int nds32_v3_write_memory | ( | struct target * | target, |
target_addr_t | address, | ||
uint32_t | size, | ||
uint32_t | count, | ||
const uint8_t * | buffer | ||
) |
Definition at line 614 of file nds32_v3_common.c.
References nds32_memory::access_channel, buffer, count, ERROR_FAIL, ERROR_OK, ERROR_TARGET_NOT_HALTED, LOG_WARNING, nds32::memory, nds32_write_memory(), NDS_MEMORY_ACC_CPU, size, target::state, TARGET_HALTED, target_to_nds32(), target::type, and target_type::virt2phys.
|
static |
Definition at line 19 of file nds32_v3_common.c.
Referenced by nds32_v3_common_register_callback(), nds32_v3_debug_entry(), and nds32_v3_leave_debug_state().