GDB (API)
|
#include "defs.h"
#include "frame.h"
#include "inferior.h"
#include "symtab.h"
#include "target.h"
#include "gdbcore.h"
#include "gdbcmd.h"
#include "objfiles.h"
#include "arch-utils.h"
#include "regcache.h"
#include "regset.h"
#include "doublest.h"
#include "value.h"
#include "parser-defs.h"
#include "osabi.h"
#include "infcall.h"
#include "sim-regno.h"
#include "gdb/sim-ppc.h"
#include "reggroups.h"
#include "dwarf2-frame.h"
#include "target-descriptions.h"
#include "user-regs.h"
#include "libbfd.h"
#include "coff/internal.h"
#include "libcoff.h"
#include "coff/xcoff.h"
#include "libxcoff.h"
#include "elf-bfd.h"
#include "elf/ppc.h"
#include "solib-svr4.h"
#include "ppc-tdep.h"
#include "ppc-ravenscar-thread.h"
#include "gdb_assert.h"
#include "dis-asm.h"
#include "trad-frame.h"
#include "frame-unwind.h"
#include "frame-base.h"
#include "features/rs6000/powerpc-32.c"
#include "features/rs6000/powerpc-altivec32.c"
#include "features/rs6000/powerpc-vsx32.c"
#include "features/rs6000/powerpc-403.c"
#include "features/rs6000/powerpc-403gc.c"
#include "features/rs6000/powerpc-405.c"
#include "features/rs6000/powerpc-505.c"
#include "features/rs6000/powerpc-601.c"
#include "features/rs6000/powerpc-602.c"
#include "features/rs6000/powerpc-603.c"
#include "features/rs6000/powerpc-604.c"
#include "features/rs6000/powerpc-64.c"
#include "features/rs6000/powerpc-altivec64.c"
#include "features/rs6000/powerpc-vsx64.c"
#include "features/rs6000/powerpc-7400.c"
#include "features/rs6000/powerpc-750.c"
#include "features/rs6000/powerpc-860.c"
#include "features/rs6000/powerpc-e500.c"
#include "features/rs6000/rs6000.c"
Go to the source code of this file.
Defines | |
#define | IS_SPE_PSEUDOREG(tdep, regnum) |
#define | IS_DFP_PSEUDOREG(tdep, regnum) |
#define | IS_VSX_PSEUDOREG(tdep, regnum) |
#define | IS_EFP_PSEUDOREG(tdep, regnum) |
#define | BRANCH_MASK 0xfc000000 |
#define | BP_MASK 0xFC0007FE |
#define | B_INSN 0x48000000 |
#define | BC_INSN 0x40000000 |
#define | BXL_INSN 0x4c000000 |
#define | BP_INSN 0x7C000008 |
#define | LWARX_MASK 0xfc0007fe |
#define | LWARX_INSTRUCTION 0x7c000028 |
#define | LDARX_INSTRUCTION 0x7c0000A8 |
#define | STWCX_MASK 0xfc0007ff |
#define | STWCX_INSTRUCTION 0x7c00012d |
#define | STDCX_INSTRUCTION 0x7c0001ad |
#define | SIGNED_SHORT(x) |
#define | GET_SRC_REG(x) (((x) >> 21) & 0x1f) |
#define | BL_MASK 0xfc000001 |
#define | BL_INSTRUCTION 0x48000001 |
#define | BL_DISPLACEMENT_MASK 0x03fffffc |
Typedefs | |
typedef enum register_status(* | move_ev_register_func )(struct regcache *, int, void *) |
Functions | |
int | vsx_register_p (struct gdbarch *gdbarch, int regno) |
int | altivec_register_p (struct gdbarch *gdbarch, int regno) |
int | spe_register_p (struct gdbarch *gdbarch, int regno) |
int | ppc_floating_point_unit_p (struct gdbarch *gdbarch) |
int | ppc_altivec_support_p (struct gdbarch *gdbarch) |
void | ppc_supply_reg (struct regcache *regcache, int regnum, const gdb_byte *regs, size_t offset, int regsize) |
void | ppc_collect_reg (const struct regcache *regcache, int regnum, gdb_byte *regs, size_t offset, int regsize) |
void | ppc_supply_gregset (const struct regset *regset, struct regcache *regcache, int regnum, const void *gregs, size_t len) |
void | ppc_supply_fpregset (const struct regset *regset, struct regcache *regcache, int regnum, const void *fpregs, size_t len) |
void | ppc_supply_vsxregset (const struct regset *regset, struct regcache *regcache, int regnum, const void *vsxregs, size_t len) |
void | ppc_supply_vrregset (const struct regset *regset, struct regcache *regcache, int regnum, const void *vrregs, size_t len) |
void | ppc_collect_gregset (const struct regset *regset, const struct regcache *regcache, int regnum, void *gregs, size_t len) |
void | ppc_collect_fpregset (const struct regset *regset, const struct regcache *regcache, int regnum, void *fpregs, size_t len) |
void | ppc_collect_vsxregset (const struct regset *regset, const struct regcache *regcache, int regnum, void *vsxregs, size_t len) |
void | ppc_collect_vrregset (const struct regset *regset, const struct regcache *regcache, int regnum, void *vrregs, size_t len) |
int | ppc_deal_with_atomic_sequence (struct frame_info *frame) |
int | ppc_insns_match_pattern (struct frame_info *frame, CORE_ADDR pc, struct ppc_insn_pattern *pattern, unsigned int *insns) |
CORE_ADDR | ppc_insn_d_field (unsigned int insn) |
CORE_ADDR | ppc_insn_ds_field (unsigned int insn) |
void | _initialize_rs6000_tdep (void) |
Variables | |
initialize_file_ftype | _initialize_rs6000_tdep |
#define B_INSN 0x48000000 |
Definition at line 962 of file rs6000-tdep.c.
#define BC_INSN 0x40000000 |
Definition at line 963 of file rs6000-tdep.c.
#define BL_DISPLACEMENT_MASK 0x03fffffc |
Definition at line 1289 of file rs6000-tdep.c.
#define BL_INSTRUCTION 0x48000001 |
Definition at line 1288 of file rs6000-tdep.c.
#define BL_MASK 0xfc000001 |
Definition at line 1287 of file rs6000-tdep.c.
#define BP_INSN 0x7C000008 |
Definition at line 965 of file rs6000-tdep.c.
#define BP_MASK 0xFC0007FE |
Definition at line 961 of file rs6000-tdep.c.
#define BRANCH_MASK 0xfc000000 |
Definition at line 960 of file rs6000-tdep.c.
#define BXL_INSN 0x4c000000 |
Definition at line 964 of file rs6000-tdep.c.
#define GET_SRC_REG | ( | x | ) | (((x) >> 21) & 0x1f) |
Definition at line 1171 of file rs6000-tdep.c.
#define IS_DFP_PSEUDOREG | ( | tdep, | |
regnum | |||
) |
((tdep)->ppc_dl0_regnum >= 0 \ && (regnum) >= (tdep)->ppc_dl0_regnum \ && (regnum) < (tdep)->ppc_dl0_regnum + 16)
Definition at line 89 of file rs6000-tdep.c.
#define IS_EFP_PSEUDOREG | ( | tdep, | |
regnum | |||
) |
((tdep)->ppc_efpr0_regnum >= 0 \ && (regnum) >= (tdep)->ppc_efpr0_regnum \ && (regnum) < (tdep)->ppc_efpr0_regnum + ppc_num_efprs)
Definition at line 99 of file rs6000-tdep.c.
#define IS_SPE_PSEUDOREG | ( | tdep, | |
regnum | |||
) |
((tdep)->ppc_ev0_regnum >= 0 \ && (regnum) >= (tdep)->ppc_ev0_regnum \ && (regnum) < (tdep)->ppc_ev0_regnum + 32)
Definition at line 84 of file rs6000-tdep.c.
#define IS_VSX_PSEUDOREG | ( | tdep, | |
regnum | |||
) |
((tdep)->ppc_vsr0_regnum >= 0 \ && (regnum) >= (tdep)->ppc_vsr0_regnum \ && (regnum) < (tdep)->ppc_vsr0_regnum + ppc_num_vsrs)
Definition at line 94 of file rs6000-tdep.c.
#define LDARX_INSTRUCTION 0x7c0000A8 |
Definition at line 1073 of file rs6000-tdep.c.
#define LWARX_INSTRUCTION 0x7c000028 |
Definition at line 1072 of file rs6000-tdep.c.
#define LWARX_MASK 0xfc0007fe |
Definition at line 1071 of file rs6000-tdep.c.
#define SIGNED_SHORT | ( | x | ) |
Definition at line 1166 of file rs6000-tdep.c.
#define STDCX_INSTRUCTION 0x7c0001ad |
Definition at line 1076 of file rs6000-tdep.c.
#define STWCX_INSTRUCTION 0x7c00012d |
Definition at line 1075 of file rs6000-tdep.c.
#define STWCX_MASK 0xfc0007ff |
Definition at line 1074 of file rs6000-tdep.c.
typedef enum register_status(* move_ev_register_func)(struct regcache *, int, void *) |
Definition at line 2555 of file rs6000-tdep.c.
void _initialize_rs6000_tdep | ( | void | ) |
Definition at line 4316 of file rs6000-tdep.c.
int altivec_register_p | ( | struct gdbarch * | gdbarch, |
int | regno | ||
) |
Definition at line 165 of file rs6000-tdep.c.
int ppc_altivec_support_p | ( | struct gdbarch * | gdbarch | ) |
Definition at line 230 of file rs6000-tdep.c.
void ppc_collect_fpregset | ( | const struct regset * | regset, |
const struct regcache * | regcache, | ||
int | regnum, | ||
void * | fpregs, | ||
size_t | len | ||
) |
Definition at line 707 of file rs6000-tdep.c.
void ppc_collect_gregset | ( | const struct regset * | regset, |
const struct regcache * | regcache, | ||
int | regnum, | ||
void * | gregs, | ||
size_t | len | ||
) |
Definition at line 660 of file rs6000-tdep.c.
void ppc_collect_reg | ( | const struct regcache * | regcache, |
int | regnum, | ||
gdb_byte * | regs, | ||
size_t | offset, | ||
int | regsize | ||
) |
Definition at line 401 of file rs6000-tdep.c.
void ppc_collect_vrregset | ( | const struct regset * | regset, |
const struct regcache * | regcache, | ||
int | regnum, | ||
void * | vrregs, | ||
size_t | len | ||
) |
Definition at line 780 of file rs6000-tdep.c.
void ppc_collect_vsxregset | ( | const struct regset * | regset, |
const struct regcache * | regcache, | ||
int | regnum, | ||
void * | vsxregs, | ||
size_t | len | ||
) |
Definition at line 746 of file rs6000-tdep.c.
int ppc_deal_with_atomic_sequence | ( | struct frame_info * | frame | ) |
Definition at line 1084 of file rs6000-tdep.c.
int ppc_floating_point_unit_p | ( | struct gdbarch * | gdbarch | ) |
Definition at line 209 of file rs6000-tdep.c.
CORE_ADDR ppc_insn_d_field | ( | unsigned int | insn | ) |
Definition at line 4295 of file rs6000-tdep.c.
CORE_ADDR ppc_insn_ds_field | ( | unsigned int | insn | ) |
Definition at line 4305 of file rs6000-tdep.c.
int ppc_insns_match_pattern | ( | struct frame_info * | frame, |
CORE_ADDR | pc, | ||
struct ppc_insn_pattern * | pattern, | ||
unsigned int * | insns | ||
) |
Definition at line 4266 of file rs6000-tdep.c.
void ppc_supply_fpregset | ( | const struct regset * | regset, |
struct regcache * | regcache, | ||
int | regnum, | ||
const void * | fpregs, | ||
size_t | len | ||
) |
Definition at line 547 of file rs6000-tdep.c.
void ppc_supply_gregset | ( | const struct regset * | regset, |
struct regcache * | regcache, | ||
int | regnum, | ||
const void * | gregs, | ||
size_t | len | ||
) |
Definition at line 502 of file rs6000-tdep.c.
void ppc_supply_reg | ( | struct regcache * | regcache, |
int | regnum, | ||
const gdb_byte * | regs, | ||
size_t | offset, | ||
int | regsize | ||
) |
Definition at line 380 of file rs6000-tdep.c.
void ppc_supply_vrregset | ( | const struct regset * | regset, |
struct regcache * | regcache, | ||
int | regnum, | ||
const void * | vrregs, | ||
size_t | len | ||
) |
Definition at line 615 of file rs6000-tdep.c.
void ppc_supply_vsxregset | ( | const struct regset * | regset, |
struct regcache * | regcache, | ||
int | regnum, | ||
const void * | vsxregs, | ||
size_t | len | ||
) |
Definition at line 584 of file rs6000-tdep.c.
int spe_register_p | ( | struct gdbarch * | gdbarch, |
int | regno | ||
) |
Definition at line 177 of file rs6000-tdep.c.
int vsx_register_p | ( | struct gdbarch * | gdbarch, |
int | regno | ||
) |
Definition at line 153 of file rs6000-tdep.c.