GDBserver
Classes | Macros | Functions | Variables
linux-nios2-low.c File Reference
#include "server.h"
#include "linux-low.h"
#include "elf/common.h"
#include <sys/ptrace.h>
#include <endian.h>
#include "gdb_proc_service.h"
#include <asm/ptrace.h>

Go to the source code of this file.

Classes

union  nios2_register
 

Macros

#define PTRACE_GET_THREAD_AREA   25
 
#define nios2_num_regs   49
 
#define nios2_breakpoint_len   4
 

Functions

void init_registers_nios2_linux (void)
 
static void nios2_arch_setup (void)
 
static int nios2_cannot_fetch_register (int regno)
 
static int nios2_cannot_store_register (int regno)
 
static CORE_ADDR nios2_get_pc (struct regcache *regcache)
 
static void nios2_set_pc (struct regcache *regcache, CORE_ADDR pc)
 
static CORE_ADDR nios2_reinsert_addr (void)
 
static int nios2_breakpoint_at (CORE_ADDR where)
 
ps_err_e ps_get_thread_area (const struct ps_prochandle *ph, lwpid_t lwpid, int idx, void **base)
 
static void nios2_collect_register (struct regcache *regcache, int regno, union nios2_register *reg)
 
static void nios2_supply_register (struct regcache *regcache, int regno, const union nios2_register *reg)
 
static void nios2_fill_gregset (struct regcache *regcache, void *buf)
 
static void nios2_store_gregset (struct regcache *regcache, const void *buf)
 
static const struct regs_infonios2_regs_info (void)
 
void initialize_low_arch (void)
 

Variables

const struct target_desctdesc_nios2_linux
 
static int nios2_regmap []
 
static const unsigned int nios2_breakpoint = 0x003b6ffa
 
static struct regset_info nios2_regsets []
 
static struct regsets_info nios2_regsets_info
 
static struct usrregs_info nios2_usrregs_info
 
static struct regs_info regs_info
 
struct linux_target_ops the_low_target
 

Macro Definition Documentation

#define nios2_breakpoint_len   4

Definition at line 123 of file linux-nios2-low.c.

#define nios2_num_regs   49

Definition at line 39 of file linux-nios2-low.c.

Referenced by nios2_fill_gregset(), and nios2_store_gregset().

#define PTRACE_GET_THREAD_AREA   25

Definition at line 31 of file linux-nios2-low.c.

Referenced by ps_get_thread_area().

Function Documentation

void init_registers_nios2_linux ( void  )

Referenced by initialize_low_arch().

void initialize_low_arch ( void  )

Definition at line 259 of file linux-nios2-low.c.

References init_registers_nios2_linux(), and nios2_regsets_info.

static void nios2_arch_setup ( void  )
static

Definition at line 71 of file linux-nios2-low.c.

References current_process(), process_info::tdesc, and tdesc_nios2_linux.

static int nios2_breakpoint_at ( CORE_ADDR  where)
static

Definition at line 140 of file linux-nios2-low.c.

References nios2_breakpoint, target_ops::read_memory, and the_target.

static int nios2_cannot_fetch_register ( int  regno)
static

Definition at line 79 of file linux-nios2-low.c.

References nios2_regmap.

static int nios2_cannot_store_register ( int  regno)
static

Definition at line 90 of file linux-nios2-low.c.

References nios2_regmap.

static void nios2_collect_register ( struct regcache regcache,
int  regno,
union nios2_register reg 
)
static

Definition at line 170 of file linux-nios2-low.c.

References collect_register(), and nios2_register::reg32.

Referenced by nios2_fill_gregset().

static void nios2_fill_gregset ( struct regcache regcache,
void *  buf 
)
static

Definition at line 189 of file linux-nios2-low.c.

References nios2_register::buf, nios2_collect_register(), and nios2_num_regs.

static CORE_ADDR nios2_get_pc ( struct regcache regcache)
static
static const struct regs_info* nios2_regs_info ( void  )
static

Definition at line 237 of file linux-nios2-low.c.

References regs_info.

static CORE_ADDR nios2_reinsert_addr ( void  )
static
static void nios2_set_pc ( struct regcache regcache,
CORE_ADDR  pc 
)
static
static void nios2_store_gregset ( struct regcache regcache,
const void *  buf 
)
static

Definition at line 199 of file linux-nios2-low.c.

References nios2_register::buf, nios2_num_regs, and nios2_supply_register().

static void nios2_supply_register ( struct regcache regcache,
int  regno,
const union nios2_register reg 
)
static

Definition at line 180 of file linux-nios2-low.c.

References nios2_register::buf, and supply_register().

Referenced by nios2_store_gregset().

ps_err_e ps_get_thread_area ( const struct ps_prochandle ph,
lwpid_t  lwpid,
int  idx,
void **  base 
)

Definition at line 153 of file linux-nios2-low.c.

References PS_ERR, PS_OK, and PTRACE_GET_THREAD_AREA.

Variable Documentation

const unsigned int nios2_breakpoint = 0x003b6ffa
static

Definition at line 122 of file linux-nios2-low.c.

Referenced by nios2_breakpoint_at().

int nios2_regmap[]
static
Initial value:
= {
-1, 1, 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,
32, 33, 34, 35, 36, 37, 38, 39,
40, 41, 42, 43, 44, 45, 46, 47,
48,
0
}

Definition at line 57 of file linux-nios2-low.c.

Referenced by nios2_cannot_fetch_register(), and nios2_cannot_store_register().

struct regset_info nios2_regsets[]
static
Initial value:
=
{
nios2_num_regs * 4, GENERAL_REGS,
{ 0, 0, 0, -1, -1, NULL, NULL }
}
#define nios2_num_regs
#define PTRACE_SETREGSET
Definition: linux-ptrace.h:51
#define PTRACE_GETREGSET
Definition: linux-ptrace.h:47
static void nios2_store_gregset(struct regcache *regcache, const void *buf)
static void nios2_fill_gregset(struct regcache *regcache, void *buf)

Definition at line 208 of file linux-nios2-low.c.

struct regsets_info nios2_regsets_info
static
Initial value:
=
{
0,
NULL,
}
static struct regset_info nios2_regsets[]

Definition at line 216 of file linux-nios2-low.c.

Referenced by initialize_low_arch().

struct usrregs_info nios2_usrregs_info
static
Initial value:
=
{
}
#define nios2_num_regs
static int nios2_regmap[]

Definition at line 223 of file linux-nios2-low.c.

struct regs_info regs_info
static
Initial value:
=
{
NULL,
}
static struct usrregs_info nios2_usrregs_info
static struct regsets_info nios2_regsets_info

Definition at line 229 of file linux-nios2-low.c.

Referenced by nios2_regs_info().

const struct target_desc* tdesc_nios2_linux

Referenced by nios2_arch_setup().

struct linux_target_ops the_low_target
Initial value:
=
{
NULL,
(const unsigned char *) &nios2_breakpoint,
0,
}
#define nios2_breakpoint_len
static const unsigned int nios2_breakpoint
static CORE_ADDR nios2_get_pc(struct regcache *regcache)
static int nios2_cannot_store_register(int regno)
static CORE_ADDR nios2_reinsert_addr(void)
static int nios2_breakpoint_at(CORE_ADDR where)
static int nios2_cannot_fetch_register(int regno)
static void nios2_arch_setup(void)
static void nios2_set_pc(struct regcache *regcache, CORE_ADDR pc)
static const struct regs_info * nios2_regs_info(void)

Definition at line 242 of file linux-nios2-low.c.