OpenOCD
riscv-013_reg.h File Reference
Include dependency graph for riscv-013_reg.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

int riscv013_reg_examine_all (struct target *target)
 This file describes additional register cache interface available to the RISC-V Debug Specification v0.13+ targets. More...
 
int riscv013_reg_save (struct target *target, enum gdb_regno regid)
 This function is used to save the value of a register in cache. More...
 

Function Documentation

◆ riscv013_reg_examine_all()

int riscv013_reg_examine_all ( struct target target)

This file describes additional register cache interface available to the RISC-V Debug Specification v0.13+ targets.

This function assumes target is halted. After this function all registers can be safely accessed via functions described here and in riscv_reg.h.

This file describes additional register cache interface available to the RISC-V Debug Specification v0.13+ targets.

Definition at line 296 of file riscv-013_reg.c.

References ERROR_OK, examine_misa(), examine_mtopi(), examine_vlenb(), examine_xlen(), GDB_REGNO_S0, GDB_REGNO_S1, init_cache_entry(), init_shared_reg_info(), reg_cache::num_regs, target::reg_cache, riscv_reg_impl_expose_csrs(), riscv_reg_impl_hide_csrs(), riscv_reg_impl_init_cache(), riscv_reg_impl_init_vector_reg_type(), target::state, and TARGET_HALTED.

Referenced by examine().

◆ riscv013_reg_save()

int riscv013_reg_save ( struct target target,
enum gdb_regno  regid 
)

This function is used to save the value of a register in cache.

The register is marked as dirty, and writeback is delayed for as long as possible. Generally used to save registers before program buffer execution.

TODO: The interface should be restricted in such a way that only GPRs can be saved.

The register is marked as dirty, and writeback is delayed for as long as possible.

Definition at line 352 of file riscv-013_reg.c.

References reg::dirty, ERROR_FAIL, ERROR_OK, LOG_TARGET_DEBUG, LOG_TARGET_ERROR, reg::name, target::reg_cache, RISCV_INFO, riscv_reg_gdb_regno_name(), riscv_reg_get(), riscv_reg_impl_cache_entry(), riscv_reg_impl_gdb_regno_cacheable(), target::state, TARGET_HALTED, target_was_examined(), timeval_ms(), reg::valid, and reg::value.

Referenced by access_memory_progbuf(), csr_read_progbuf(), csr_write_progbuf(), examine_progbuf(), fpr_read_progbuf(), fpr_write_progbuf(), riscv013_get_register_buf(), riscv013_set_register_buf(), vl_write_progbuf(), vtype_write_progbuf(), and write_memory_progbuf().