GDB (API)
Defines | Typedefs | Functions | Variables
/home/stan/gdb/src/gdb/rs6000-tdep.c File Reference
#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 Documentation

#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 
)
Value:
((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 
)
Value:
((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 
)
Value:
((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 
)
Value:
((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)
Value:
((sizeof (short) == 2)                                          \
   ? ((int)(short)(x))                                                  \
   : ((int)((((x) & 0xffff) ^ 0x8000) - 0x8000)))

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 Documentation

typedef enum register_status(* move_ev_register_func)(struct regcache *, int, void *)

Definition at line 2555 of file rs6000-tdep.c.


Function Documentation

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.


Variable Documentation

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines