GDB (xrefs)

Classes | Macros | Functions | Variables
/tmp/gdb-8.1/gdb/ppc-ravenscar-thread.c File Reference
`#include "defs.h"`
`#include "gdbcore.h"`
`#include "regcache.h"`
`#include "ppc-tdep.h"`
`#include "inferior.h"`
`#include "ravenscar-thread.h"`
`#include "ppc-ravenscar-thread.h"`

Go to the source code of this file.

## Classes
struct | ravenscar_reg_info

## Macros
#define | NO_OFFSET -1

## Functions
static void | supply_register_at_address (struct regcache *regcache, int regnum, CORE_ADDR register_addr)
static int | register_in_thread_descriptor_p (const struct ravenscar_reg_info *reg_info, int regnum)
static void | ppc_ravenscar_generic_fetch_registers (const struct ravenscar_reg_info *reg_info, struct regcache *regcache, int regnum)
static void | ppc_ravenscar_generic_prepare_to_store (struct regcache *regcache)
static void | ppc_ravenscar_generic_store_registers (const struct ravenscar_reg_info *reg_info, struct regcache *regcache, int regnum)
static void | ppc_ravenscar_powerpc_fetch_registers (struct regcache *regcache, int regnum)
static void | ppc_ravenscar_powerpc_store_registers (struct regcache *regcache, int regnum)
void | register_ppc_ravenscar_ops (struct gdbarch *gdbarch)
static void | ppc_ravenscar_e500_fetch_registers (struct regcache *regcache, int regnum)
static void | ppc_ravenscar_e500_store_registers (struct regcache *regcache, int regnum)
void | register_e500_ravenscar_ops (struct gdbarch *gdbarch)

## Variables
static const int | powerpc_context_offsets []
static const int | e500_context_offsets []
static const struct ravenscar_reg_info | ppc_reg_info
static struct ravenscar_arch_ops | ppc_ravenscar_powerpc_ops
static const struct ravenscar_reg_info | e500_reg_info
static struct ravenscar_arch_ops | ppc_ravenscar_e500_ops

## Macro Definition Documentation

## ◆ NO_OFFSET

#define NO_OFFSET -1

Definition at line 28 of file ppc-ravenscar-thread.c.

Referenced by register_in_thread_descriptor_p().

## Function Documentation

## ◆ ppc_ravenscar_e500_fetch_registers()

static void ppc_ravenscar_e500_fetch_registers | ( | struct regcache * | regcache,
|  | int | regnum
| ) |  |
| static

Definition at line 261 of file ppc-ravenscar-thread.c.

References e500_reg_info, ppc_ravenscar_generic_fetch_registers(), and regnum.

## ◆ ppc_ravenscar_e500_store_registers()

static void ppc_ravenscar_e500_store_registers | ( | struct regcache * | regcache,
|  | int | regnum
| ) |  |
| static

Definition at line 270 of file ppc-ravenscar-thread.c.

References e500_reg_info, ppc_ravenscar_generic_store_registers(), and regnum.

## ◆ ppc_ravenscar_generic_fetch_registers()

static void ppc_ravenscar_generic_fetch_registers | ( | const struct ravenscar_reg_info * | reg_info,
|  | struct regcache * | regcache,
|  | int | regnum
| ) |  |
| static

Definition at line 147 of file ppc-ravenscar-thread.c.

References regcache::arch(), ravenscar_reg_info::context_offsets, gdbarch_num_regs(), inferior_ptid, gdbarch::num_regs, ptid_get_tid(), register_in_thread_descriptor_p(), and supply_register_at_address().

Referenced by ppc_ravenscar_e500_fetch_registers(), and ppc_ravenscar_powerpc_fetch_registers().

## ◆ ppc_ravenscar_generic_prepare_to_store()

static void ppc_ravenscar_generic_prepare_to_store | ( | struct regcache * | regcache | ) |
| static

Definition at line 176 of file ppc-ravenscar-thread.c.

## ◆ ppc_ravenscar_generic_store_registers()

static void ppc_ravenscar_generic_store_registers | ( | const struct ravenscar_reg_info * | reg_info,
|  | struct regcache * | regcache,
|  | int | regnum
| ) |  |
| static

Definition at line 186 of file ppc-ravenscar-thread.c.

References regcache::arch(), ravenscar_reg_info::context_offsets, inferior_ptid, ptid_get_tid(), regcache_raw_collect(), register_in_thread_descriptor_p(), register_size(), regnum, and write_memory().

Referenced by ppc_ravenscar_e500_store_registers(), and ppc_ravenscar_powerpc_store_registers().

## ◆ ppc_ravenscar_powerpc_fetch_registers()

static void ppc_ravenscar_powerpc_fetch_registers | ( | struct regcache * | regcache,
|  | int | regnum
| ) |  |
| static

Definition at line 218 of file ppc-ravenscar-thread.c.

References ppc_ravenscar_generic_fetch_registers(), ppc_reg_info, and regnum.

## ◆ ppc_ravenscar_powerpc_store_registers()

static void ppc_ravenscar_powerpc_store_registers | ( | struct regcache * | regcache,
|  | int | regnum
| ) |  |
| static

Definition at line 227 of file ppc-ravenscar-thread.c.

References ppc_ravenscar_generic_store_registers(), ppc_reg_info, and regnum.

## ◆ register_e500_ravenscar_ops()

void register_e500_ravenscar_ops | ( | struct gdbarch * | gdbarch | ) |

Definition at line 287 of file ppc-ravenscar-thread.c.

References ppc_ravenscar_e500_ops, and set_gdbarch_ravenscar_ops().

Referenced by rs6000_gdbarch_init().

## ◆ register_in_thread_descriptor_p()

