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

Go to the source code of this file.

Macros

#define NIOS2_GREGS_SIZE   (4 * 34)
 
#define NIOS2_SIGRETURN_TRAMP_ADDR   0x1044
 
#define NIOS2_SIGRETURN_REGSAVE_OFFSET   152
 

Functions

static void nios2_supply_gregset (const struct regset *regset, struct regcache *regcache, int regnum, const void *gregs_buf, size_t len)
 
static void nios2_collect_gregset (const struct regset *regset, const struct regcache *regcache, int regnum, void *gregs_buf, size_t len)
 
static void nios2_iterate_over_regset_sections (struct gdbarch *gdbarch, iterate_over_regset_sections_cb *cb, void *cb_data, const struct regcache *regcache)
 
static void nios2_linux_rt_sigreturn_init (const struct tramp_frame *self, frame_info_ptr next_frame, struct trad_frame_cache *this_cache, CORE_ADDR func)
 
static CORE_ADDR nios2_linux_syscall_next_pc (frame_info_ptr frame, const struct nios2_opcode *op)
 
static bool nios2_linux_is_kernel_helper (CORE_ADDR pc)
 
static void nios2_linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
 
void _initialize_nios2_linux_tdep ()
 

Variables

static const int reg_offsets [NIOS2_NUM_REGS]
 
static const struct regset nios2_core_regset
 
static struct tramp_frame nios2_r1_linux_rt_sigreturn_tramp_frame
 
static struct tramp_frame nios2_r2_linux_rt_sigreturn_tramp_frame
 

Macro Definition Documentation

◆ NIOS2_GREGS_SIZE

#define NIOS2_GREGS_SIZE   (4 * 34)

Definition at line 54 of file nios2-linux-tdep.c.

Referenced by nios2_iterate_over_regset_sections().

◆ NIOS2_SIGRETURN_REGSAVE_OFFSET

#define NIOS2_SIGRETURN_REGSAVE_OFFSET   152

Definition at line 133 of file nios2-linux-tdep.c.

Referenced by nios2_linux_rt_sigreturn_init().

◆ NIOS2_SIGRETURN_TRAMP_ADDR

#define NIOS2_SIGRETURN_TRAMP_ADDR   0x1044

Definition at line 132 of file nios2-linux-tdep.c.

Function Documentation

◆ _initialize_nios2_linux_tdep()

void _initialize_nios2_linux_tdep ( )

◆ nios2_collect_gregset()

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

◆ nios2_iterate_over_regset_sections()

static void nios2_iterate_over_regset_sections ( struct gdbarch * gdbarch,
iterate_over_regset_sections_cb * cb,
void * cb_data,
const struct regcache * regcache )
static

Definition at line 105 of file nios2-linux-tdep.c.

References nios2_core_regset, and NIOS2_GREGS_SIZE.

Referenced by nios2_linux_init_abi().

◆ nios2_linux_init_abi()

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

◆ nios2_linux_is_kernel_helper()

static bool nios2_linux_is_kernel_helper ( CORE_ADDR pc)
static

Definition at line 210 of file nios2-linux-tdep.c.

Referenced by nios2_linux_init_abi().

◆ nios2_linux_rt_sigreturn_init()

static void nios2_linux_rt_sigreturn_init ( const struct tramp_frame * self,
frame_info_ptr next_frame,
struct trad_frame_cache * this_cache,
CORE_ADDR func )
static

◆ nios2_linux_syscall_next_pc()

static CORE_ADDR nios2_linux_syscall_next_pc ( frame_info_ptr frame,
const struct nios2_opcode * op )
static

◆ nios2_supply_gregset()

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

Variable Documentation

◆ nios2_core_regset

const struct regset nios2_core_regset
static
Initial value:
=
{
NULL,
}
static void nios2_collect_gregset(const struct regset *regset, const struct regcache *regcache, int regnum, void *gregs_buf, size_t len)
static void nios2_supply_gregset(const struct regset *regset, struct regcache *regcache, int regnum, const void *gregs_buf, size_t len)

Definition at line 95 of file nios2-linux-tdep.c.

Referenced by nios2_iterate_over_regset_sections().

◆ nios2_r1_linux_rt_sigreturn_tramp_frame

struct tramp_frame nios2_r1_linux_rt_sigreturn_tramp_frame
static
Initial value:
=
{
4,
{
{ MATCH_R1_MOVI | SET_IW_I_B (2) | SET_IW_I_IMM16 (139), ULONGEST_MAX },
{ MATCH_R1_TRAP | SET_IW_R_IMM5 (0), ULONGEST_MAX},
},
}
@ SIGTRAMP_FRAME
Definition frame.h:198
static void nios2_linux_rt_sigreturn_init(const struct tramp_frame *self, frame_info_ptr next_frame, struct trad_frame_cache *this_cache, CORE_ADDR func)
#define TRAMP_SENTINEL_INSN
Definition tramp-frame.h:44

Definition at line 162 of file nios2-linux-tdep.c.

Referenced by nios2_linux_init_abi().

◆ nios2_r2_linux_rt_sigreturn_tramp_frame

struct tramp_frame nios2_r2_linux_rt_sigreturn_tramp_frame
static
Initial value:
=
{
4,
{
{ MATCH_R2_MOVI | SET_IW_F2I16_B (2) | SET_IW_F2I16_IMM16 (139), ULONGEST_MAX },
{ MATCH_R2_TRAP | SET_IW_X2L5_IMM5 (0), ULONGEST_MAX},
},
}

Definition at line 174 of file nios2-linux-tdep.c.

Referenced by nios2_linux_init_abi().

◆ reg_offsets

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

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

Referenced by nios2_collect_gregset(), and nios2_supply_gregset().