37#define MIPS_PC_REGNUM MIPS_EMBED_PC_REGNUM
38#define MIPS_FP0_REGNUM MIPS_EMBED_FP0_REGNUM
39#define MIPS_FSR_REGNUM MIPS_EMBED_FP0_REGNUM + 32
44#define MIPSNBSD_NUM_GREGS 38
47#define MIPSNBSD_NUM_FPREGS 33
56 int regnum,
const void *fpregs,
size_t len)
59 const char *regs = (
const char *) fpregs;
78 const void *gregs,
size_t len)
81 const char *regs = (
const char *) gregs;
144 if (regno == i || regno == -1)
162 if ((regno == i || regno == -1)
169 const char *fpregs,
int regno)
178 if (regno == i || regno == -1)
200 if ((regno == i || regno == -1)
225#define RETCODE_NWORDS 3
226#define RETCODE_SIZE (RETCODE_NWORDS * 4)
228static const unsigned char sigtramp_retcode_mipsel[
RETCODE_SIZE] =
230 0x10, 0x00, 0xa4, 0x27,
231 0x27, 0x01, 0x02, 0x24,
232 0x0c, 0x00, 0x00, 0x00,
235static const unsigned char sigtramp_retcode_mipseb[
RETCODE_SIZE] =
237 0x27, 0xa4, 0x00, 0x10,
238 0x24, 0x02, 0x01, 0x27,
239 0x00, 0x00, 0x00, 0x0c,
251#define NBSD_MIPS_JB_PC (2 * 4)
252#define NBSD_MIPS_JB_ELEMENT_SIZE(gdbarch) mips_isa_regsize (gdbarch)
253#define NBSD_MIPS_JB_OFFSET(gdbarch) (NBSD_MIPS_JB_PC * \
254 NBSD_MIPS_JB_ELEMENT_SIZE (gdbarch))
void raw_collect(int regnum, void *buf) const override
void raw_supply(int regnum, const void *buf) override
static ULONGEST extract_unsigned_integer(gdb::array_view< const gdb_byte > buf, enum bfd_endian byte_order)
ULONGEST get_frame_register_unsigned(frame_info_ptr frame, int regnum)
struct gdbarch * get_frame_arch(frame_info_ptr this_frame)
int gdbarch_pc_regnum(struct gdbarch *gdbarch)
int gdbarch_cannot_store_register(struct gdbarch *gdbarch, int regnum)
int gdbarch_cannot_fetch_register(struct gdbarch *gdbarch, int regnum)
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_longjmp_target(struct gdbarch *gdbarch, gdbarch_get_longjmp_target_ftype *get_longjmp_target)
int gdbarch_fp0_regnum(struct gdbarch *gdbarch)
void set_gdbarch_cannot_store_register(struct gdbarch *gdbarch, gdbarch_cannot_store_register_ftype *cannot_store_register)
void set_gdbarch_cannot_fetch_register(struct gdbarch *gdbarch, gdbarch_cannot_fetch_register_ftype *cannot_fetch_register)
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)
static int mipsnbsd_cannot_store_register(struct gdbarch *gdbarch, int regno)
static int mipsnbsd_cannot_fetch_register(struct gdbarch *gdbarch, int regno)
void mipsnbsd_supply_reg(struct regcache *regcache, const char *regs, int regno)
static void mipsnbsd_supply_gregset(const struct regset *regset, struct regcache *regcache, int regnum, const void *gregs, size_t len)
void mipsnbsd_supply_fpreg(struct regcache *regcache, const char *fpregs, int regno)
#define MIPSNBSD_NUM_GREGS
static struct link_map_offsets * mipsnbsd_ilp32_fetch_link_map_offsets(void)
static const struct regset mipsnbsd_fpregset
#define MIPSNBSD_NUM_FPREGS
void mipsnbsd_fill_fpreg(const struct regcache *regcache, char *fpregs, int regno)
static struct link_map_offsets * mipsnbsd_lp64_fetch_link_map_offsets(void)
static const struct regset mipsnbsd_gregset
#define NBSD_MIPS_JB_ELEMENT_SIZE(gdbarch)
void mipsnbsd_fill_reg(const struct regcache *regcache, char *regs, int regno)
#define NBSD_MIPS_JB_OFFSET(gdbarch)
static void mipsnbsd_iterate_over_regset_sections(struct gdbarch *gdbarch, iterate_over_regset_sections_cb *cb, void *cb_data, const struct regcache *regcache)
static void mipsnbsd_supply_fpregset(const struct regset *regset, struct regcache *regcache, int regnum, const void *fpregs, size_t len)
void _initialize_mipsnbsd_tdep()
static int mipsnbsd_get_longjmp_target(frame_info_ptr frame, CORE_ADDR *pc)
static void mipsnbsd_init_abi(struct gdbarch_info info, struct gdbarch *gdbarch)
std::vector< CORE_ADDR > mips_software_single_step(struct regcache *regcache)
const struct mips_regnum * mips_regnum(struct gdbarch *gdbarch)
int mips_isa_regsize(struct gdbarch *gdbarch)
void nbsd_init_abi(struct gdbarch_info info, struct gdbarch *gdbarch)
void gdbarch_register_osabi(enum bfd_architecture arch, unsigned long machine, enum gdb_osabi osabi, void(*init_osabi)(struct gdbarch_info, struct gdbarch *))
#define REGSET_VARIABLE_SIZE
void set_solib_svr4_fetch_link_map_offsets(struct gdbarch *gdbarch, struct link_map_offsets *(*flmo)(void))
int fp_implementation_revision
int target_read_memory(CORE_ADDR memaddr, gdb_byte *myaddr, ssize_t len)