36#define SIZEOF_CSKY_GREGSET 34*4
38#define SIZEOF_CSKY_FREGSET 34*4
40#define SIZEOF_CSKY_FREGSET_K4X 400
71 const void *regs,
size_t len)
74 const gdb_byte *gregs = (
const gdb_byte *) regs ;
79 for (i = 0; i < gregset_num; i++)
92 int regnum,
void *gregs_buf,
size_t len)
94 int regno, gregset_num;
95 gdb_byte *gregs = (gdb_byte *) gregs_buf ;
100 for (regno = 0; regno < gregset_num; regno++)
114 const void *regs,
size_t len)
119 const gdb_byte *fregs = (
const gdb_byte *) regs;
125 for (i = 0; i < fregset_num; i++)
153 int fcr_regno[] = {122, 123, 121};
156 for (i = 0; i < 16; i ++)
165 for (i = 0; i < 16; i ++)
174 for (i = 0; i < 16; i ++)
178 offset = (16 * 16) + (8 * i);
183 for (i = 0; i < 3; i ++)
187 offset = (16 * 16) + (16 * 8) + (4 * i);
194 warning (_(
"Unknow size %s of section .reg2, can not get value"
195 " of float registers."), pulongest (len));
204 int regnum,
void *fregs_buf,
size_t len)
208 gdb_byte *fregs = (gdb_byte *) fregs_buf ;
215 for (regno = 0; regno < fregset_num; regno++)
243 int fcr_regno[] = {122, 123, 121};
246 for (i = 0; i < 16; i ++)
255 for (i = 0; i < 16; i ++)
259 offset = (16 * 16) + (8 * i);
264 for (i = 0; i < 3; i ++)
268 offset = (16 * 16) + (16 * 8) + (4 * i);
275 warning (_(
"Unknow size %s of section .reg2, will not set value"
276 " of float registers."), pulongest (len));
326 for (i = 0; i < 14; i++)
334 for (i = 15; i < 31; i++)
382 for (i = 0; i < 14; i++)
void raw_collect(int regnum, void *buf) const override
void raw_supply(int regnum, const void *buf) override
#define SIZEOF_CSKY_FREGSET
static void csky_supply_gregset(const struct regset *regset, struct regcache *regcache, int regnum, const void *regs, size_t len)
static const struct regset csky_regset_general
static const int csky_gregset_offset[]
static void csky_linux_iterate_over_regset_sections(struct gdbarch *gdbarch, iterate_over_regset_sections_cb *cb, void *cb_data, const struct regcache *regcache)
static void csky_linux_rt_sigreturn_init_pt_regs(const struct tramp_frame *self, frame_info_ptr this_frame, struct trad_frame_cache *this_cache, CORE_ADDR func)
static void csky_collect_fregset(const struct regset *regset, const struct regcache *regcache, int regnum, void *fregs_buf, size_t len)
void _initialize_csky_linux_tdep()
#define SIZEOF_CSKY_GREGSET
static void csky_collect_gregset(const struct regset *regset, const struct regcache *regcache, int regnum, void *gregs_buf, size_t len)
static void csky_linux_init_abi(struct gdbarch_info info, struct gdbarch *gdbarch)
static const struct regset csky_regset_float
static const int csky_fregset_offset[]
static struct tramp_frame csky_linux_rt_sigreturn_tramp_frame_kernel_4x
static void csky_linux_rt_sigreturn_init(const struct tramp_frame *self, frame_info_ptr this_frame, struct trad_frame_cache *this_cache, CORE_ADDR func)
static void csky_supply_fregset(const struct regset *regset, struct regcache *regcache, int regnum, const void *regs, size_t len)
static struct tramp_frame csky_linux_rt_sigreturn_tramp_frame
#define SIZEOF_CSKY_FREGSET_K4X
#define CSKY_SIGCONTEXT_SC_USP
#define CSKY_SIGINFO_OFFSET
#define CSKY_SIGCONTEXT_SC_A0
#define CSKY_SIGINFO_SIZE
#define CSKY_SIGCONTEXT_PT_REGS_TLS
#define CSKY_UCONTEXT_SIGCONTEXT
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)
const char * gdbarch_register_name(struct gdbarch *gdbarch, int regnr)
void set_gdbarch_skip_trampoline_code(struct gdbarch *gdbarch, gdbarch_skip_trampoline_code_ftype *skip_trampoline_code)
void set_gdbarch_fetch_tls_load_module_address(struct gdbarch *gdbarch, gdbarch_fetch_tls_load_module_address_ftype *fetch_tls_load_module_address)
void set_gdbarch_skip_solib_resolver(struct gdbarch *gdbarch, gdbarch_skip_solib_resolver_ftype *skip_solib_resolver)
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)
CORE_ADDR glibc_skip_solib_resolver(struct gdbarch *gdbarch, CORE_ADDR pc)
link_map_offsets * linux_ilp32_fetch_link_map_offsets()
void linux_init_abi(struct gdbarch_info info, struct gdbarch *gdbarch, int num_disp_step_buffers)
CORE_ADDR find_solib_trampoline_target(frame_info_ptr frame, CORE_ADDR pc)
void gdbarch_register_osabi(enum bfd_architecture arch, unsigned long machine, enum gdb_osabi osabi, void(*init_osabi)(struct gdbarch_info, struct gdbarch *))
int register_size(struct gdbarch *gdbarch, int regnum)
void(* func)(remote_target *remote, char *)
void set_solib_svr4_fetch_link_map_offsets(struct gdbarch *gdbarch, struct link_map_offsets *(*flmo)(void))
CORE_ADDR svr4_fetch_objfile_link_map(struct objfile *objfile)
void trad_frame_set_reg_addr(struct trad_frame_cache *this_trad_cache, int regnum, CORE_ADDR addr)
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