36 return &riscv011_reg_type;
50 &&
"VLENB discovery is not supported on RISC-V 0.11 targets");
56 uint32_t non_discoverable_regs[] = {
61 for (
unsigned int i = 0; i <
ARRAY_SIZE(non_discoverable_regs); ++i) {
62 const uint32_t regno = non_discoverable_regs[i];
static uint64_t buf_get_u64(const uint8_t *_buffer, unsigned int first, unsigned int num)
Retrieves num bits from _buffer, starting at the first bit, returning the bits in a 64-bit word.
static void buf_set_u64(uint8_t *_buffer, unsigned int first, unsigned int num, uint64_t value)
Sets num bits in _buffer, starting at the first bit, using the bits in value.
int riscv011_get_register(struct target *target, riscv_reg_t *value, enum gdb_regno regid)
int riscv011_set_register(struct target *target, enum gdb_regno regid, riscv_reg_t value)
static int riscv011_reg_get(struct reg *reg)
int riscv011_reg_init_all(struct target *target)
This file describes additional register cache interface available to the RISC-V Debug Specification v...
static int riscv011_reg_set(struct reg *reg, uint8_t *buf)
static const struct reg_arch_type * riscv011_gdb_regno_reg_type(uint32_t regno)
void riscv_reg_impl_hide_csrs(const struct target *target)
Hide additional CSRs, as specified by riscv_info_t::hide_csr list.
bool riscv_reg_impl_gdb_regno_exist(const struct target *target, uint32_t regno)
For most registers, returns whether they exist or not.
struct target * riscv_reg_impl_get_target(const struct reg *reg)
Return the target that owns the cache entry.
int riscv_reg_impl_expose_csrs(const struct target *target)
Expose additional CSRs, as specified by riscv_info_t::expose_csr list.
int riscv_reg_impl_init_cache_entry(struct target *target, uint32_t regno, bool exist, const struct reg_arch_type *reg_type)
Initialize register.
int riscv_reg_impl_init_cache(struct target *target)
Initialize register cache.
struct reg * riscv_reg_impl_cache_entry(const struct target *target, uint32_t number)
Return the entry in the register cache of the target.
static bool riscv_reg_impl_is_initialized(const struct reg *reg)
This file describes the helpers to use during register cache initialization of a RISC-V target.
static void init_shared_reg_info(struct target *target)
int(* get)(struct reg *reg)
struct reg_cache * reg_cache
#define ARRAY_SIZE(x)
Compute the number of elements of a variable length array.