OpenOCD
|
Go to the source code of this file.
Data Structures | |
struct | riscv_batch |
Enumerations | |
enum | riscv_scan_type { RISCV_SCAN_TYPE_INVALID , RISCV_SCAN_TYPE_NOP , RISCV_SCAN_TYPE_READ , RISCV_SCAN_TYPE_WRITE } |
Functions | |
size_t | riscv_batch_add_dmi_read (struct riscv_batch *batch, unsigned address) |
void | riscv_batch_add_dmi_write (struct riscv_batch *batch, unsigned address, uint64_t data) |
void | riscv_batch_add_nop (struct riscv_batch *batch) |
struct riscv_batch * | riscv_batch_alloc (struct target *target, size_t scans, size_t idle) |
size_t | riscv_batch_available_scans (struct riscv_batch *batch) |
void | riscv_batch_free (struct riscv_batch *batch) |
bool | riscv_batch_full (struct riscv_batch *batch) |
uint32_t | riscv_batch_get_dmi_read_data (struct riscv_batch *batch, size_t key) |
unsigned | riscv_batch_get_dmi_read_op (struct riscv_batch *batch, size_t key) |
int | riscv_batch_run (struct riscv_batch *batch) |
enum riscv_scan_type |
size_t riscv_batch_add_dmi_read | ( | struct riscv_batch * | batch, |
unsigned | address | ||
) |
Definition at line 141 of file batch.c.
References riscv_batch::allocated_scans, riscv_batch::data_in, riscv_batch::data_out, DMI_SCAN_BUF_SIZE, riscv_batch::fields, scan_field::in_value, riscv_batch::last_scan, scan_field::num_bits, scan_field::out_value, riscv_batch::read_keys, riscv_batch::read_keys_used, riscv_dmi_write_u64_bits(), riscv_fill_dmi_nop_u64(), riscv_fill_dmi_read_u64(), RISCV_SCAN_TYPE_READ, riscv_batch::target, and riscv_batch::used_scans.
Referenced by read_memory_progbuf_inner(), and sample_memory_bus_v1().
void riscv_batch_add_dmi_write | ( | struct riscv_batch * | batch, |
unsigned | address, | ||
uint64_t | data | ||
) |
Definition at line 128 of file batch.c.
References riscv_batch::allocated_scans, riscv_batch::data_in, riscv_batch::data_out, DMI_SCAN_BUF_SIZE, riscv_batch::fields, scan_field::in_value, riscv_batch::last_scan, scan_field::num_bits, scan_field::out_value, riscv_dmi_write_u64_bits(), riscv_fill_dmi_nop_u64(), riscv_fill_dmi_write_u64(), RISCV_SCAN_TYPE_WRITE, riscv_batch::target, and riscv_batch::used_scans.
Referenced by sample_memory_bus_v1(), write_memory_bus_v1(), and write_memory_progbuf().
void riscv_batch_add_nop | ( | struct riscv_batch * | batch | ) |
Definition at line 177 of file batch.c.
References riscv_batch::allocated_scans, riscv_batch::data_in, riscv_batch::data_out, DMI_SCAN_BUF_SIZE, riscv_batch::fields, scan_field::in_value, riscv_batch::last_scan, scan_field::num_bits, scan_field::out_value, riscv_dmi_write_u64_bits(), riscv_fill_dmi_nop_u64(), RISCV_SCAN_TYPE_NOP, riscv_batch::target, and riscv_batch::used_scans.
Referenced by riscv_batch_run().
struct riscv_batch* riscv_batch_alloc | ( | struct target * | target, |
size_t | scans, | ||
size_t | idle | ||
) |
Definition at line 20 of file batch.c.
References riscv_batch::allocated_scans, riscv_batch::bscan_ctxt, bscan_tunnel_ir_width, riscv_batch::data_in, riscv_batch::data_out, DMI_SCAN_BUF_SIZE, riscv_batch::fields, riscv_batch::idle_count, riscv_batch::last_scan, LOG_ERROR, NULL, riscv_batch::read_keys, RISCV_SCAN_TYPE_INVALID, target, and riscv_batch::target.
Referenced by read_memory_progbuf_inner(), sample_memory_bus_v1(), write_memory_bus_v1(), and write_memory_progbuf().
size_t riscv_batch_available_scans | ( | struct riscv_batch * | batch | ) |
Definition at line 222 of file batch.c.
References riscv_batch::allocated_scans, and riscv_batch::used_scans.
Referenced by write_memory_bus_v1().
void riscv_batch_free | ( | struct riscv_batch * | batch | ) |
Definition at line 73 of file batch.c.
References riscv_batch::bscan_ctxt, riscv_batch::data_in, riscv_batch::data_out, riscv_batch::fields, and riscv_batch::read_keys.
Referenced by read_memory_progbuf_inner(), sample_memory_bus_v1(), write_memory_bus_v1(), and write_memory_progbuf().
bool riscv_batch_full | ( | struct riscv_batch * | batch | ) |
Definition at line 83 of file batch.c.
References riscv_batch::allocated_scans, and riscv_batch::used_scans.
Referenced by read_memory_progbuf_inner(), and write_memory_progbuf().
uint32_t riscv_batch_get_dmi_read_data | ( | struct riscv_batch * | batch, |
size_t | key | ||
) |
Definition at line 167 of file batch.c.
References buf_get_u32(), riscv_batch::data_in, DMI_SCAN_BUF_SIZE, DTM_DMI_DATA_LENGTH, DTM_DMI_DATA_OFFSET, and riscv_batch::read_keys.
Referenced by read_memory_progbuf_inner(), and sample_memory_bus_v1().
unsigned riscv_batch_get_dmi_read_op | ( | struct riscv_batch * | batch, |
size_t | key | ||
) |
Definition at line 157 of file batch.c.
References buf_get_u32(), riscv_batch::data_in, DMI_SCAN_BUF_SIZE, DTM_DMI_OP_LENGTH, DTM_DMI_OP_OFFSET, and riscv_batch::read_keys.
Referenced by read_memory_progbuf_inner().
int riscv_batch_run | ( | struct riscv_batch * | batch | ) |
Definition at line 88 of file batch.c.
References riscv_batch::bscan_ctxt, bscan_tunnel_ir_width, buffer_shr(), DMI_SCAN_BUF_SIZE, dump_field(), ERROR_FAIL, ERROR_OK, riscv_batch::fields, riscv_batch::idle_count, jtag_add_dr_scan(), jtag_add_runtest(), jtag_execute_queue(), keep_alive(), LOG_DEBUG, LOG_ERROR, riscv_add_bscan_tunneled_scan(), riscv_batch_add_nop(), target::tap, TAP_IDLE, riscv_batch::target, and riscv_batch::used_scans.
Referenced by batch_run().