static int register_in_thread_descriptor_p | ( | const struct ravenscar_reg_info * | reg_info,
|  | int | regnum
| ) |  |
| static

Definition at line 135 of file ppc-ravenscar-thread.c.

References ravenscar_reg_info::context_offsets, NO_OFFSET, and regnum.

Referenced by ppc_ravenscar_generic_fetch_registers(), and ppc_ravenscar_generic_store_registers().

## ◆ register_ppc_ravenscar_ops()

void register_ppc_ravenscar_ops | ( | struct gdbarch * | gdbarch | ) |

Definition at line 244 of file ppc-ravenscar-thread.c.

References ppc_ravenscar_powerpc_ops, and set_gdbarch_ravenscar_ops().

Referenced by rs6000_gdbarch_init().

## ◆ supply_register_at_address()

static void supply_register_at_address | ( | struct regcache * | regcache,
|  | int | regnum,
|  | CORE_ADDR | register_addr
| ) |  |
| static

Definition at line 119 of file ppc-ravenscar-thread.c.

References regcache::arch(), read_memory(), regcache_raw_supply(), register_size(), and regnum.

Referenced by ppc_ravenscar_generic_fetch_registers().

## Variable Documentation

## ◆ e500_context_offsets

const int e500_context_offsets[]
| static

Definition at line 61 of file ppc-ravenscar-thread.c.

## ◆ e500_reg_info

const struct ravenscar_reg_info e500_reg_info
| static

Initial value:
=
{
e500_context_offsets,
ARRAY_SIZE (e500_context_offsets),
}
e500_context_offsets
static const int e500_context_offsets[]
Definition: ppc-ravenscar-thread.c:61

Definition at line 251 of file ppc-ravenscar-thread.c.

Referenced by ppc_ravenscar_e500_fetch_registers(), and ppc_ravenscar_e500_store_registers().

## ◆ powerpc_context_offsets

const int powerpc_context_offsets[]
| static

Initial value:
=
{
NO_OFFSET, 0, 4, NO_OFFSET,
NO_OFFSET, NO_OFFSET, NO_OFFSET, NO_OFFSET,
NO_OFFSET, NO_OFFSET, NO_OFFSET, NO_OFFSET,
NO_OFFSET, 8, 12, 16,
20, 24, 28, 32,
36, 40, 44, 48,
52, 56, 60, 64,
68, 72, 76, 80,
NO_OFFSET, NO_OFFSET, NO_OFFSET, NO_OFFSET,
NO_OFFSET, NO_OFFSET, NO_OFFSET, NO_OFFSET,
NO_OFFSET, NO_OFFSET, NO_OFFSET, NO_OFFSET,
NO_OFFSET, NO_OFFSET, 96, 104,
112, 120, 128, 136,
144, 152, 160, 168,
176, 184, 192, 200,
208, 216, 224, 232,
88, NO_OFFSET, 84, NO_OFFSET,
NO_OFFSET, NO_OFFSET, 240
}
NO_OFFSET
#define NO_OFFSET
Definition: ppc-ravenscar-thread.c:28

Definition at line 32 of file ppc-ravenscar-thread.c.

## ◆ ppc_ravenscar_e500_ops

struct ravenscar_arch_ops ppc_ravenscar_e500_ops
| static

Initial value:
=
{
ppc_ravenscar_e500_fetch_registers,
ppc_ravenscar_e500_store_registers,
ppc_ravenscar_generic_prepare_to_store
}
ppc_ravenscar_e500_fetch_registers
static void ppc_ravenscar_e500_fetch_registers(struct regcache *regcache, int regnum)
Definition: ppc-ravenscar-thread.c:261
ppc_ravenscar_generic_prepare_to_store
static void ppc_ravenscar_generic_prepare_to_store(struct regcache *regcache)
Definition: ppc-ravenscar-thread.c:176
ppc_ravenscar_e500_store_registers
static void ppc_ravenscar_e500_store_registers(struct regcache *regcache, int regnum)
Definition: ppc-ravenscar-thread.c:270

Definition at line 277 of file ppc-ravenscar-thread.c.

Referenced by register_e500_ravenscar_ops().

## ◆ ppc_ravenscar_powerpc_ops

struct ravenscar_arch_ops ppc_ravenscar_powerpc_ops
| static

Initial value:
=
{
ppc_ravenscar_powerpc_fetch_registers,
ppc_ravenscar_powerpc_store_registers,
ppc_ravenscar_generic_prepare_to_store
}
ppc_ravenscar_generic_prepare_to_store
static void ppc_ravenscar_generic_prepare_to_store(struct regcache *regcache)
Definition: ppc-ravenscar-thread.c:176
ppc_ravenscar_powerpc_store_registers
static void ppc_ravenscar_powerpc_store_registers(struct regcache *regcache, int regnum)
Definition: ppc-ravenscar-thread.c:227
ppc_ravenscar_powerpc_fetch_registers
static void ppc_ravenscar_powerpc_fetch_registers(struct regcache *regcache, int regnum)
Definition: ppc-ravenscar-thread.c:218

Definition at line 234 of file ppc-ravenscar-thread.c.

Referenced by register_ppc_ravenscar_ops().

## ◆ ppc_reg_info

const struct ravenscar_reg_info ppc_reg_info
| static

Initial value:
=
{
powerpc_context_offsets,
ARRAY_SIZE (powerpc_context_offsets),
}
powerpc_context_offsets
static const int powerpc_context_offsets[]
Definition: ppc-ravenscar-thread.c:32

Definition at line 208 of file ppc-ravenscar-thread.c.

Referenced by ppc_ravenscar_powerpc_fetch_registers(), and ppc_ravenscar_powerpc_store_registers().