45 { 1, RISCV_CSR_SSTATUS_REGNUM, 0 },
52 { 1, RISCV_CSR_FCSR_REGNUM, 8 },
103#define RISCV_SIGFRAME_UCONTEXT_OFFSET 80
104#define RISCV_UCONTEXT_MCONTEXT_OFFSET 16
105#define RISCV_MCONTEXT_FLAG_FP_VALID 0x1
118 CORE_ADDR mcontext_addr
127 CORE_ADDR fpregs_addr
129 CORE_ADDR fp_flags_addr
151 {0x850a, ULONGEST_MAX},
152 {0x0513, ULONGEST_MAX},
153 {0x0505, ULONGEST_MAX},
154 {0x0293, ULONGEST_MAX},
155 {0x1a10, ULONGEST_MAX},
156 {0x0073, ULONGEST_MAX},
157 {0x0000, ULONGEST_MAX},
167 CORE_ADDR
lm_addr, CORE_ADDR offset)
178 error (_(
"Unable to fetch %%tp"));
enum register_status cooked_read(int regnum, gdb_byte *buf)
static ULONGEST extract_unsigned_integer(gdb::array_view< const gdb_byte > buf, enum bfd_endian byte_order)
CORE_ADDR fbsd_get_thread_local_address(struct gdbarch *gdbarch, CORE_ADDR dtv_addr, CORE_ADDR lm_addr, CORE_ADDR offset)
void fbsd_init_abi(struct gdbarch_info info, struct gdbarch *gdbarch)
ULONGEST get_frame_register_unsigned(frame_info_ptr frame, int regnum)
struct frame_id frame_id_build(CORE_ADDR stack_addr, CORE_ADDR code_addr)
struct gdbarch * get_frame_arch(frame_info_ptr this_frame)
enum bfd_endian gdbarch_byte_order(struct gdbarch *gdbarch)
void set_gdbarch_software_single_step(struct gdbarch *gdbarch, gdbarch_software_single_step_ftype *software_single_step)
void set_gdbarch_get_thread_local_address(struct gdbarch *gdbarch, gdbarch_get_thread_local_address_ftype *get_thread_local_address)
void set_gdbarch_fetch_tls_load_module_address(struct gdbarch *gdbarch, gdbarch_fetch_tls_load_module_address_ftype *fetch_tls_load_module_address)
int gdbarch_ptr_bit(struct gdbarch *gdbarch)
void set_gdbarch_iterate_over_regset_sections(struct gdbarch *gdbarch, gdbarch_iterate_over_regset_sections_ftype *iterate_over_regset_sections)
void iterate_over_regset_sections_cb(const char *sect_name, int supply_size, int collect_size, const struct regset *regset, const char *human_name, void *cb_data)
struct inferior * current_inferior(void)
static CORE_ADDR lm_addr(struct so_list *so)
void gdbarch_register_osabi(enum bfd_architecture arch, unsigned long machine, enum gdb_osabi osabi, void(*init_osabi)(struct gdbarch_info, struct gdbarch *))
void regcache_collect_regset(const struct regset *regset, const struct regcache *regcache, int regnum, void *buf, size_t size)
struct regcache * get_thread_arch_regcache(process_stratum_target *target, ptid_t ptid, struct gdbarch *gdbarch)
void(* func)(remote_target *remote, char *)
static void riscv_fbsd_init_abi(struct gdbarch_info info, struct gdbarch *gdbarch)
#define RISCV_MCONTEXT_FLAG_FP_VALID
const struct regset riscv_fbsd_fpregset
const struct regset riscv_fbsd_gregset
static void riscv_fbsd_sigframe_init(const struct tramp_frame *self, frame_info_ptr this_frame, struct trad_frame_cache *this_cache, CORE_ADDR func)
static const struct regcache_map_entry riscv_fbsd_fpregmap[]
void _initialize_riscv_fbsd_tdep()
static const struct regcache_map_entry riscv_fbsd_gregmap[]
static CORE_ADDR riscv_fbsd_get_thread_local_address(struct gdbarch *gdbarch, ptid_t ptid, CORE_ADDR lm_addr, CORE_ADDR offset)
static void riscv_fbsd_iterate_over_regset_sections(struct gdbarch *gdbarch, iterate_over_regset_sections_cb *cb, void *cb_data, const struct regcache *regcache)
#define RISCV_SIGFRAME_UCONTEXT_OFFSET
#define RISCV_UCONTEXT_MCONTEXT_OFFSET
static const struct tramp_frame riscv_fbsd_sigframe
#define RISCV_FBSD_SIZEOF_FPREGSET
#define RISCV_FBSD_NUM_GREGS
void riscv_supply_regset(const struct regset *regset, struct regcache *regcache, int regnum, const void *regs, size_t len)
int riscv_isa_xlen(struct gdbarch *gdbarch)
std::vector< CORE_ADDR > riscv_software_single_step(struct regcache *regcache)
void set_solib_svr4_fetch_link_map_offsets(struct gdbarch *gdbarch, struct link_map_offsets *(*flmo)(void))
struct link_map_offsets * svr4_lp64_fetch_link_map_offsets(void)
CORE_ADDR svr4_fetch_objfile_link_map(struct objfile *objfile)
struct link_map_offsets * svr4_ilp32_fetch_link_map_offsets(void)
void target_fetch_registers(struct regcache *regcache, int regno)
int target_read_memory(CORE_ADDR memaddr, gdb_byte *myaddr, ssize_t len)
void trad_frame_set_reg_regmap(struct trad_frame_cache *this_trad_cache, const struct regcache_map_entry *regmap, CORE_ADDR addr, size_t size)
void trad_frame_set_id(struct trad_frame_cache *this_trad_cache, struct frame_id this_id)
void tramp_frame_prepend_unwinder(struct gdbarch *gdbarch, const struct tramp_frame *tramp_frame)
#define TRAMP_SENTINEL_INSN