GDBserver
Macros | Functions | Variables
linux-sh-low.c File Reference
#include "server.h"
#include "linux-low.h"
#include <asm/ptrace.h>

Go to the source code of this file.

Macros

#define sh_num_regs   41
 
#define sh_breakpoint_len   2
 

Functions

void init_registers_sh (void)
 
static int sh_cannot_store_register (int regno)
 
static int sh_cannot_fetch_register (int regno)
 
static CORE_ADDR sh_get_pc (struct regcache *regcache)
 
static void sh_set_pc (struct regcache *regcache, CORE_ADDR pc)
 
static int sh_breakpoint_at (CORE_ADDR where)
 
static void sh_fill_gregset (struct regcache *regcache, void *buf)
 
static const struct regs_infosh_regs_info (void)
 
static void sh_arch_setup (void)
 
void initialize_low_arch (void)
 

Variables

const struct target_desctdesc_sh
 
static int sh_regmap []
 
static const unsigned short sh_breakpoint = 0xc3c3
 
static struct regset_info sh_regsets []
 
static struct regsets_info sh_regsets_info
 
static struct usrregs_info sh_usrregs_info
 
static struct regs_info regs_info
 
struct linux_target_ops the_low_target
 

Macro Definition Documentation

#define sh_breakpoint_len   2

Definition at line 78 of file linux-sh-low.c.

#define sh_num_regs   41

Definition at line 32 of file linux-sh-low.c.

Function Documentation

void init_registers_sh ( void  )

Referenced by initialize_low_arch().

void initialize_low_arch ( void  )

Definition at line 159 of file linux-sh-low.c.

References init_registers_sh(), and sh_regsets_info.

static void sh_arch_setup ( void  )
static

Definition at line 138 of file linux-sh-low.c.

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

static int sh_breakpoint_at ( CORE_ADDR  where)
static

Definition at line 81 of file linux-sh-low.c.

References target_ops::read_memory, sh_breakpoint, and the_target.

static int sh_cannot_fetch_register ( int  regno)
static

Definition at line 56 of file linux-sh-low.c.

static int sh_cannot_store_register ( int  regno)
static

Definition at line 50 of file linux-sh-low.c.

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

Definition at line 97 of file linux-sh-low.c.

References collect_register(), and sh_regmap.

static CORE_ADDR sh_get_pc ( struct regcache regcache)
static

Definition at line 62 of file linux-sh-low.c.

References collect_register_by_name().

static const struct regs_info* sh_regs_info ( void  )
static

Definition at line 132 of file linux-sh-low.c.

References regs_info.

static void sh_set_pc ( struct regcache regcache,
CORE_ADDR  pc 
)
static

Definition at line 70 of file linux-sh-low.c.

References supply_register_by_name().

Variable Documentation

struct regs_info regs_info
static
Initial value:
=
{
NULL,
}
static struct usrregs_info sh_usrregs_info
Definition: linux-sh-low.c:118
static struct regsets_info sh_regsets_info
Definition: linux-sh-low.c:111

Definition at line 124 of file linux-sh-low.c.

Referenced by sh_regs_info().

const unsigned short sh_breakpoint = 0xc3c3
static

Definition at line 77 of file linux-sh-low.c.

Referenced by sh_breakpoint_at().

int sh_regmap[]
static
Initial value:
= {
0, 4, 8, 12, 16, 20, 24, 28,
32, 36, 40, 44, 48, 52, 56, 60,
REG_PC*4, REG_PR*4, REG_GBR*4, -1,
REG_MACH*4, REG_MACL*4, REG_SR*4,
REG_FPUL*4, REG_FPSCR*4,
REG_FPREG0*4+0, REG_FPREG0*4+4, REG_FPREG0*4+8, REG_FPREG0*4+12,
REG_FPREG0*4+16, REG_FPREG0*4+20, REG_FPREG0*4+24, REG_FPREG0*4+28,
REG_FPREG0*4+32, REG_FPREG0*4+36, REG_FPREG0*4+40, REG_FPREG0*4+44,
REG_FPREG0*4+48, REG_FPREG0*4+52, REG_FPREG0*4+56, REG_FPREG0*4+60,
}

Definition at line 35 of file linux-sh-low.c.

Referenced by sh_fill_gregset().

struct regset_info sh_regsets[]
static
Initial value:
= {
{ 0, 0, 0, 0, GENERAL_REGS, sh_fill_gregset, NULL },
{ 0, 0, 0, -1, -1, NULL, NULL }
}
static void sh_fill_gregset(struct regcache *regcache, void *buf)
Definition: linux-sh-low.c:97

Definition at line 106 of file linux-sh-low.c.

struct regsets_info sh_regsets_info
static
Initial value:
=
{
0,
NULL,
}
static struct regset_info sh_regsets[]
Definition: linux-sh-low.c:106

Definition at line 111 of file linux-sh-low.c.

Referenced by initialize_low_arch().

struct usrregs_info sh_usrregs_info
static
Initial value:
=
{
}
#define sh_num_regs
Definition: linux-sh-low.c:32
static int sh_regmap[]
Definition: linux-sh-low.c:35

Definition at line 118 of file linux-sh-low.c.

const struct target_desc* tdesc_sh

Referenced by sh_arch_setup().

struct linux_target_ops the_low_target
Initial value:
= {
NULL,
(const unsigned char *) &sh_breakpoint,
NULL,
0,
}
static int sh_cannot_fetch_register(int regno)
Definition: linux-sh-low.c:56
static void sh_arch_setup(void)
Definition: linux-sh-low.c:138
static int sh_breakpoint_at(CORE_ADDR where)
Definition: linux-sh-low.c:81
static const struct regs_info * sh_regs_info(void)
Definition: linux-sh-low.c:132
#define sh_breakpoint_len
Definition: linux-sh-low.c:78
static CORE_ADDR sh_get_pc(struct regcache *regcache)
Definition: linux-sh-low.c:62
static void sh_set_pc(struct regcache *regcache, CORE_ADDR pc)
Definition: linux-sh-low.c:70
static const unsigned short sh_breakpoint
Definition: linux-sh-low.c:77
static int sh_cannot_store_register(int regno)
Definition: linux-sh-low.c:50

Definition at line 143 of file linux-sh-low.c.