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 const gdb_byte * | sh_sw_breakpoint_from_kind (int kind, int *size)
static int | sh_breakpoint_at (CORE_ADDR where)
static int | sh_supports_hardware_single_step (void)
static void | sh_fill_gregset (struct regcache *regcache, void *buf)
static const struct regs_info * | sh_regs_info (void)
static void | sh_arch_setup (void)
void | initialize_low_arch (void)

## Variables
const struct target_desc * | tdesc_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

## ◆ sh_breakpoint_len

#define sh_breakpoint_len 2

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

Referenced by sh_sw_breakpoint_from_kind().

## ◆ sh_num_regs

#define sh_num_regs 41

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

## Function Documentation

## ◆ init_registers_sh()

void init_registers_sh | ( | void |  | ) |

Referenced by initialize_low_arch().

## ◆ initialize_low_arch()

void initialize_low_arch | ( | void |  | ) |

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

References init_registers_sh(), and sh_regsets_info.

## ◆ sh_arch_setup()

static void sh_arch_setup | ( | void |  | ) |
| static

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

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

## ◆ sh_breakpoint_at()

static int sh_breakpoint_at | ( | CORE_ADDR | where | ) |
| static

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

References target_ops::read_memory, sh_breakpoint, and the_target.

## ◆ sh_cannot_fetch_register()

static int sh_cannot_fetch_register | ( | int | regno | ) |
| static

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

## ◆ sh_cannot_store_register()

static int sh_cannot_store_register | ( | int | regno | ) |
| static

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

## ◆ sh_fill_gregset()

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

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

References collect_register(), and sh_regmap.

## ◆ sh_regs_info()

static const struct regs_info* sh_regs_info | ( | void |  | ) |
| static

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

References regs_info.

## ◆ sh_supports_hardware_single_step()

static int sh_supports_hardware_single_step | ( | void |  | ) |
| static

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

## ◆ sh_sw_breakpoint_from_kind()

static const gdb_byte* sh_sw_breakpoint_from_kind | ( | int | kind,
|  | int * | size
| ) |  |
| static

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

References sh_breakpoint, and sh_breakpoint_len.

## Variable Documentation

## ◆ regs_info

struct regs_info regs_info
| static

Initial value:
=
{
NULL,
&sh_usrregs_info,
&sh_regsets_info
}
sh_usrregs_info
static struct usrregs_info sh_usrregs_info
Definition: linux-sh-low.c:120
sh_regsets_info
static struct regsets_info sh_regsets_info
Definition: linux-sh-low.c:113

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

Referenced by sh_regs_info().

## ◆ sh_breakpoint

const unsigned short sh_breakpoint = 0xc3c3
| static

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

Referenced by sh_breakpoint_at(), and sh_sw_breakpoint_from_kind().

## ◆ sh_regmap

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().

## ◆ sh_regsets

struct regset_info sh_regsets[]
| static

Initial value:
= {
{ 0, 0, 0, 0, GENERAL_REGS, sh_fill_gregset, NULL },
NULL_REGSET
}
sh_fill_gregset
static void sh_fill_gregset(struct regcache *regcache, void *buf)
Definition: linux-sh-low.c:99

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

## ◆ sh_regsets_info

struct regsets_info sh_regsets_info
| static

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

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

Referenced by initialize_low_arch().

## ◆ sh_usrregs_info

struct usrregs_info sh_usrregs_info
| static

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

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

## ◆ tdesc_sh

const struct target_desc* tdesc_sh

Referenced by sh_arch_setup().

## ◆ the_low_target

struct linux_target_ops the_low_target

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