GDB (xrefs)
Classes | Defines | Enumerations | Functions
/home/stan/gdb/src/gdb/ppc-tdep.h File Reference

Go to the source code of this file.

Classes

struct  ppc_reg_offsets
struct  gdbarch_tdep
struct  ppc_insn_pattern

Defines

#define PPC_INSN_SIZE   4
#define PPC_MAX_EPILOGUE_INSTRUCTIONS   52

Enumerations

enum  powerpc_vector_abi {
  POWERPC_VEC_AUTO, POWERPC_VEC_GENERIC, POWERPC_VEC_ALTIVEC, POWERPC_VEC_SPE,
  POWERPC_VEC_LAST
}
enum  {
  ppc_num_gprs = 32, ppc_num_fprs = 32, ppc_num_srs = 16, ppc_num_vrs = 32,
  ppc_num_vshrs = 32, ppc_num_vsrs = 64, ppc_num_efprs = 32
}
enum  {
  PPC_R0_REGNUM = 0, PPC_F0_REGNUM = 32, PPC_PC_REGNUM = 64, PPC_MSR_REGNUM = 65,
  PPC_CR_REGNUM = 66, PPC_LR_REGNUM = 67, PPC_CTR_REGNUM = 68, PPC_XER_REGNUM = 69,
  PPC_FPSCR_REGNUM = 70, PPC_MQ_REGNUM = 71, PPC_SPE_UPPER_GP0_REGNUM = 72, PPC_SPE_ACC_REGNUM = 104,
  PPC_SPE_FSCR_REGNUM = 105, PPC_VR0_REGNUM = 106, PPC_VSCR_REGNUM = 138, PPC_VRSAVE_REGNUM = 139,
  PPC_VSR0_UPPER_REGNUM = 140, PPC_VSR31_UPPER_REGNUM = 171, PPC_NUM_REGS
}

Functions

enum return_value_convention ppc_sysv_abi_return_value (struct gdbarch *gdbarch, struct value *function, struct type *valtype, struct regcache *regcache, gdb_byte *readbuf, const gdb_byte *writebuf)
enum return_value_convention ppc_sysv_abi_broken_return_value (struct gdbarch *gdbarch, struct value *function, struct type *valtype, struct regcache *regcache, gdb_byte *readbuf, const gdb_byte *writebuf)
CORE_ADDR ppc_sysv_abi_push_dummy_call (struct gdbarch *gdbarch, struct value *function, struct regcache *regcache, CORE_ADDR bp_addr, int nargs, struct value **args, CORE_ADDR sp, int struct_return, CORE_ADDR struct_addr)
CORE_ADDR ppc64_sysv_abi_push_dummy_call (struct gdbarch *gdbarch, struct value *function, struct regcache *regcache, CORE_ADDR bp_addr, int nargs, struct value **args, CORE_ADDR sp, int struct_return, CORE_ADDR struct_addr)
enum return_value_convention ppc64_sysv_abi_return_value (struct gdbarch *gdbarch, struct value *function, struct type *valtype, struct regcache *regcache, gdb_byte *readbuf, const gdb_byte *writebuf)
int altivec_register_p (struct gdbarch *gdbarch, int regno)
int vsx_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)
int vsx_support_p (struct gdbarch *gdbarch)
int ppc_deal_with_atomic_sequence (struct frame_info *frame)
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_vrregset (const struct regset *regset, struct regcache *regcache, int regnum, const void *vrregs, size_t len)
void ppc_supply_vsxregset (const struct regset *regset, struct regcache *regcache, int regnum, const void *vsxregs, 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_vrregset (const struct regset *regset, const struct regcache *regcache, int regnum, void *vrregs, size_t len)
void ppc_collect_vsxregset (const struct regset *regset, const struct regcache *regcache, int regnum, void *vsxregs, size_t len)
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)

Define Documentation

#define PPC_INSN_SIZE   4

Definition at line 314 of file ppc-tdep.h.

Referenced by rs6000_in_function_epilogue_p().


Enumeration Type Documentation

anonymous enum
Enumerator:
ppc_num_gprs 
ppc_num_fprs 
ppc_num_srs 
ppc_num_vrs 
ppc_num_vshrs 
ppc_num_vsrs 
ppc_num_efprs 

Definition at line 255 of file ppc-tdep.h.

