GDB (xrefs)
Loading...
Searching...
No Matches
Macros | Functions | Variables
csky-linux-tdep.c File Reference
#include "defs.h"
#include "osabi.h"
#include "glibc-tdep.h"
#include "linux-tdep.h"
#include "gdbarch.h"
#include "solib-svr4.h"
#include "regset.h"
#include "trad-frame.h"
#include "tramp-frame.h"
#include "csky-tdep.h"

Go to the source code of this file.

Macros

#define SIZEOF_CSKY_GREGSET   34*4
 
#define SIZEOF_CSKY_FREGSET   34*4
 
#define SIZEOF_CSKY_FREGSET_K4X   400
 

Functions

static void csky_supply_gregset (const struct regset *regset, struct regcache *regcache, int regnum, const void *regs, size_t len)
 
static void csky_collect_gregset (const struct regset *regset, const struct regcache *regcache, int regnum, void *gregs_buf, size_t len)
 
static void csky_supply_fregset (const struct regset *regset, struct regcache *regcache, int regnum, const void *regs, size_t len)
 
static void csky_collect_fregset (const struct regset *regset, const struct regcache *regcache, int regnum, void *fregs_buf, size_t len)
 
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 (const struct tramp_frame *self, frame_info_ptr this_frame, struct trad_frame_cache *this_cache, CORE_ADDR func)
 
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_linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
 
void _initialize_csky_linux_tdep ()
 

Variables

static const int csky_gregset_offset []
 
static const int csky_fregset_offset []
 
static const struct regset csky_regset_general
 
static const struct regset csky_regset_float
 
static struct tramp_frame csky_linux_rt_sigreturn_tramp_frame
 
static struct tramp_frame csky_linux_rt_sigreturn_tramp_frame_kernel_4x
 

Macro Definition Documentation

◆ SIZEOF_CSKY_FREGSET

#define SIZEOF_CSKY_FREGSET   34*4

Definition at line 38 of file csky-linux-tdep.c.

Referenced by csky_collect_fregset(), and csky_supply_fregset().

◆ SIZEOF_CSKY_FREGSET_K4X

#define SIZEOF_CSKY_FREGSET_K4X   400

Definition at line 40 of file csky-linux-tdep.c.

Referenced by csky_collect_fregset(), and csky_supply_fregset().

◆ SIZEOF_CSKY_GREGSET

#define SIZEOF_CSKY_GREGSET   34*4

Definition at line 36 of file csky-linux-tdep.c.

Referenced by csky_collect_gregset(), and csky_supply_gregset().

Function Documentation

◆ _initialize_csky_linux_tdep()

void _initialize_csky_linux_tdep ( )

◆ csky_collect_fregset()

static void csky_collect_fregset ( const struct regset * regset,
const struct regcache * regcache,
int regnum,
void * fregs_buf,
size_t len )
static

◆ csky_collect_gregset()

static void csky_collect_gregset ( const struct regset * regset,
const struct regcache * regcache,
int regnum,
void * gregs_buf,
size_t len )
static

◆ csky_linux_init_abi()

static void csky_linux_init_abi ( struct gdbarch_info info,
struct gdbarch * gdbarch )
static

◆ csky_linux_iterate_over_regset_sections()

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

◆ csky_linux_rt_sigreturn_init()

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

◆ csky_linux_rt_sigreturn_init_pt_regs()

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

◆ csky_supply_fregset()

static void csky_supply_fregset ( const struct regset * regset,
struct regcache * regcache,
int regnum,
const void * regs,
size_t len )
static

◆ csky_supply_gregset()

static void csky_supply_gregset ( const struct regset * regset,
struct regcache * regcache,
int regnum,
const void * regs,
size_t len )
static

Variable Documentation

◆ csky_fregset_offset

const int csky_fregset_offset[]
static
Initial value:
=
{
122, 123, 40, 41, 42,
43, 44, 45, 46, 47,
48, 49, 50, 51, 52,
53, 54, 55
}

Definition at line 58 of file csky-linux-tdep.c.

Referenced by csky_collect_fregset(), csky_linux_iterate_over_regset_sections(), and csky_supply_fregset().

◆ csky_gregset_offset

const int csky_gregset_offset[]
static
Initial value:
=
{
72, 1, 0, 89, 2,
3, 4, 5, 6, 7,
8, 9, 10, 11, 12,
13, 14, 15, 16, 17,
18, 19, 20, 21, 22,
23, 24, 25, 26, 27,
28, 29, 30, 31
}

Definition at line 44 of file csky-linux-tdep.c.

Referenced by csky_collect_gregset(), csky_linux_iterate_over_regset_sections(), and csky_supply_gregset().

◆ csky_linux_rt_sigreturn_tramp_frame

struct tramp_frame csky_linux_rt_sigreturn_tramp_frame
static
Initial value:
= {
4,
{
{ CSKY_MOVI_R7_173, ULONGEST_MAX },
{ CSKY_TRAP_0, ULONGEST_MAX },
},
}
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)
#define CSKY_TRAP_0
Definition csky-tdep.h:380
#define CSKY_MOVI_R7_173
Definition csky-tdep.h:379
@ SIGTRAMP_FRAME
Definition frame.h:198
#define TRAMP_SENTINEL_INSN
Definition tramp-frame.h:44

Definition at line 345 of file csky-linux-tdep.c.

Referenced by csky_linux_init_abi().

◆ csky_linux_rt_sigreturn_tramp_frame_kernel_4x

struct tramp_frame csky_linux_rt_sigreturn_tramp_frame_kernel_4x
static
Initial value:
= {
4,
{
{ CSKY_MOVI_R7_139, ULONGEST_MAX },
{ CSKY_TRAP_0, ULONGEST_MAX },
},
}
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)
#define CSKY_MOVI_R7_139
Definition csky-tdep.h:386

Definition at line 390 of file csky-linux-tdep.c.

Referenced by csky_linux_init_abi().

◆ csky_regset_float

const struct regset csky_regset_float
static
Initial value:
=
{
NULL,
1
}
static void csky_collect_fregset(const struct regset *regset, const struct regcache *regcache, int regnum, void *fregs_buf, size_t len)
static void csky_supply_fregset(const struct regset *regset, struct regcache *regcache, int regnum, const void *regs, size_t len)

Definition at line 287 of file csky-linux-tdep.c.

Referenced by csky_linux_iterate_over_regset_sections().

◆ csky_regset_general

const struct regset csky_regset_general
static
Initial value:
=
{
NULL,
}
static void csky_supply_gregset(const struct regset *regset, struct regcache *regcache, int regnum, const void *regs, size_t len)
static void csky_collect_gregset(const struct regset *regset, const struct regcache *regcache, int regnum, void *gregs_buf, size_t len)

Definition at line 280 of file csky-linux-tdep.c.

Referenced by csky_linux_iterate_over_regset_sections().