anonymous enum
Enumerator:
PPC_R0_REGNUM 
PPC_F0_REGNUM 
PPC_PC_REGNUM 
PPC_MSR_REGNUM 
PPC_CR_REGNUM 
PPC_LR_REGNUM 
PPC_CTR_REGNUM 
PPC_XER_REGNUM 
PPC_FPSCR_REGNUM 
PPC_MQ_REGNUM 
PPC_SPE_UPPER_GP0_REGNUM 
PPC_SPE_ACC_REGNUM 
PPC_SPE_FSCR_REGNUM 
PPC_VR0_REGNUM 
PPC_VSCR_REGNUM 
PPC_VRSAVE_REGNUM 
PPC_VSR0_UPPER_REGNUM 
PPC_VSR31_UPPER_REGNUM 
PPC_NUM_REGS 

Definition at line 272 of file ppc-tdep.h.

Enumerator:
POWERPC_VEC_AUTO 
POWERPC_VEC_GENERIC 
POWERPC_VEC_ALTIVEC 
POWERPC_VEC_SPE 
POWERPC_VEC_LAST 

Definition at line 186 of file ppc-tdep.h.


Function Documentation

int altivec_register_p ( struct gdbarch gdbarch,
int  regno 
)
CORE_ADDR ppc64_sysv_abi_push_dummy_call ( struct gdbarch gdbarch,
struct value function,
struct regcache regcache,
CORE_ADDR  bp_addr,
int  nargs,
struct value **  args,
CORE_ADDR  sp,
int  struct_return,
CORE_ADDR  struct_addr 
)
enum return_value_convention ppc64_sysv_abi_return_value ( struct gdbarch gdbarch,
struct value function,
struct type valtype,
struct regcache regcache,
gdb_byte readbuf,
const gdb_byte writebuf 
)
int ppc_altivec_support_p ( struct gdbarch gdbarch)
void ppc_collect_fpregset ( const struct regset regset,
const struct regcache regcache,
int  regnum,
void *  fpregs,
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_reg ( const struct regcache regcache,
int  regnum,
gdb_byte regs,
size_t  offset,
int  regsize 
)
void ppc_collect_vrregset ( const struct regset regset,
const struct regcache regcache,
int  regnum,
void *  vrregs,
size_t  len 
)
void ppc_collect_vsxregset ( const struct regset regset,
const struct regcache regcache,
int  regnum,
void *  vsxregs,
size_t  len 
)
int ppc_floating_point_unit_p ( struct gdbarch gdbarch)
CORE_ADDR ppc_insn_d_field ( unsigned int  insn)
CORE_ADDR ppc_insn_ds_field ( unsigned int  insn)
int ppc_insns_match_pattern ( struct frame_info frame,
CORE_ADDR  pc,
struct ppc_insn_pattern pattern,
unsigned int insns 
)
void ppc_supply_fpregset ( const struct regset regset,
struct regcache regcache,
int  regnum,
const void *  fpregs,
size_t  len 
)
void ppc_supply_gregset ( const struct regset regset,
struct regcache regcache,
int  regnum,
const void *  gregs,
size_t  len 
)
void ppc_supply_reg ( struct regcache regcache,
int  regnum,
const gdb_byte regs,
size_t  offset,
int  regsize 
)
void ppc_supply_vrregset ( const struct regset regset,
struct regcache regcache,
int  regnum,
const void *  vrregs,
size_t  len 
)
void ppc_supply_vsxregset ( const struct regset regset,
struct regcache regcache,
int  regnum,
const void *  vsxregs,
size_t  len 
)
enum return_value_convention ppc_sysv_abi_broken_return_value ( struct gdbarch gdbarch,
struct value function,
struct type valtype,
struct regcache regcache,
gdb_byte readbuf,
const gdb_byte writebuf 
)
CORE_ADDR ppc_sysv_abi_push_dummy_call ( struct gdbarch gdbarch,
struct value function,
struct regcache regcache,
CORE_ADDR  bp_addr,
int  nargs,
struct value **  args,
CORE_ADDR  sp,
int  struct_return,
CORE_ADDR  struct_addr 
)
enum return_value_convention ppc_sysv_abi_return_value ( struct gdbarch gdbarch,
struct value function,
struct type valtype,
struct regcache regcache,
gdb_byte readbuf,
const gdb_byte writebuf 
)

Definition at line 1043 of file ppc-sysv-tdep.c.

References do_ppc_sysv_return_value(), and value_type().

Referenced by ppc_linux_return_value(), and rs6000_gdbarch_init().

int spe_register_p ( struct gdbarch gdbarch,
int  regno 
)
int vsx_register_p ( struct gdbarch gdbarch,
int  regno 
)
int vsx_support_p ( struct gdbarch gdbarch)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines