GDB (xrefs)
|
#include "defs.h"
#include "frame.h"
#include "inferior.h"
#include "infrun.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 "target-float.h"
#include "value.h"
#include "parser-defs.h"
#include "osabi.h"
#include "infcall.h"
#include "sim-regno.h"
#include "sim/sim-ppc.h"
#include "reggroups.h"
#include "dwarf2/frame.h"
#include "target-descriptions.h"
#include "user-regs.h"
#include "record-full.h"
#include "auxv.h"
#include "coff/internal.h"
#include "libcoff.h"
#include "coff/xcoff.h"
#include "libxcoff.h"
#include "elf-bfd.h"
#include "elf/ppc.h"
#include "elf/ppc64.h"
#include "solib-svr4.h"
#include "ppc-tdep.h"
#include "ppc-ravenscar-thread.h"
#include "dis-asm.h"
#include "trad-frame.h"
#include "frame-unwind.h"
#include "frame-base.h"
#include "ax.h"
#include "ax-gdb.h"
#include <algorithm>
#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.
Classes | |
struct | rs6000_framedata |
struct | ppc_variant |
struct | rs6000_frame_cache |
Macros | |
#define | IS_SPE_PSEUDOREG(tdep, regnum) |
#define | IS_DFP_PSEUDOREG(tdep, regnum) |
#define | IS_V_ALIAS_PSEUDOREG(tdep, regnum) |
#define | IS_VSX_PSEUDOREG(tdep, regnum) |
#define | IS_EFP_PSEUDOREG(tdep, regnum) |
#define | IS_CDFP_PSEUDOREG(tdep, regnum) |
#define | IS_CVSX_PSEUDOREG(tdep, regnum) |
#define | IS_CEFP_PSEUDOREG(tdep, regnum) |
#define | OP_MASK 0xfc000000 |
#define | BP_MASK 0xFC0007FE |
#define | B_INSN 0x48000000 |
#define | BC_INSN 0x40000000 |
#define | BXL_INSN 0x4c000000 |
#define | BP_INSN 0x7C000008 |
#define | LOAD_AND_RESERVE_MASK 0xfc0007fe |
#define | LWARX_INSTRUCTION 0x7c000028 |
#define | LDARX_INSTRUCTION 0x7c0000A8 |
#define | LBARX_INSTRUCTION 0x7c000068 |
#define | LHARX_INSTRUCTION 0x7c0000e8 |
#define | LQARX_INSTRUCTION 0x7c000228 |
#define | STORE_CONDITIONAL_MASK 0xfc0007ff |
#define | STWCX_INSTRUCTION 0x7c00012d |
#define | STDCX_INSTRUCTION 0x7c0001ad |
#define | STBCX_INSTRUCTION 0x7c00056d |
#define | STHCX_INSTRUCTION 0x7c0005ad |
#define | STQCX_INSTRUCTION 0x7c00016d |
#define | ADDPCIS_INSN 0x4c000004 |
#define | ADDPCIS_INSN_MASK 0xfc00003e |
#define | ADDPCIS_TARGET_REGISTER 0x03F00000 |
#define | ADDPCIS_INSN_REGSHIFT 21 |
#define | PNOP_MASK 0xfff3ffff |
#define | PNOP_INSN 0x07000000 |
#define | R_MASK 0x00100000 |
#define | R_ZERO 0x00000000 |
#define | IS_LOAD_AND_RESERVE_INSN(insn) |
#define | IS_STORE_CONDITIONAL_INSN(insn) |
#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 |
#define | PPC_FIELD(value, from, len) (((value) >> (32 - (from) - (len))) & ((1 << (len)) - 1)) |
#define | PPC_SEXT(v, bs) |
#define | PPC_OP6(insn) PPC_FIELD (insn, 0, 6) |
#define | PPC_EXTOP(insn) PPC_FIELD (insn, 21, 10) |
#define | PPC_RT(insn) PPC_FIELD (insn, 6, 5) |
#define | PPC_RS(insn) PPC_FIELD (insn, 6, 5) |
#define | PPC_RA(insn) PPC_FIELD (insn, 11, 5) |
#define | PPC_RB(insn) PPC_FIELD (insn, 16, 5) |
#define | PPC_NB(insn) PPC_FIELD (insn, 16, 5) |
#define | PPC_VRT(insn) PPC_FIELD (insn, 6, 5) |
#define | PPC_FRT(insn) PPC_FIELD (insn, 6, 5) |
#define | PPC_SPR(insn) |
#define | PPC_BO(insn) PPC_FIELD (insn, 6, 5) |
#define | PPC_T(insn) PPC_FIELD (insn, 6, 5) |
#define | PPC_D(insn) PPC_SEXT (PPC_FIELD (insn, 16, 16), 16) |
#define | PPC_DS(insn) PPC_SEXT (PPC_FIELD (insn, 16, 14), 14) |
#define | PPC_DQ(insn) PPC_SEXT (PPC_FIELD (insn, 16, 12), 12) |
#define | PPC_BIT(insn, n) ((insn & (1 << (31 - (n)))) ? 1 : 0) |
#define | PPC_OE(insn) PPC_BIT (insn, 21) |
#define | PPC_RC(insn) PPC_BIT (insn, 31) |
#define | PPC_Rc(insn) PPC_BIT (insn, 21) |
#define | PPC_LK(insn) PPC_BIT (insn, 31) |
#define | PPC_TX(insn) PPC_BIT (insn, 31) |
#define | PPC_LEV(insn) PPC_FIELD (insn, 20, 7) |
#define | PPC_XT(insn) ((PPC_TX (insn) << 5) | PPC_T (insn)) |
#define | PPC_XTp(insn) |
#define | PPC_XSp(insn) |
#define | PPC_XER_NB(xer) (xer & 0x7f) |
#define | P_PPC_D(insn_prefix, insn_suffix) |
#define | P_PPC_TX5(insn_sufix) PPC_BIT (insn_suffix, 5) |
#define | P_PPC_TX15(insn_suffix) PPC_BIT (insn_suffix, 15) |
#define | P_PPC_XT(insn_suffix) |
#define | P_PPC_XT5(insn_suffix) |
#define | P_PPC_XT15(insn_suffix) ((P_PPC_TX15 (insn_suffix) << 5) | PPC_T (insn_suffix)) |
Typedefs | |
typedef enum register_status(* | move_ev_register_func) (struct regcache *, int, void *) |
Functions | |
ppc_inferior_data * | get_ppc_per_inferior (inferior *inf) |
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) |
static void | set_sim_regno (int *table, int gdb_regno, int sim_regno) |
static void | init_sim_regno_table (struct gdbarch *arch) |
static int | rs6000_register_sim_regno (struct gdbarch *gdbarch, int reg) |
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) |
static int | ppc_greg_offset (struct gdbarch *gdbarch, ppc_gdbarch_tdep *tdep, const struct ppc_reg_offsets *offsets, int regnum, int *regsize) |
static int | ppc_fpreg_offset (ppc_gdbarch_tdep *tdep, const struct ppc_reg_offsets *offsets, int regnum) |
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_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) |
static int | insn_changes_sp_or_jumps (unsigned long insn) |
static int | rs6000_in_function_epilogue_frame_p (frame_info_ptr curfrm, struct gdbarch *gdbarch, CORE_ADDR pc) |
static int | rs6000_stack_frame_destroyed_p (struct gdbarch *gdbarch, CORE_ADDR pc) |
static CORE_ADDR | rs6000_fetch_pointer_argument (frame_info_ptr frame, int argi, struct type *type) |
typedef | BP_MANIPULATION_ENDIAN (little_breakpoint, big_breakpoint) |
static void | ppc_displaced_step_fixup (struct gdbarch *gdbarch, struct displaced_step_copy_insn_closure *closure_, CORE_ADDR from, CORE_ADDR to, struct regcache *regs, bool completed_p) |
static displaced_step_prepare_status | ppc_displaced_step_prepare (gdbarch *arch, thread_info *thread, CORE_ADDR &displaced_pc) |
static displaced_step_finish_status | ppc_displaced_step_finish (gdbarch *arch, thread_info *thread, const target_waitstatus &status) |
static void | ppc_displaced_step_restore_all_in_ptid (inferior *parent_inf, ptid_t ptid) |
static bool | ppc_displaced_step_hw_singlestep (struct gdbarch *gdbarch) |
std::vector< CORE_ADDR > | ppc_deal_with_atomic_sequence (struct regcache *regcache) |
static int | store_param_on_stack_p (unsigned long op, int framep, int *r0_contains_arg) |
static int | bl_to_blrl_insn_p (CORE_ADDR pc, int insn, enum bfd_endian byte_order) |
static bool | store_insn_p (unsigned long op, unsigned long rs, unsigned long ra, bool with_update) |
static unsigned long | rs6000_fetch_instruction (struct gdbarch *gdbarch, const CORE_ADDR pc) |
static CORE_ADDR | rs6000_skip_stack_check (struct gdbarch *gdbarch, const CORE_ADDR start_pc) |
static CORE_ADDR | skip_prologue (struct gdbarch *gdbarch, CORE_ADDR pc, CORE_ADDR lim_pc, struct rs6000_framedata *fdata) |
static CORE_ADDR | rs6000_skip_prologue (struct gdbarch *gdbarch, CORE_ADDR pc) |
static CORE_ADDR | rs6000_skip_main_prologue (struct gdbarch *gdbarch, CORE_ADDR pc) |
static CORE_ADDR | rs6000_frame_align (struct gdbarch *gdbarch, CORE_ADDR addr) |
static int | rs6000_in_solib_return_trampoline (struct gdbarch *gdbarch, CORE_ADDR pc, const char *name) |
static CORE_ADDR | rs6000_skip_trampoline_code (frame_info_ptr frame, CORE_ADDR pc) |
static struct type * | rs6000_builtin_type_vec64 (struct gdbarch *gdbarch) |
static struct type * | rs6000_builtin_type_vec128 (struct gdbarch *gdbarch) |
static const char * | rs6000_register_name (struct gdbarch *gdbarch, int regno) |
static struct type * | rs6000_pseudo_register_type (struct gdbarch *gdbarch, int regnum) |
static int | rs6000_pseudo_register_reggroup_p (struct gdbarch *gdbarch, int regnum, const struct reggroup *group) |
static int | rs6000_convert_register_p (struct gdbarch *gdbarch, int regnum, struct type *type) |
static int | rs6000_register_to_value (frame_info_ptr frame, int regnum, struct type *type, gdb_byte *to, int *optimizedp, int *unavailablep) |
static void | rs6000_value_to_register (frame_info_ptr frame, int regnum, struct type *type, const gdb_byte *from) |
static enum register_status | e500_move_ev_register (move_ev_register_func move, struct regcache *regcache, int ev_reg, void *buffer) |
static enum register_status | do_regcache_raw_write (struct regcache *regcache, int regnum, void *buffer) |
static enum register_status | e500_pseudo_register_read (struct gdbarch *gdbarch, readable_regcache *regcache, int ev_reg, gdb_byte *buffer) |
static void | e500_pseudo_register_write (struct gdbarch *gdbarch, struct regcache *regcache, int reg_nr, const gdb_byte *buffer) |
static enum register_status | dfp_pseudo_register_read (struct gdbarch *gdbarch, readable_regcache *regcache, int reg_nr, gdb_byte *buffer) |
static void | dfp_pseudo_register_write (struct gdbarch *gdbarch, struct regcache *regcache, int reg_nr, const gdb_byte *buffer) |
static enum register_status | v_alias_pseudo_register_read (struct gdbarch *gdbarch, readable_regcache *regcache, int reg_nr, gdb_byte *buffer) |
static void | v_alias_pseudo_register_write (struct gdbarch *gdbarch, struct regcache *regcache, int reg_nr, const gdb_byte *buffer) |
static enum register_status | vsx_pseudo_register_read (struct gdbarch *gdbarch, readable_regcache *regcache, int reg_nr, gdb_byte *buffer) |
static void | vsx_pseudo_register_write (struct gdbarch *gdbarch, struct regcache *regcache, int reg_nr, const gdb_byte *buffer) |
static enum register_status | efp_pseudo_register_read (struct gdbarch *gdbarch, readable_regcache *regcache, int reg_nr, gdb_byte *buffer) |
static void | efp_pseudo_register_write (struct gdbarch *gdbarch, struct regcache *regcache, int reg_nr, const gdb_byte *buffer) |
static enum register_status | rs6000_pseudo_register_read (struct gdbarch *gdbarch, readable_regcache *regcache, int reg_nr, gdb_byte *buffer) |
static void | rs6000_pseudo_register_write (struct gdbarch *gdbarch, struct regcache *regcache, int reg_nr, const gdb_byte *buffer) |
static void | dfp_ax_pseudo_register_collect (struct gdbarch *gdbarch, struct agent_expr *ax, int reg_nr) |
static void | v_alias_pseudo_register_collect (struct gdbarch *gdbarch, struct agent_expr *ax, int reg_nr) |
static void | vsx_ax_pseudo_register_collect (struct gdbarch *gdbarch, struct agent_expr *ax, int reg_nr) |
static void | efp_ax_pseudo_register_collect (struct gdbarch *gdbarch, struct agent_expr *ax, int reg_nr) |
static int | rs6000_ax_pseudo_register_collect (struct gdbarch *gdbarch, struct agent_expr *ax, int reg_nr) |
static void | rs6000_gen_return_address (struct gdbarch *gdbarch, struct agent_expr *ax, struct axs_value *value, CORE_ADDR scope) |
static int | rs6000_stab_reg_to_regnum (struct gdbarch *gdbarch, int num) |
static int | rs6000_dwarf2_reg_to_regnum (struct gdbarch *gdbarch, int num) |
static int | rs6000_adjust_frame_regnum (struct gdbarch *gdbarch, int num, int eh_frame_p) |
static const struct ppc_variant * | find_variant_by_arch (enum bfd_architecture arch, unsigned long mach) |
static struct rs6000_frame_cache * | rs6000_frame_cache (frame_info_ptr this_frame, void **this_cache) |
static void | rs6000_frame_this_id (frame_info_ptr this_frame, void **this_cache, struct frame_id *this_id) |
static struct value * | rs6000_frame_prev_register (frame_info_ptr this_frame, void **this_cache, int regnum) |
static struct rs6000_frame_cache * | rs6000_epilogue_frame_cache (frame_info_ptr this_frame, void **this_cache) |
static void | rs6000_epilogue_frame_this_id (frame_info_ptr this_frame, void **this_cache, struct frame_id *this_id) |
static struct value * | rs6000_epilogue_frame_prev_register (frame_info_ptr this_frame, void **this_cache, int regnum) |
static int | rs6000_epilogue_frame_sniffer (const struct frame_unwind *self, frame_info_ptr this_frame, void **this_prologue_cache) |
static CORE_ADDR | rs6000_frame_base_address (frame_info_ptr this_frame, void **this_cache) |
static const struct frame_base * | rs6000_frame_base_sniffer (frame_info_ptr this_frame) |
static void | ppc_dwarf2_frame_init_reg (struct gdbarch *gdbarch, int regnum, struct dwarf2_frame_state_reg *reg, frame_info_ptr this_frame) |
static int | bfd_uses_spe_extensions (bfd *abfd) |
static int | ppc_record_vsr (struct regcache *regcache, ppc_gdbarch_tdep *tdep, int vsr) |
static int | ppc_record_ACC_fpscr (struct regcache *regcache, ppc_gdbarch_tdep *tdep, int entry, bool save_fpscr) |
static int | ppc_process_record_op4 (struct gdbarch *gdbarch, struct regcache *regcache, CORE_ADDR addr, uint32_t insn) |
static int | ppc_process_record_op6 (struct gdbarch *gdbarch, struct regcache *regcache, CORE_ADDR addr, uint32_t insn) |
static int | ppc_process_record_op19 (struct gdbarch *gdbarch, struct regcache *regcache, CORE_ADDR addr, uint32_t insn) |
static int | ppc_process_record_op31_177 (struct gdbarch *gdbarch, struct regcache *regcache, uint32_t insn) |
static int | ppc_process_record_op31 (struct gdbarch *gdbarch, struct regcache *regcache, CORE_ADDR addr, uint32_t insn) |
static int | ppc_process_record_op59 (struct gdbarch *gdbarch, struct regcache *regcache, CORE_ADDR addr, uint32_t insn) |
static int | ppc_process_record_op60_XX2 (struct gdbarch *gdbarch, struct regcache *regcache, CORE_ADDR addr, uint32_t insn) |
static int | ppc_process_record_op60 (struct gdbarch *gdbarch, struct regcache *regcache, CORE_ADDR addr, uint32_t insn) |
static int | ppc_process_record_op61 (struct gdbarch *gdbarch, struct regcache *regcache, CORE_ADDR addr, uint32_t insn) |
static int | ppc_process_record_op63 (struct gdbarch *gdbarch, struct regcache *regcache, CORE_ADDR addr, uint32_t insn) |
static int | ppc_process_record_prefix_op42 (struct gdbarch *gdbarch, struct regcache *regcache, uint32_t insn_prefix, uint32_t insn_suffix) |
static int | ppc_process_record_prefix_op59_XX3 (struct gdbarch *gdbarch, struct regcache *regcache, uint32_t insn_prefix, uint32_t insn_suffix) |
static int | ppc_process_record_prefix_store (struct gdbarch *gdbarch, struct regcache *regcache, CORE_ADDR addr, uint32_t insn_prefix, uint32_t insn_suffix) |
static int | ppc_process_record_prefix_op32 (struct gdbarch *gdbarch, struct regcache *regcache, uint32_t insn_prefix, uint32_t insn_suffix) |
static int | ppc_process_record_prefix_op33 (struct gdbarch *gdbarch, struct regcache *regcache, uint32_t insn_prefix, uint32_t insn_suffix) |
static int | ppc_process_record_prefix_op34 (struct gdbarch *gdbarch, struct regcache *regcache, uint32_t insn_prefix, uint32_t insn_suffix) |
static int | ppc_process_record_prefix_store_vsx_ds_form (struct gdbarch *gdbarch, struct regcache *regcache, CORE_ADDR addr, uint32_t insn_prefix, uint32_t insn_suffix) |
static int | ppc_process_record_prefix_vsx_d_form (struct gdbarch *gdbarch, struct regcache *regcache, CORE_ADDR addr, uint32_t insn_prefix, uint32_t insn_suffix) |
static int | ppc_process_prefix_instruction (int insn_prefix, int insn_suffix, CORE_ADDR addr, struct gdbarch *gdbarch, struct regcache *regcache) |
int | ppc_process_record (struct gdbarch *gdbarch, struct regcache *regcache, CORE_ADDR addr) |
static bool | is_tw_insn (uint32_t insn) |
static bool | is_twi_insn (uint32_t insn) |
static bool | is_td_insn (uint32_t insn) |
static bool | is_tdi_insn (uint32_t insn) |
static bool | rs6000_program_breakpoint_here_p (gdbarch *gdbarch, CORE_ADDR address) |
static CORE_ADDR | ppc64_update_call_site_pc (struct gdbarch *gdbarch, CORE_ADDR pc) |
static struct gdbarch * | rs6000_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) |
static void | rs6000_dump_tdep (struct gdbarch *gdbarch, struct ui_file *file) |
static void | powerpc_set_soft_float (const char *args, int from_tty, struct cmd_list_element *c) |
static void | powerpc_set_vector_abi (const char *args, int from_tty, struct cmd_list_element *c) |
static void | show_powerpc_exact_watchpoints (struct ui_file *file, int from_tty, struct cmd_list_element *c, const char *value) |
static unsigned int | read_insn (frame_info_ptr frame, CORE_ADDR pc) |
int | ppc_insns_match_pattern (frame_info_ptr frame, CORE_ADDR pc, const 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) |
CORE_ADDR | ppc_insn_prefix_dform (unsigned int insn1, unsigned int insn2) |
void | _initialize_rs6000_tdep () |
Variables | |
static char * | powerpc_disassembler_options |
static struct cmd_list_element * | setpowerpccmdlist = NULL |
static struct cmd_list_element * | showpowerpccmdlist = NULL |
static enum auto_boolean | powerpc_soft_float_global = AUTO_BOOLEAN_AUTO |
static const char *const | powerpc_vector_strings [] |
static enum powerpc_vector_abi | powerpc_vector_abi_global = POWERPC_VEC_AUTO |
static const char * | powerpc_vector_abi_string = "auto" |
static const registry< inferior >::key< ppc_inferior_data > | ppc_inferior_data_key |
constexpr gdb_byte | big_breakpoint [] = { 0x7f, 0xe0, 0x00, 0x08 } |
constexpr gdb_byte | little_breakpoint [] = { 0x08, 0x00, 0xe0, 0x7f } |
static int | max_skip_non_prologue_insns = 10 |
static struct ppc_variant | variants [] |
static const struct frame_unwind | rs6000_frame_unwind |
static const struct frame_unwind | rs6000_epilogue_frame_unwind |
static const struct frame_base | rs6000_frame_base |
static constexpr uint32_t | TX_INSN_MASK = 0xFC0007FF |
static constexpr uint32_t | TW_INSN = 0x7C000008 |
static constexpr uint32_t | TD_INSN = 0x7C000088 |
static constexpr uint32_t | TXI_INSN_MASK = 0xFC000000 |
static constexpr uint32_t | TWI_INSN = 0x0C000000 |
static constexpr uint32_t | TDI_INSN = 0x08000000 |
#define ADDPCIS_INSN 0x4c000004 |
#define ADDPCIS_INSN_MASK 0xfc00003e |
#define ADDPCIS_INSN_REGSHIFT 21 |
#define ADDPCIS_TARGET_REGISTER 0x03F00000 |
#define B_INSN 0x48000000 |
#define BC_INSN 0x40000000 |
#define BL_DISPLACEMENT_MASK 0x03fffffc |
Definition at line 1375 of file rs6000-tdep.c.
Referenced by rs6000_skip_main_prologue().
#define BL_INSTRUCTION 0x48000001 |
Definition at line 1374 of file rs6000-tdep.c.
Referenced by rs6000_skip_main_prologue().
#define BL_MASK 0xfc000001 |
Definition at line 1373 of file rs6000-tdep.c.
Referenced by rs6000_skip_main_prologue().
#define BP_INSN 0x7C000008 |
#define BP_MASK 0xFC0007FE |
#define BXL_INSN 0x4c000000 |
#define GET_SRC_REG | ( | x | ) | (((x) >> 21) & 0x1f) |
Definition at line 1224 of file rs6000-tdep.c.
Referenced by skip_prologue(), and store_param_on_stack_p().
#define IS_CDFP_PSEUDOREG | ( | tdep, | |
regnum ) |
Definition at line 118 of file rs6000-tdep.c.
Referenced by dfp_ax_pseudo_register_collect(), dfp_pseudo_register_read(), dfp_pseudo_register_write(), rs6000_ax_pseudo_register_collect(), rs6000_pseudo_register_read(), rs6000_pseudo_register_type(), rs6000_pseudo_register_write(), and rs6000_register_name().
#define IS_CEFP_PSEUDOREG | ( | tdep, | |
regnum ) |
Definition at line 128 of file rs6000-tdep.c.
Referenced by efp_ax_pseudo_register_collect(), efp_pseudo_register_read(), efp_pseudo_register_write(), rs6000_ax_pseudo_register_collect(), rs6000_pseudo_register_read(), rs6000_pseudo_register_type(), rs6000_pseudo_register_write(), and rs6000_register_name().
#define IS_CVSX_PSEUDOREG | ( | tdep, | |
regnum ) |
Definition at line 123 of file rs6000-tdep.c.
Referenced by rs6000_ax_pseudo_register_collect(), rs6000_pseudo_register_read(), rs6000_pseudo_register_type(), rs6000_pseudo_register_write(), rs6000_register_name(), vsx_ax_pseudo_register_collect(), vsx_pseudo_register_read(), and vsx_pseudo_register_write().
#define IS_DFP_PSEUDOREG | ( | tdep, | |
regnum ) |
Definition at line 95 of file rs6000-tdep.c.
Referenced by dfp_ax_pseudo_register_collect(), dfp_pseudo_register_read(), dfp_pseudo_register_write(), rs6000_ax_pseudo_register_collect(), rs6000_pseudo_register_read(), rs6000_pseudo_register_type(), rs6000_pseudo_register_write(), and rs6000_register_name().
#define IS_EFP_PSEUDOREG | ( | tdep, | |
regnum ) |
Definition at line 112 of file rs6000-tdep.c.
Referenced by efp_ax_pseudo_register_collect(), efp_pseudo_register_read(), efp_pseudo_register_write(), rs6000_ax_pseudo_register_collect(), rs6000_pseudo_register_read(), rs6000_pseudo_register_type(), rs6000_pseudo_register_write(), and rs6000_register_name().
#define IS_LOAD_AND_RESERVE_INSN | ( | insn | ) |
#define IS_SPE_PSEUDOREG | ( | tdep, | |
regnum ) |
Definition at line 90 of file rs6000-tdep.c.
Referenced by e500_move_ev_register(), e500_pseudo_register_read(), rs6000_ax_pseudo_register_collect(), rs6000_pseudo_register_read(), rs6000_pseudo_register_type(), rs6000_pseudo_register_write(), rs6000_register_name(), and spe_register_p().
#define IS_STORE_CONDITIONAL_INSN | ( | insn | ) |
#define IS_V_ALIAS_PSEUDOREG | ( | tdep, | |
regnum ) |
Definition at line 101 of file rs6000-tdep.c.
Referenced by rs6000_ax_pseudo_register_collect(), rs6000_pseudo_register_read(), rs6000_pseudo_register_reggroup_p(), rs6000_pseudo_register_type(), rs6000_pseudo_register_write(), rs6000_register_name(), v_alias_pseudo_register_collect(), v_alias_pseudo_register_read(), and v_alias_pseudo_register_write().
#define IS_VSX_PSEUDOREG | ( | tdep, | |
regnum ) |
Definition at line 107 of file rs6000-tdep.c.
Referenced by rs6000_ax_pseudo_register_collect(), rs6000_pseudo_register_read(), rs6000_pseudo_register_type(), rs6000_pseudo_register_write(), rs6000_register_name(), vsx_ax_pseudo_register_collect(), vsx_pseudo_register_read(), and vsx_pseudo_register_write().
#define LBARX_INSTRUCTION 0x7c000068 |
#define LDARX_INSTRUCTION 0x7c0000A8 |
#define LHARX_INSTRUCTION 0x7c0000e8 |
#define LOAD_AND_RESERVE_MASK 0xfc0007fe |
#define LQARX_INSTRUCTION 0x7c000228 |
#define LWARX_INSTRUCTION 0x7c000028 |
#define OP_MASK 0xfc000000 |
#define P_PPC_D | ( | insn_prefix, | |
insn_suffix ) |
Definition at line 4140 of file rs6000-tdep.c.
Referenced by ppc_process_prefix_instruction(), ppc_process_record_prefix_store(), ppc_process_record_prefix_store_vsx_ds_form(), and ppc_process_record_prefix_vsx_d_form().
#define P_PPC_TX15 | ( | insn_suffix | ) | PPC_BIT (insn_suffix, 15) |
Definition at line 4144 of file rs6000-tdep.c.
#define P_PPC_TX5 | ( | insn_sufix | ) | PPC_BIT (insn_suffix, 5) |
Definition at line 4143 of file rs6000-tdep.c.
#define P_PPC_XT | ( | insn_suffix | ) |
Definition at line 4145 of file rs6000-tdep.c.
Referenced by ppc_process_record_prefix_op34().
#define P_PPC_XT15 | ( | insn_suffix | ) | ((P_PPC_TX15 (insn_suffix) << 5) | PPC_T (insn_suffix)) |
Definition at line 4149 of file rs6000-tdep.c.
Referenced by ppc_process_record_prefix_op32().
#define P_PPC_XT5 | ( | insn_suffix | ) |
Definition at line 4147 of file rs6000-tdep.c.
Referenced by ppc_process_record_prefix_vsx_d_form().
#define PNOP_INSN 0x07000000 |
#define PNOP_MASK 0xfff3ffff |
#define PPC_BIT | ( | insn, | |
n ) ((insn & (1 << (31 - (n)))) ? 1 : 0) |
Definition at line 4124 of file rs6000-tdep.c.
Referenced by ppc_process_prefix_instruction(), ppc_process_record(), ppc_process_record_op4(), ppc_process_record_prefix_store(), ppc_process_record_prefix_store_vsx_ds_form(), and ppc_process_record_prefix_vsx_d_form().
#define PPC_BO | ( | insn | ) | PPC_FIELD (insn, 6, 5) |
Definition at line 4119 of file rs6000-tdep.c.
Referenced by ppc_process_record(), and ppc_process_record_op19().
Definition at line 4121 of file rs6000-tdep.c.
Referenced by ppc_process_record().
Definition at line 4123 of file rs6000-tdep.c.
Referenced by ppc_process_record_op6(), and ppc_process_record_op61().
Definition at line 4122 of file rs6000-tdep.c.
Referenced by ppc_process_record(), and ppc_process_record_op61().
#define PPC_EXTOP | ( | insn | ) | PPC_FIELD (insn, 21, 10) |
Definition at line 4109 of file rs6000-tdep.c.
Referenced by ppc_process_record_op19(), ppc_process_record_op31(), ppc_process_record_op59(), ppc_process_record_op60(), and ppc_process_record_op63().
Definition at line 4102 of file rs6000-tdep.c.
Referenced by ppc_process_prefix_instruction(), ppc_process_record(), ppc_process_record_op31_177(), ppc_process_record_op4(), ppc_process_record_op59(), ppc_process_record_op6(), ppc_process_record_op60(), ppc_process_record_op63(), ppc_process_record_prefix_op32(), ppc_process_record_prefix_op33(), ppc_process_record_prefix_op34(), ppc_process_record_prefix_op42(), ppc_process_record_prefix_op59_XX3(), ppc_process_record_prefix_store_vsx_ds_form(), and ppc_process_record_prefix_vsx_d_form().
#define PPC_FRT | ( | insn | ) | PPC_FIELD (insn, 6, 5) |
Definition at line 4116 of file rs6000-tdep.c.
Referenced by ppc_process_prefix_instruction(), ppc_process_record(), ppc_process_record_op31(), ppc_process_record_op59(), and ppc_process_record_op63().
#define PPC_LEV | ( | insn | ) | PPC_FIELD (insn, 20, 7) |
Definition at line 4130 of file rs6000-tdep.c.
Referenced by ppc_process_record().
#define PPC_LK | ( | insn | ) | PPC_BIT (insn, 31) |
Definition at line 4128 of file rs6000-tdep.c.
Referenced by ppc_process_record(), and ppc_process_record_op19().
#define PPC_NB | ( | insn | ) | PPC_FIELD (insn, 16, 5) |
Definition at line 4114 of file rs6000-tdep.c.
Referenced by ppc_process_record_op31().
#define PPC_OE | ( | insn | ) | PPC_BIT (insn, 21) |
Definition at line 4125 of file rs6000-tdep.c.
Referenced by ppc_process_record_op31().
#define PPC_OP6 | ( | insn | ) | PPC_FIELD (insn, 0, 6) |
Definition at line 4108 of file rs6000-tdep.c.
Referenced by ppc_process_prefix_instruction(), ppc_process_record(), and ppc_process_record_prefix_store().
#define PPC_RA | ( | insn | ) | PPC_FIELD (insn, 11, 5) |
Definition at line 4112 of file rs6000-tdep.c.
Referenced by ppc_process_prefix_instruction(), ppc_process_record(), ppc_process_record_op31(), ppc_process_record_op31_177(), ppc_process_record_op6(), ppc_process_record_op60_XX2(), ppc_process_record_op61(), ppc_process_record_prefix_store(), ppc_process_record_prefix_store_vsx_ds_form(), and ppc_process_record_prefix_vsx_d_form().
#define PPC_RB | ( | insn | ) | PPC_FIELD (insn, 16, 5) |
Definition at line 4113 of file rs6000-tdep.c.
Referenced by ppc_process_record_op31().
#define PPC_RC | ( | insn | ) | PPC_BIT (insn, 31) |
Definition at line 4126 of file rs6000-tdep.c.
Referenced by ppc_process_record(), ppc_process_record_op31(), ppc_process_record_op59(), and ppc_process_record_op63().
#define PPC_Rc | ( | insn | ) | PPC_BIT (insn, 21) |
Definition at line 4127 of file rs6000-tdep.c.
Referenced by ppc_process_record_op4(), and ppc_process_record_op60().
#define PPC_RS | ( | insn | ) | PPC_FIELD (insn, 6, 5) |
Definition at line 4111 of file rs6000-tdep.c.
Referenced by ppc_process_record(), and ppc_process_record_op31().
#define PPC_RT | ( | insn | ) | PPC_FIELD (insn, 6, 5) |
Definition at line 4110 of file rs6000-tdep.c.
Referenced by ppc_process_prefix_instruction(), ppc_process_record(), ppc_process_record_op19(), ppc_process_record_op31(), ppc_process_record_op4(), ppc_process_record_op60(), ppc_process_record_prefix_op32(), ppc_process_record_prefix_op34(), and ppc_process_record_prefix_op42().
#define PPC_SEXT | ( | v, | |
bs ) |
Definition at line 4104 of file rs6000-tdep.c.
#define PPC_SPR | ( | insn | ) |
Definition at line 4117 of file rs6000-tdep.c.
Referenced by ppc_process_record_op31().
#define PPC_T | ( | insn | ) | PPC_FIELD (insn, 6, 5) |
Definition at line 4120 of file rs6000-tdep.c.
#define PPC_TX | ( | insn | ) | PPC_BIT (insn, 31) |
Definition at line 4129 of file rs6000-tdep.c.
#define PPC_VRT | ( | insn | ) | PPC_FIELD (insn, 6, 5) |
Definition at line 4115 of file rs6000-tdep.c.
Referenced by ppc_process_prefix_instruction(), ppc_process_record(), ppc_process_record_op31(), ppc_process_record_op4(), ppc_process_record_op63(), and ppc_process_record_prefix_op42().
#define PPC_XER_NB | ( | xer | ) | (xer & 0x7f) |
Definition at line 4137 of file rs6000-tdep.c.
Referenced by ppc_process_record_op31().
#define PPC_XSp | ( | insn | ) |
Definition at line 4135 of file rs6000-tdep.c.
Definition at line 4132 of file rs6000-tdep.c.
Referenced by ppc_process_record_op31(), ppc_process_record_op60(), ppc_process_record_op60_XX2(), ppc_process_record_op61(), and ppc_process_record_prefix_op33().
#define PPC_XTp | ( | insn | ) |
Definition at line 4133 of file rs6000-tdep.c.
Referenced by ppc_process_prefix_instruction(), ppc_process_record_op31(), and ppc_process_record_op6().
#define R_MASK 0x00100000 |
#define R_ZERO 0x00000000 |
#define SIGNED_SHORT | ( | x | ) |
Definition at line 1219 of file rs6000-tdep.c.
Referenced by skip_prologue().
#define STBCX_INSTRUCTION 0x7c00056d |
#define STDCX_INSTRUCTION 0x7c0001ad |
#define STHCX_INSTRUCTION 0x7c0005ad |
#define STORE_CONDITIONAL_MASK 0xfc0007ff |
#define STQCX_INSTRUCTION 0x7c00016d |
#define STWCX_INSTRUCTION 0x7c00012d |
typedef enum register_status(* move_ev_register_func) (struct regcache *, int, void *) |
Definition at line 2708 of file rs6000-tdep.c.
void _initialize_rs6000_tdep | ( | ) |
Definition at line 8633 of file rs6000-tdep.c.
References add_setshow_auto_boolean_cmd(), add_setshow_boolean_cmd(), add_setshow_enum_cmd(), add_setshow_prefix_cmd(), class_support, gdbarch_register(), initialize_tdesc_powerpc_32(), initialize_tdesc_powerpc_403(), initialize_tdesc_powerpc_403gc(), initialize_tdesc_powerpc_405(), initialize_tdesc_powerpc_505(), initialize_tdesc_powerpc_601(), initialize_tdesc_powerpc_602(), initialize_tdesc_powerpc_603(), initialize_tdesc_powerpc_604(), initialize_tdesc_powerpc_64(), initialize_tdesc_powerpc_7400(), initialize_tdesc_powerpc_750(), initialize_tdesc_powerpc_860(), initialize_tdesc_powerpc_altivec32(), initialize_tdesc_powerpc_altivec64(), initialize_tdesc_powerpc_e500(), initialize_tdesc_powerpc_vsx32(), initialize_tdesc_powerpc_vsx64(), initialize_tdesc_rs6000(), no_class, powerpc_set_soft_float(), powerpc_set_vector_abi(), powerpc_soft_float_global, powerpc_vector_abi_string, powerpc_vector_strings, rs6000_dump_tdep(), rs6000_gdbarch_init(), setlist, setpowerpccmdlist, show_powerpc_exact_watchpoints(), showlist, showpowerpccmdlist, and target_exact_watchpoints.
int altivec_register_p | ( | struct gdbarch * | gdbarch, |
int | regno ) |
Definition at line 214 of file rs6000-tdep.c.
References ppc_gdbarch_tdep::ppc_vr0_regnum, and ppc_gdbarch_tdep::ppc_vrsave_regnum.
Referenced by fetch_register(), fetch_register(), store_register(), and store_register().
|
static |
Definition at line 3989 of file rs6000-tdep.c.
References size, type, xfree(), and xmalloc().
Referenced by rs6000_gdbarch_init().
|
static |
Definition at line 1309 of file rs6000-tdep.c.
References read_memory_integer().
Referenced by skip_prologue().
typedef BP_MANIPULATION_ENDIAN | ( | little_breakpoint | , |
big_breakpoint | ) |
Definition at line 830 of file rs6000-tdep.c.
References current_inferior(), displaced_debug_printf, extract_signed_integer(), gdbarch_byte_order(), gdbarch_displaced_step_buffer_length(), IS_LOAD_AND_RESERVE_INSN, memory_error(), OP_MASK, paddress(), PNOP_INSN, PNOP_MASK, PPC_INSN_SIZE, R_MASK, R_ZERO, TARGET_OBJECT_MEMORY, target_read(), TARGET_XFER_E_IO, and write_memory().
|
static |
Definition at line 3155 of file rs6000-tdep.c.
References ax_reg_mask(), IS_CDFP_PSEUDOREG, IS_DFP_PSEUDOREG, ppc_gdbarch_tdep::ppc_cdl0_regnum, PPC_CF0_REGNUM, ppc_gdbarch_tdep::ppc_dl0_regnum, and PPC_F0_REGNUM.
Referenced by rs6000_ax_pseudo_register_collect().
|
static |
Definition at line 2836 of file rs6000-tdep.c.
References gdbarch_byte_order(), IS_CDFP_PSEUDOREG, IS_DFP_PSEUDOREG, ppc_gdbarch_tdep::ppc_cdl0_regnum, PPC_CF0_REGNUM, ppc_gdbarch_tdep::ppc_dl0_regnum, PPC_F0_REGNUM, readable_regcache::raw_read(), and status.
Referenced by rs6000_pseudo_register_read().
|
static |
Definition at line 2876 of file rs6000-tdep.c.
References gdbarch_byte_order(), IS_CDFP_PSEUDOREG, IS_DFP_PSEUDOREG, ppc_gdbarch_tdep::ppc_cdl0_regnum, PPC_CF0_REGNUM, ppc_gdbarch_tdep::ppc_dl0_regnum, PPC_F0_REGNUM, and regcache::raw_write().
Referenced by rs6000_pseudo_register_write().
|
static |
Definition at line 2786 of file rs6000-tdep.c.
References regcache::raw_write(), and regnum.
Referenced by e500_pseudo_register_write().
|
static |
Definition at line 2753 of file rs6000-tdep.c.
References reg_buffer::arch(), gdbarch_byte_order(), IS_SPE_PSEUDOREG, ppc_gdbarch_tdep::ppc_ev0_regnum, ppc_gdbarch_tdep::ppc_ev0_upper_regnum, ppc_gdbarch_tdep::ppc_gp0_regnum, and status.
Referenced by e500_pseudo_register_write().
|
static |
Definition at line 2794 of file rs6000-tdep.c.
References reg_buffer::arch(), gdbarch_byte_order(), IS_SPE_PSEUDOREG, ppc_gdbarch_tdep::ppc_ev0_regnum, ppc_gdbarch_tdep::ppc_ev0_upper_regnum, ppc_gdbarch_tdep::ppc_gp0_regnum, readable_regcache::raw_read(), and status.
Referenced by rs6000_pseudo_register_read().
|
static |
Definition at line 2827 of file rs6000-tdep.c.
References do_regcache_raw_write(), and e500_move_ev_register().
Referenced by rs6000_pseudo_register_write().
|
static |
Definition at line 3234 of file rs6000-tdep.c.
References ax_reg_mask(), IS_CEFP_PSEUDOREG, IS_EFP_PSEUDOREG, ppc_gdbarch_tdep::ppc_cefpr0_regnum, PPC_CVR0_REGNUM, ppc_gdbarch_tdep::ppc_efpr0_regnum, and PPC_VR0_REGNUM.
Referenced by rs6000_ax_pseudo_register_collect().
|
static |
Definition at line 3030 of file rs6000-tdep.c.
References gdbarch_byte_order(), IS_CEFP_PSEUDOREG, IS_EFP_PSEUDOREG, ppc_gdbarch_tdep::ppc_cefpr0_regnum, PPC_CVR0_REGNUM, ppc_gdbarch_tdep::ppc_efpr0_regnum, PPC_VR0_REGNUM, readable_regcache::raw_read_part(), and register_size().
Referenced by rs6000_pseudo_register_read().
|
static |
Definition at line 3059 of file rs6000-tdep.c.
References gdbarch_byte_order(), reg_buffer::get_register_status(), IS_CEFP_PSEUDOREG, IS_EFP_PSEUDOREG, ppc_gdbarch_tdep::ppc_cefpr0_regnum, PPC_CVR0_REGNUM, ppc_gdbarch_tdep::ppc_efpr0_regnum, PPC_VR0_REGNUM, regcache::raw_update(), regcache::raw_write_part(), and register_size().
Referenced by rs6000_pseudo_register_write().
|
static |
Definition at line 3539 of file rs6000-tdep.c.
References ppc_variant::arch, ppc_variant::mach, ppc_variant::name, and variants.
Referenced by rs6000_gdbarch_init().
ppc_inferior_data * get_ppc_per_inferior | ( | inferior * | inf | ) |
Definition at line 163 of file rs6000-tdep.c.
References registry< T >::get(), and ppc_inferior_data_key.
Referenced by ppc_displaced_step_finish(), ppc_displaced_step_prepare(), and ppc_linux_displaced_step_prepare().
|
static |
Definition at line 298 of file rs6000-tdep.c.
References gdbarch_num_regs(), GDBARCH_OBSTACK_CALLOC, gdbarch_pc_regnum(), ppc_gdbarch_tdep::ppc_acc_regnum, ppc_gdbarch_tdep::ppc_cr_regnum, ppc_gdbarch_tdep::ppc_ev0_upper_regnum, ppc_gdbarch_tdep::ppc_fp0_regnum, ppc_gdbarch_tdep::ppc_fpscr_regnum, ppc_gdbarch_tdep::ppc_gp0_regnum, ppc_num_fprs, ppc_num_gprs, ppc_num_srs, ppc_num_vrs, ppc_gdbarch_tdep::ppc_ps_regnum, ppc_gdbarch_tdep::ppc_vr0_regnum, set_sim_regno(), ppc_gdbarch_tdep::sim_regno, and user_reg_map_name_to_regnum().
Referenced by rs6000_register_sim_regno().
|
static |
Definition at line 694 of file rs6000-tdep.c.
Referenced by rs6000_in_function_epilogue_frame_p().
|
inlinestatic |
Definition at line 7435 of file rs6000-tdep.c.
References TD_INSN, and TX_INSN_MASK.
Referenced by rs6000_program_breakpoint_here_p().
|
inlinestatic |
Definition at line 7441 of file rs6000-tdep.c.
References TDI_INSN, and TXI_INSN_MASK.
Referenced by rs6000_program_breakpoint_here_p().
|
inlinestatic |
Definition at line 7423 of file rs6000-tdep.c.
References TW_INSN, and TX_INSN_MASK.
Referenced by rs6000_program_breakpoint_here_p().
|
inlinestatic |
Definition at line 7429 of file rs6000-tdep.c.
References TWI_INSN, and TXI_INSN_MASK.
Referenced by rs6000_program_breakpoint_here_p().
|
static |
Definition at line 8506 of file rs6000-tdep.c.
References gdbarch_update_p().
Referenced by _initialize_rs6000_tdep().
|
static |
Definition at line 8517 of file rs6000-tdep.c.
References gdbarch_update_p(), POWERPC_VEC_AUTO, POWERPC_VEC_LAST, powerpc_vector_abi_global, powerpc_vector_abi_string, and powerpc_vector_strings.
Referenced by _initialize_rs6000_tdep().
|
static |
Definition at line 7478 of file rs6000-tdep.c.
Referenced by rs6000_gdbarch_init().
int ppc_altivec_support_p | ( | struct gdbarch * | gdbarch | ) |
Definition at line 269 of file rs6000-tdep.c.
References ppc_gdbarch_tdep::ppc_vr0_regnum, and ppc_gdbarch_tdep::ppc_vrsave_regnum.
void ppc_collect_fpregset | ( | const struct regset * | regset, |
const struct regcache * | regcache, | ||
int | regnum, | ||
void * | fpregs, | ||
size_t | len ) |
Definition at line 660 of file rs6000-tdep.c.
References reg_buffer::arch(), ppc_reg_offsets::f0_offset, ppc_reg_offsets::fpscr_offset, ppc_reg_offsets::fpscr_size, ppc_collect_reg(), ppc_floating_point_unit_p(), ppc_gdbarch_tdep::ppc_fp0_regnum, ppc_fpreg_offset(), ppc_gdbarch_tdep::ppc_fpscr_regnum, ppc_num_fprs, regset::regmap, and regnum.
Referenced by fill_fpregset(), ppcobsd_collect_gregset(), rs6000_aix_collect_regset(), ppc_nbsd_nat_target::store_registers(), and ppc_obsd_nat_target::store_registers().
void ppc_collect_gregset | ( | const struct regset * | regset, |
const struct regcache * | regcache, | ||
int | regnum, | ||
void * | gregs, | ||
size_t | len ) |
Definition at line 609 of file rs6000-tdep.c.
References reg_buffer::arch(), ppc_reg_offsets::cr_offset, ppc_reg_offsets::ctr_offset, gdbarch_pc_regnum(), ppc_reg_offsets::gpr_size, ppc_reg_offsets::lr_offset, ppc_reg_offsets::mq_offset, ppc_reg_offsets::pc_offset, ppc_collect_reg(), ppc_gdbarch_tdep::ppc_cr_regnum, ppc_gdbarch_tdep::ppc_ctr_regnum, ppc_gdbarch_tdep::ppc_gp0_regnum, ppc_greg_offset(), ppc_gdbarch_tdep::ppc_lr_regnum, ppc_gdbarch_tdep::ppc_mq_regnum, ppc_num_gprs, ppc_gdbarch_tdep::ppc_ps_regnum, ppc_gdbarch_tdep::ppc_xer_regnum, ppc_reg_offsets::ps_offset, ppc_reg_offsets::r0_offset, regset::regmap, regnum, ppc_reg_offsets::xer_offset, and ppc_reg_offsets::xr_size.
Referenced by fill_gregset(), ppc_linux_collect_gregset(), ppcobsd_collect_gregset(), rs6000_aix_collect_regset(), ppc_nbsd_nat_target::store_registers(), and ppc_obsd_nat_target::store_registers().
void ppc_collect_reg | ( | const struct regcache * | regcache, |
int | regnum, | ||
gdb_byte * | regs, | ||
size_t | offset, | ||
int | regsize ) |
Definition at line 438 of file rs6000-tdep.c.
References reg_buffer::arch(), gdbarch_byte_order(), reg_buffer::raw_collect(), register_size(), and regnum.
Referenced by ppc_collect_fpregset(), ppc_collect_gregset(), ppc_linux_collect_gregset(), rs6000_aix_collect_vrregset(), and rs6000_aix_collect_vsxregset().
std::vector< CORE_ADDR > ppc_deal_with_atomic_sequence | ( | struct regcache * | regcache | ) |
Definition at line 1138 of file rs6000-tdep.c.
References reg_buffer::arch(), BC_INSN, gdbarch_byte_order(), IS_LOAD_AND_RESERVE_INSN, IS_STORE_CONDITIONAL_INSN, loc, OP_MASK, PPC_INSN_SIZE, read_memory_integer(), and regcache_read_pc().
Referenced by rs6000_gdbarch_init(), and rs6000_software_single_step().
|
static |
Definition at line 1101 of file rs6000-tdep.c.
References ppc_inferior_data::disp_step_buf, get_ppc_per_inferior(), thread_info::inf, and status.
Referenced by rs6000_gdbarch_init().
|
static |
Definition at line 952 of file rs6000-tdep.c.
References ADDPCIS_INSN, ADDPCIS_INSN_MASK, ADDPCIS_INSN_REGSHIFT, ADDPCIS_TARGET_REGISTER, B_INSN, BC_INSN, BP_INSN, BP_MASK, BXL_INSN, displaced_debug_printf, extract_unsigned_integer(), gdbarch_byte_order(), gdbarch_pc_regnum(), OP_MASK, paddress(), PPC_INSN_SIZE, ppc_gdbarch_tdep::ppc_lr_regnum, regcache_cooked_read_unsigned(), regcache_cooked_write_unsigned(), regcache_read_pc(), regcache_write_pc(), and regnum.
Referenced by rs6000_gdbarch_init().
|
static |
Definition at line 1128 of file rs6000-tdep.c.
Referenced by rs6000_gdbarch_init().
|
static |
Definition at line 1081 of file rs6000-tdep.c.
References ppc_inferior_data::disp_step_buf, displaced_step_at_entry_point(), inferior::gdbarch, get_ppc_per_inferior(), and thread_info::inf.
Referenced by rs6000_gdbarch_init().
|
static |
Definition at line 1114 of file rs6000-tdep.c.
References ppc_inferior_data::disp_step_buf, registry< T >::get(), and ppc_inferior_data_key.
Referenced by rs6000_gdbarch_init().
|
static |
Definition at line 3924 of file rs6000-tdep.c.
References DWARF2_FRAME_REG_CFA, DWARF2_FRAME_REG_RA, DWARF2_FRAME_REG_SAME_VALUE, DWARF2_FRAME_REG_UNDEFINED, gdbarch_pc_regnum(), gdbarch_sp_regnum(), dwarf2_frame_state_reg::how, ppc_gdbarch_tdep::ppc_fp0_regnum, ppc_gdbarch_tdep::ppc_gp0_regnum, ppc_gdbarch_tdep::ppc_vr0_regnum, ppc_gdbarch_tdep::ppc_vrsave_regnum, and regnum.
Referenced by rs6000_gdbarch_init().
int ppc_floating_point_unit_p | ( | struct gdbarch * | gdbarch | ) |
Definition at line 258 of file rs6000-tdep.c.
References ppc_gdbarch_tdep::ppc_fp0_regnum, and ppc_gdbarch_tdep::ppc_fpscr_regnum.
Referenced by fetch_regs_kernel_thread(), fetch_regs_user_thread(), fill_fprs(), getfpregs_supplies(), getfpregs_supplies(), ppc64_sysv_abi_push_dummy_call(), ppc64_sysv_abi_return_value(), ppc_collect_fpregset(), ppc_linux_sigtramp_cache(), ppc_supply_fpregset(), rs6000_frame_cache(), rs6000_lynx178_push_dummy_call(), rs6000_lynx178_return_value(), rs6000_push_dummy_call(), rs6000_return_value(), store_regs_kernel_thread(), store_regs_user_thread(), and supply_fprs().
|
static |
Definition at line 502 of file rs6000-tdep.c.
References ppc_reg_offsets::f0_offset, ppc_reg_offsets::fpscr_offset, ppc_gdbarch_tdep::ppc_fp0_regnum, ppc_gdbarch_tdep::ppc_fpscr_regnum, ppc_num_fprs, and regnum.
Referenced by ppc_collect_fpregset(), and ppc_supply_fpregset().
|
static |
Definition at line 464 of file rs6000-tdep.c.
References ppc_reg_offsets::cr_offset, ppc_reg_offsets::ctr_offset, gdbarch_pc_regnum(), ppc_reg_offsets::gpr_size, ppc_reg_offsets::lr_offset, ppc_reg_offsets::mq_offset, ppc_reg_offsets::pc_offset, ppc_gdbarch_tdep::ppc_cr_regnum, ppc_gdbarch_tdep::ppc_ctr_regnum, ppc_gdbarch_tdep::ppc_gp0_regnum, ppc_gdbarch_tdep::ppc_lr_regnum, ppc_gdbarch_tdep::ppc_mq_regnum, ppc_num_gprs, ppc_gdbarch_tdep::ppc_ps_regnum, ppc_gdbarch_tdep::ppc_xer_regnum, ppc_reg_offsets::ps_offset, ppc_reg_offsets::r0_offset, regnum, ppc_reg_offsets::xer_offset, and ppc_reg_offsets::xr_size.
Referenced by ppc_collect_gregset(), and ppc_supply_gregset().
CORE_ADDR ppc_insn_d_field | ( | unsigned int | insn | ) |
Definition at line 8606 of file rs6000-tdep.c.
Referenced by ppc64_standard_linkage1_target(), ppc64_standard_linkage2_target(), ppc64_standard_linkage4_target(), and ppc_skip_trampoline_code().
CORE_ADDR ppc_insn_ds_field | ( | unsigned int | insn | ) |
Definition at line 8616 of file rs6000-tdep.c.
Referenced by ppc64_standard_linkage1_target(), ppc64_standard_linkage2_target(), ppc64_standard_linkage3_target(), and ppc64_standard_linkage4_target().
CORE_ADDR ppc_insn_prefix_dform | ( | unsigned int | insn1, |
unsigned int | insn2 ) |
Definition at line 8622 of file rs6000-tdep.c.
Referenced by ppc64_pcrel_linkage1_target(), and ppc64_pcrel_linkage2_target().
int ppc_insns_match_pattern | ( | frame_info_ptr | frame, |
CORE_ADDR | pc, | ||
const struct ppc_insn_pattern * | pattern, | ||
unsigned int * | insns ) |
Definition at line 8577 of file rs6000-tdep.c.
References ppc_insn_pattern::mask, and read_insn().
Referenced by ppc64_skip_trampoline_code_1(), and ppc_skip_trampoline_code().
|
static |
Definition at line 6923 of file rs6000-tdep.c.
References gdb_printf(), gdb_stdlog, P_PPC_D, paddress(), PPC_BIT, PPC_FIELD, ppc_gdbarch_tdep::ppc_fp0_regnum, PPC_FRT, ppc_gdbarch_tdep::ppc_gp0_regnum, PPC_OP6, PPC_PC_REGNUM, ppc_process_record_prefix_op32(), ppc_process_record_prefix_op33(), ppc_process_record_prefix_op34(), ppc_process_record_prefix_op42(), ppc_process_record_prefix_op59_XX3(), ppc_process_record_prefix_store(), ppc_process_record_prefix_store_vsx_ds_form(), ppc_process_record_prefix_vsx_d_form(), PPC_RA, ppc_record_vsr(), PPC_RT, PPC_VRT, PPC_XTp, R, record_full_arch_list_add_end(), record_full_arch_list_add_mem(), record_full_arch_list_add_reg(), and regcache_raw_read_unsigned().
Referenced by ppc_process_record().
Definition at line 7105 of file rs6000-tdep.c.
References gdb_printf(), gdb_stderr, gdb_stdlog, gdbarch_byte_order(), paddress(), PPC_BIT, PPC_BO, ppc_gdbarch_tdep::ppc_cr_regnum, ppc_gdbarch_tdep::ppc_ctr_regnum, PPC_D, PPC_DS, PPC_FIELD, ppc_gdbarch_tdep::ppc_fp0_regnum, PPC_FRT, ppc_gdbarch_tdep::ppc_gp0_regnum, PPC_LEV, PPC_LK, ppc_gdbarch_tdep::ppc_lr_regnum, PPC_OP6, PPC_PC_REGNUM, ppc_process_prefix_instruction(), ppc_process_record_op19(), ppc_process_record_op31(), ppc_process_record_op4(), ppc_process_record_op59(), ppc_process_record_op6(), ppc_process_record_op60(), ppc_process_record_op61(), ppc_process_record_op63(), PPC_RA, PPC_RC, ppc_record_vsr(), PPC_RS, PPC_RT, ppc_gdbarch_tdep::ppc_syscall_record, PPC_VRT, ppc_gdbarch_tdep::ppc_xer_regnum, read_memory_unsigned_integer(), record_full_arch_list_add_end(), record_full_arch_list_add_mem(), record_full_arch_list_add_reg(), regcache_raw_read_unsigned(), and size.
Referenced by ppc_linux_init_abi().
|
static |
Definition at line 4806 of file rs6000-tdep.c.
References gdb_printf(), gdb_stdlog, paddress(), PPC_BO, ppc_gdbarch_tdep::ppc_cr_regnum, ppc_gdbarch_tdep::ppc_ctr_regnum, PPC_EXTOP, ppc_gdbarch_tdep::ppc_gp0_regnum, PPC_LK, ppc_gdbarch_tdep::ppc_lr_regnum, PPC_RT, and record_full_arch_list_add_reg().
Referenced by ppc_process_record().
|
static |
Definition at line 4882 of file rs6000-tdep.c.
References gdb_printf(), gdb_stdlog, paddress(), ppc_gdbarch_tdep::ppc_cr_regnum, ppc_gdbarch_tdep::ppc_ctr_regnum, ppc_gdbarch_tdep::ppc_dscr_regnum, PPC_EXTOP, ppc_gdbarch_tdep::ppc_fp0_regnum, PPC_FRT, ppc_gdbarch_tdep::ppc_gp0_regnum, ppc_gdbarch_tdep::ppc_lr_regnum, PPC_NB, PPC_OE, ppc_gdbarch_tdep::ppc_ppr_regnum, ppc_process_record_op31_177(), ppc_gdbarch_tdep::ppc_ps_regnum, PPC_RA, PPC_RB, PPC_RC, ppc_record_vsr(), PPC_RS, PPC_RT, PPC_SPR, ppc_gdbarch_tdep::ppc_tar_regnum, ppc_gdbarch_tdep::ppc_vr0_regnum, ppc_gdbarch_tdep::ppc_vrsave_regnum, PPC_VRT, PPC_XER_NB, ppc_gdbarch_tdep::ppc_xer_regnum, PPC_XT, PPC_XTp, record_full_arch_list_add_mem(), record_full_arch_list_add_reg(), regcache_raw_read_unsigned(), size, and target_auxv_search().
Referenced by ppc_process_record().
|
static |
Definition at line 4859 of file rs6000-tdep.c.
References PPC_FIELD, PPC_RA, and ppc_record_ACC_fpscr().
Referenced by ppc_process_record_op31().
|
static |
Definition at line 4236 of file rs6000-tdep.c.
References gdb_printf(), gdb_stdlog, paddress(), PPC_BIT, ppc_gdbarch_tdep::ppc_cr_regnum, PPC_FIELD, ppc_gdbarch_tdep::ppc_gp0_regnum, PPC_Rc, ppc_record_vsr(), PPC_RT, ppc_gdbarch_tdep::ppc_vr0_regnum, PPC_VRT, PPC_VSCR_REGNUM, and record_full_arch_list_add_reg().
Referenced by ppc_process_record().
|
static |
Definition at line 5542 of file rs6000-tdep.c.
References gdb_printf(), gdb_stdlog, paddress(), ppc_gdbarch_tdep::ppc_cr_regnum, PPC_EXTOP, PPC_FIELD, ppc_gdbarch_tdep::ppc_fp0_regnum, ppc_gdbarch_tdep::ppc_fpscr_regnum, PPC_FRT, PPC_RC, ppc_record_ACC_fpscr(), and record_full_arch_list_add_reg().
Referenced by ppc_process_record().
|
static |
Definition at line 4778 of file rs6000-tdep.c.
References PPC_DQ, PPC_FIELD, ppc_gdbarch_tdep::ppc_gp0_regnum, PPC_RA, ppc_record_vsr(), PPC_XTp, record_full_arch_list_add_mem(), and regcache_raw_read_unsigned().
Referenced by ppc_process_record().
|
static |
Definition at line 5753 of file rs6000-tdep.c.
References gdb_printf(), gdb_stdlog, paddress(), ppc_gdbarch_tdep::ppc_cr_regnum, PPC_EXTOP, PPC_FIELD, ppc_gdbarch_tdep::ppc_fpscr_regnum, ppc_gdbarch_tdep::ppc_gp0_regnum, ppc_process_record_op60_XX2(), PPC_Rc, ppc_record_vsr(), PPC_RT, PPC_XT, and record_full_arch_list_add_reg().
Referenced by ppc_process_record().
|
static |
Definition at line 5711 of file rs6000-tdep.c.
References ppc_gdbarch_tdep::ppc_cr_regnum, ppc_gdbarch_tdep::ppc_fpscr_regnum, PPC_RA, ppc_record_vsr(), PPC_XT, and record_full_arch_list_add_reg().
Referenced by ppc_process_record_op60().
|
static |
Definition at line 6108 of file rs6000-tdep.c.
References gdb_printf(), gdb_stdlog, paddress(), PPC_DQ, PPC_DS, ppc_gdbarch_tdep::ppc_gp0_regnum, PPC_RA, ppc_record_vsr(), PPC_XT, record_full_arch_list_add_mem(), regcache_raw_read_unsigned(), and size.
Referenced by ppc_process_record().
|
static |
Definition at line 6167 of file rs6000-tdep.c.
References gdb_printf(), gdb_stdlog, paddress(), ppc_gdbarch_tdep::ppc_cr_regnum, PPC_EXTOP, PPC_FIELD, ppc_gdbarch_tdep::ppc_fp0_regnum, ppc_gdbarch_tdep::ppc_fpscr_regnum, PPC_FRT, PPC_RC, ppc_record_vsr(), PPC_VRT, and record_full_arch_list_add_reg().
Referenced by ppc_process_record().
|
static |
Definition at line 6674 of file rs6000-tdep.c.
References P_PPC_XT15, PPC_FIELD, ppc_gdbarch_tdep::ppc_gp0_regnum, ppc_record_vsr(), PPC_RT, and record_full_arch_list_add_reg().
Referenced by ppc_process_prefix_instruction().
|
static |
Definition at line 6729 of file rs6000-tdep.c.
References PPC_FIELD, ppc_record_vsr(), and PPC_XT.
Referenced by ppc_process_prefix_instruction().
|
static |
Definition at line 6766 of file rs6000-tdep.c.
References P_PPC_XT, PPC_FIELD, ppc_gdbarch_tdep::ppc_gp0_regnum, ppc_record_vsr(), PPC_RT, and record_full_arch_list_add_reg().
Referenced by ppc_process_prefix_instruction().
|
static |
Definition at line 6463 of file rs6000-tdep.c.
References PPC_FIELD, ppc_gdbarch_tdep::ppc_gp0_regnum, ppc_record_vsr(), PPC_RT, PPC_VRT, and record_full_arch_list_add_reg().
Referenced by ppc_process_prefix_instruction().
|
static |
Definition at line 6495 of file rs6000-tdep.c.
References PPC_FIELD, and ppc_record_ACC_fpscr().
Referenced by ppc_process_prefix_instruction().
|
static |
Definition at line 6620 of file rs6000-tdep.c.
References P_PPC_D, PPC_BIT, ppc_gdbarch_tdep::ppc_gp0_regnum, PPC_OP6, PPC_RA, R, record_full_arch_list_add_mem(), regcache_raw_read_unsigned(), and size.
Referenced by ppc_process_prefix_instruction().
|
static |
Definition at line 6813 of file rs6000-tdep.c.
References P_PPC_D, PPC_BIT, PPC_FIELD, ppc_gdbarch_tdep::ppc_gp0_regnum, PPC_RA, R, record_full_arch_list_add_mem(), regcache_raw_read_unsigned(), and size.
Referenced by ppc_process_prefix_instruction().
|
static |
Definition at line 6866 of file rs6000-tdep.c.
References P_PPC_D, P_PPC_XT5, PPC_BIT, PPC_FIELD, ppc_gdbarch_tdep::ppc_gp0_regnum, PPC_RA, ppc_record_vsr(), R, record_full_arch_list_add_mem(), regcache_raw_read_unsigned(), and size.
Referenced by ppc_process_prefix_instruction().
|
static |
Definition at line 4186 of file rs6000-tdep.c.
References ppc_gdbarch_tdep::ppc_fp0_regnum, ppc_gdbarch_tdep::ppc_fpscr_regnum, ppc_gdbarch_tdep::ppc_vsr0_upper_regnum, and record_full_arch_list_add_reg().
Referenced by ppc_process_record_op31_177(), ppc_process_record_op59(), and ppc_process_record_prefix_op59_XX3().
|
static |
Definition at line 4157 of file rs6000-tdep.c.
References ppc_gdbarch_tdep::ppc_fp0_regnum, ppc_gdbarch_tdep::ppc_vr0_regnum, ppc_gdbarch_tdep::ppc_vsr0_upper_regnum, and record_full_arch_list_add_reg().
Referenced by ppc_process_prefix_instruction(), ppc_process_record(), ppc_process_record_op31(), ppc_process_record_op4(), ppc_process_record_op6(), ppc_process_record_op60(), ppc_process_record_op60_XX2(), ppc_process_record_op61(), ppc_process_record_op63(), ppc_process_record_prefix_op32(), ppc_process_record_prefix_op33(), ppc_process_record_prefix_op34(), ppc_process_record_prefix_op42(), and ppc_process_record_prefix_vsx_d_form().
void ppc_supply_fpregset | ( | const struct regset * | regset, |
struct regcache * | regcache, | ||
int | regnum, | ||
const void * | fpregs, | ||
size_t | len ) |
Definition at line 571 of file rs6000-tdep.c.
References reg_buffer::arch(), ppc_reg_offsets::f0_offset, ppc_reg_offsets::fpscr_offset, ppc_reg_offsets::fpscr_size, ppc_floating_point_unit_p(), ppc_gdbarch_tdep::ppc_fp0_regnum, ppc_fpreg_offset(), ppc_gdbarch_tdep::ppc_fpscr_regnum, ppc_num_fprs, ppc_supply_reg(), regset::regmap, and regnum.
Referenced by ppc_fbsd_nat_target::fetch_registers(), ppc_nbsd_nat_target::fetch_registers(), ppc_obsd_nat_target::fetch_registers(), ppcobsd_supply_gregset(), rs6000_aix_supply_regset(), and supply_fpregset().
void ppc_supply_gregset | ( | const struct regset * | regset, |
struct regcache * | regcache, | ||
int | regnum, | ||
const void * | gregs, | ||
size_t | len ) |
Definition at line 521 of file rs6000-tdep.c.
References reg_buffer::arch(), ppc_reg_offsets::cr_offset, ppc_reg_offsets::ctr_offset, gdbarch_pc_regnum(), ppc_reg_offsets::gpr_size, ppc_reg_offsets::lr_offset, ppc_reg_offsets::mq_offset, ppc_reg_offsets::pc_offset, ppc_gdbarch_tdep::ppc_cr_regnum, ppc_gdbarch_tdep::ppc_ctr_regnum, ppc_gdbarch_tdep::ppc_gp0_regnum, ppc_greg_offset(), ppc_gdbarch_tdep::ppc_lr_regnum, ppc_gdbarch_tdep::ppc_mq_regnum, ppc_num_gprs, ppc_gdbarch_tdep::ppc_ps_regnum, ppc_supply_reg(), ppc_gdbarch_tdep::ppc_xer_regnum, ppc_reg_offsets::ps_offset, ppc_reg_offsets::r0_offset, regset::regmap, regnum, ppc_reg_offsets::xer_offset, and ppc_reg_offsets::xr_size.
Referenced by ppc_nbsd_nat_target::fetch_registers(), ppc_obsd_nat_target::fetch_registers(), ppc_linux_supply_gregset(), ppcobsd_supply_gregset(), rs6000_aix_supply_regset(), and supply_gregset().
void ppc_supply_reg | ( | struct regcache * | regcache, |
int | regnum, | ||
const gdb_byte * | regs, | ||
size_t | offset, | ||
int | regsize ) |
Definition at line 417 of file rs6000-tdep.c.
References reg_buffer::arch(), gdbarch_byte_order(), reg_buffer::raw_supply(), register_size(), and regnum.
Referenced by ppc_linux_supply_gregset(), ppc_supply_fpregset(), ppc_supply_gregset(), rs6000_aix_supply_vrregset(), and rs6000_aix_supply_vsxregset().
|
static |
Definition at line 8555 of file rs6000-tdep.c.
References gdbarch_byte_order(), get_frame_arch(), and read_memory_unsigned_integer().
Referenced by ppc_insns_match_pattern().
|
static |
Definition at line 3396 of file rs6000-tdep.c.
Referenced by rs6000_gdbarch_init().
|
static |
Definition at line 3257 of file rs6000-tdep.c.
References ax_reg_mask(), dfp_ax_pseudo_register_collect(), efp_ax_pseudo_register_collect(), gdbarch_register_name(), IS_CDFP_PSEUDOREG, IS_CEFP_PSEUDOREG, IS_CVSX_PSEUDOREG, IS_DFP_PSEUDOREG, IS_EFP_PSEUDOREG, IS_SPE_PSEUDOREG, IS_V_ALIAS_PSEUDOREG, IS_VSX_PSEUDOREG, ppc_gdbarch_tdep::ppc_ev0_regnum, ppc_gdbarch_tdep::ppc_ev0_upper_regnum, ppc_gdbarch_tdep::ppc_gp0_regnum, v_alias_pseudo_register_collect(), and vsx_ax_pseudo_register_collect().
Referenced by rs6000_gdbarch_init().
Definition at line 2423 of file rs6000-tdep.c.
References append_composite_type_field(), arch_composite_type(), builtin_type(), floatformats_ieee_quad, init_float_type(), init_vector_type(), ppc_gdbarch_tdep::ppc_builtin_type_vec128, type::set_is_vector(), and type::set_name().
Referenced by rs6000_pseudo_register_type().
Definition at line 2378 of file rs6000-tdep.c.
References append_composite_type_field(), arch_composite_type(), builtin_type(), init_vector_type(), ppc_gdbarch_tdep::ppc_builtin_type_vec64, type::set_is_vector(), and type::set_name().
Referenced by rs6000_pseudo_register_type().
|
static |
Definition at line 2669 of file rs6000-tdep.c.
References type::code(), type::length(), ppc_gdbarch_tdep::ppc_fp0_regnum, ppc_num_fprs, and regnum.
Referenced by rs6000_gdbarch_init().
Definition at line 8495 of file rs6000-tdep.c.
Referenced by _initialize_rs6000_tdep().
|
static |
Definition at line 3350 of file rs6000-tdep.c.
References ppc_gdbarch_tdep::ppc_acc_regnum, ppc_gdbarch_tdep::ppc_cr_regnum, ppc_gdbarch_tdep::ppc_ctr_regnum, ppc_gdbarch_tdep::ppc_ev0_upper_regnum, ppc_gdbarch_tdep::ppc_fp0_regnum, ppc_gdbarch_tdep::ppc_gp0_regnum, ppc_gdbarch_tdep::ppc_lr_regnum, ppc_gdbarch_tdep::ppc_mq_regnum, ppc_gdbarch_tdep::ppc_spefscr_regnum, ppc_gdbarch_tdep::ppc_vr0_regnum, ppc_gdbarch_tdep::ppc_vrsave_regnum, and ppc_gdbarch_tdep::ppc_xer_regnum.
Referenced by rs6000_gdbarch_init().
|
static |
Definition at line 3803 of file rs6000-tdep.c.
References rs6000_frame_cache::base, FRAME_OBSTACK_ZALLOC, gdbarch_pc_regnum(), gdbarch_sp_regnum(), get_frame_arch(), get_frame_register_unsigned(), rs6000_frame_cache::initial_sp, ppc_gdbarch_tdep::ppc_lr_regnum, rs6000_frame_cache::saved_regs, trad_frame_saved_reg::set_value(), and trad_frame_alloc_saved_regs().
Referenced by rs6000_epilogue_frame_prev_register(), and rs6000_epilogue_frame_this_id().
|
static |
Definition at line 3861 of file rs6000-tdep.c.
References regnum, rs6000_epilogue_frame_cache(), and trad_frame_get_prev_register().
|
static |
Definition at line 3873 of file rs6000-tdep.c.
References frame_relative_level(), get_frame_arch(), get_frame_pc(), and rs6000_in_function_epilogue_frame_p().
|
static |
Definition at line 3843 of file rs6000-tdep.c.
References frame_id_build(), frame_id_build_unavailable_stack(), get_frame_func(), rs6000_frame_cache::pc, and rs6000_epilogue_frame_cache().
|
static |
Definition at line 1378 of file rs6000-tdep.c.
References extract_unsigned_integer(), gdbarch_byte_order(), and target_read_memory().
Referenced by rs6000_skip_stack_check().
|
static |
Definition at line 819 of file rs6000-tdep.c.
References get_frame_register_unsigned().
Referenced by rs6000_gdbarch_init().
|
static |
Definition at line 2269 of file rs6000-tdep.c.
Referenced by rs6000_gdbarch_init().
|
static |
Definition at line 3900 of file rs6000-tdep.c.
References rs6000_frame_cache().
|
static |
Definition at line 3915 of file rs6000-tdep.c.
References rs6000_frame_base.
Referenced by rs6000_gdbarch_init().
|
static |
Definition at line 3567 of file rs6000-tdep.c.
References rs6000_framedata::alloca_reg, rs6000_frame_cache::base, rs6000_frame_cache::base_p, rs6000_framedata::cr_offset, rs6000_framedata::ev_offset, rs6000_framedata::fpr_offset, FRAME_OBSTACK_ZALLOC, rs6000_framedata::frameless, func, gdbarch_byte_order(), gdbarch_pc_regnum(), gdbarch_sp_regnum(), get_frame_arch(), get_frame_func(), get_frame_pc(), get_frame_register_unsigned(), get_pc_function_start(), rs6000_framedata::gpr_mask, rs6000_framedata::gpr_offset, rs6000_frame_cache::initial_sp, ppc_gdbarch_tdep::lr_frame_offset, rs6000_framedata::lr_offset, rs6000_framedata::lr_register, rs6000_frame_cache::pc, ppc_gdbarch_tdep::ppc_cr_regnum, ppc_gdbarch_tdep::ppc_ev0_regnum, ppc_floating_point_unit_p(), ppc_gdbarch_tdep::ppc_fp0_regnum, ppc_gdbarch_tdep::ppc_gp0_regnum, ppc_gdbarch_tdep::ppc_lr_regnum, ppc_num_fprs, ppc_num_gprs, ppc_gdbarch_tdep::ppc_vr0_regnum, ppc_gdbarch_tdep::ppc_vrsave_regnum, register_size(), safe_read_memory_unsigned_integer(), rs6000_framedata::saved_ev, rs6000_framedata::saved_fpr, rs6000_framedata::saved_gpr, rs6000_frame_cache::saved_regs, rs6000_framedata::saved_vr, trad_frame_saved_reg::set_addr(), trad_frame_saved_reg::set_realreg(), trad_frame_saved_reg::set_value(), skip_prologue(), trad_frame_alloc_saved_regs(), rs6000_framedata::vr_offset, rs6000_framedata::vrsave_offset, and ppc_gdbarch_tdep::wordsize.
Referenced by rs6000_frame_base_address(), rs6000_frame_prev_register(), and rs6000_frame_this_id().
|
static |
Definition at line 3780 of file rs6000-tdep.c.
References regnum, rs6000_frame_cache(), and trad_frame_get_prev_register().
|
static |
Definition at line 3760 of file rs6000-tdep.c.
References frame_id_build(), frame_id_build_unavailable_stack(), get_frame_func(), and rs6000_frame_cache().
|
static |
Definition at line 7501 of file rs6000-tdep.c.
References ppc_variant::arch, target_desc::arch, arches, AUTO_BOOLEAN_AUTO, AUTO_BOOLEAN_FALSE, AUTO_BOOLEAN_TRUE, bfd_uses_spe_extensions(), core_addr_lessthan(), dwarf2_append_unwinders(), dwarf2_frame_set_adjust_regnum(), dwarf2_frame_set_init_reg(), find_variant_by_arch(), frame_base_append_sniffer(), frame_unwind_append_unwinder(), GDB_OSABI_LINUX, GDB_OSABI_NETBSD, GDB_OSABI_UNKNOWN, gdbarch_alloc(), gdbarch_init_osabi(), gdbarch_list_lookup_by_info(), gdbarch_num_cooked_regs(), gdbarch_num_regs(), registry< T >::get(), ppc_gdbarch_tdep::have_ebb, ppc_gdbarch_tdep::have_htm_altivec, ppc_gdbarch_tdep::have_htm_core, ppc_gdbarch_tdep::have_htm_fpu, ppc_gdbarch_tdep::have_htm_spr, ppc_gdbarch_tdep::have_htm_vsx, ppc_gdbarch_tdep::lr_frame_offset, ppc_variant::mach, powerpc_disassembler_options, POWERPC_ELF_AUTO, POWERPC_ELF_V1, POWERPC_ELF_V2, POWERPC_LONG_DOUBLE_AUTO, POWERPC_LONG_DOUBLE_IBM128, POWERPC_LONG_DOUBLE_IEEE128, powerpc_soft_float_global, POWERPC_VEC_ALTIVEC, POWERPC_VEC_AUTO, POWERPC_VEC_GENERIC, POWERPC_VEC_SPE, powerpc_vector_abi_global, ppc64_sysv_abi_push_dummy_call(), ppc64_sysv_abi_return_value(), ppc64_update_call_site_pc(), ppc_gdbarch_tdep::ppc_acc_regnum, PPC_BESCR_REGNUM, ppc_gdbarch_tdep::ppc_cdl0_regnum, ppc_gdbarch_tdep::ppc_cdscr_regnum, PPC_CDSCR_REGNUM, ppc_gdbarch_tdep::ppc_cefpr0_regnum, PPC_CF0_REGNUM, ppc_gdbarch_tdep::ppc_cppr_regnum, PPC_CPPR_REGNUM, PPC_CR0_REGNUM, ppc_gdbarch_tdep::ppc_cr_regnum, PPC_CR_REGNUM, ppc_gdbarch_tdep::ppc_ctar_regnum, PPC_CTAR_REGNUM, ppc_gdbarch_tdep::ppc_ctr_regnum, PPC_CTR_REGNUM, PPC_CVR0_REGNUM, ppc_gdbarch_tdep::ppc_cvsr0_regnum, PPC_CVSR0_UPPER_REGNUM, ppc_deal_with_atomic_sequence(), ppc_displaced_step_finish(), ppc_displaced_step_fixup(), ppc_displaced_step_hw_singlestep(), ppc_displaced_step_prepare(), ppc_displaced_step_restore_all_in_ptid(), ppc_gdbarch_tdep::ppc_dl0_regnum, ppc_gdbarch_tdep::ppc_dscr_regnum, PPC_DSCR_REGNUM, ppc_dwarf2_frame_init_reg(), ppc_gdbarch_tdep::ppc_efpr0_regnum, ppc_gdbarch_tdep::ppc_ev0_regnum, ppc_gdbarch_tdep::ppc_ev0_upper_regnum, PPC_F0_REGNUM, ppc_gdbarch_tdep::ppc_fp0_regnum, ppc_gdbarch_tdep::ppc_fpscr_regnum, PPC_FPSCR_REGNUM, ppc_gdbarch_tdep::ppc_gp0_regnum, PPC_INSN_SIZE, ppc_gdbarch_tdep::ppc_lr_regnum, PPC_LR_REGNUM, ppc_gdbarch_tdep::ppc_mmcr0_regnum, PPC_MMCR0_REGNUM, ppc_gdbarch_tdep::ppc_mmcr2_regnum, PPC_MMCR2_REGNUM, ppc_gdbarch_tdep::ppc_mq_regnum, PPC_MQ_REGNUM, PPC_MSR_REGNUM, ppc_num_fprs, ppc_num_gprs, PPC_NUM_REGS, ppc_num_vshrs, PPC_PC_REGNUM, ppc_gdbarch_tdep::ppc_ppr_regnum, PPC_PPR_REGNUM, ppc_gdbarch_tdep::ppc_ps_regnum, PPC_R0_REGNUM, ppc_gdbarch_tdep::ppc_sdar_regnum, PPC_SDAR_REGNUM, ppc_gdbarch_tdep::ppc_siar_regnum, PPC_SIAR_REGNUM, ppc_gdbarch_tdep::ppc_sier_regnum, PPC_SIER_REGNUM, PPC_SPE_ACC_REGNUM, PPC_SPE_FSCR_REGNUM, PPC_SPE_UPPER_GP0_REGNUM, ppc_gdbarch_tdep::ppc_spefscr_regnum, ppc_sysv_abi_push_dummy_call(), ppc_sysv_abi_return_value(), ppc_sysv_get_return_buf_addr(), ppc_gdbarch_tdep::ppc_tar_regnum, PPC_TAR_REGNUM, PPC_TFHAR_REGNUM, ppc_gdbarch_tdep::ppc_toc_regnum, ppc_gdbarch_tdep::ppc_v0_alias_regnum, ppc_gdbarch_tdep::ppc_vr0_regnum, PPC_VR0_REGNUM, ppc_gdbarch_tdep::ppc_vrsave_regnum, PPC_VRSAVE_REGNUM, PPC_VSCR_REGNUM, ppc_gdbarch_tdep::ppc_vsr0_regnum, ppc_gdbarch_tdep::ppc_vsr0_upper_regnum, PPC_VSR0_UPPER_REGNUM, ppc_gdbarch_tdep::ppc_xer_regnum, PPC_XER_REGNUM, register_e500_ravenscar_ops(), register_ppc_ravenscar_ops(), rs6000_adjust_frame_regnum(), rs6000_ax_pseudo_register_collect(), rs6000_convert_register_p(), rs6000_dwarf2_reg_to_regnum(), rs6000_epilogue_frame_unwind, rs6000_fetch_pointer_argument(), rs6000_frame_align(), rs6000_frame_base_sniffer(), rs6000_frame_unwind, rs6000_gen_return_address(), rs6000_in_solib_return_trampoline(), rs6000_program_breakpoint_here_p(), rs6000_pseudo_register_read(), rs6000_pseudo_register_reggroup_p(), rs6000_pseudo_register_type(), rs6000_pseudo_register_write(), rs6000_register_name(), rs6000_register_sim_regno(), rs6000_register_to_value(), rs6000_skip_main_prologue(), rs6000_skip_prologue(), rs6000_skip_trampoline_code(), rs6000_stab_reg_to_regnum(), rs6000_stack_frame_destroyed_p(), rs6000_value_to_register(), set_gdbarch_ax_pseudo_register_collect(), set_gdbarch_believe_pcc_promotion(), set_gdbarch_breakpoint_kind_from_pc(), set_gdbarch_char_signed(), set_gdbarch_convert_register_p(), set_gdbarch_disassembler_options(), set_gdbarch_displaced_step_buffer_length(), set_gdbarch_displaced_step_copy_insn(), set_gdbarch_displaced_step_finish(), set_gdbarch_displaced_step_fixup(), set_gdbarch_displaced_step_hw_singlestep(), set_gdbarch_displaced_step_prepare(), set_gdbarch_displaced_step_restore_all_in_ptid(), set_gdbarch_double_bit(), set_gdbarch_dwarf2_reg_to_regnum(), set_gdbarch_fetch_pointer_argument(), set_gdbarch_float_bit(), set_gdbarch_fp0_regnum(), set_gdbarch_frame_align(), set_gdbarch_frame_args_skip(), set_gdbarch_frame_red_zone_size(), set_gdbarch_gen_return_address(), set_gdbarch_get_return_buf_addr(), set_gdbarch_have_nonsteppable_watchpoint(), set_gdbarch_in_solib_return_trampoline(), set_gdbarch_inner_than(), set_gdbarch_int_bit(), set_gdbarch_long_bit(), set_gdbarch_long_double_bit(), set_gdbarch_long_long_bit(), set_gdbarch_max_insn_length(), set_gdbarch_num_pseudo_regs(), set_gdbarch_num_regs(), set_gdbarch_pc_regnum(), set_gdbarch_program_breakpoint_here_p(), set_gdbarch_ps_regnum(), set_gdbarch_pseudo_register_read(), set_gdbarch_pseudo_register_write(), set_gdbarch_ptr_bit(), set_gdbarch_push_dummy_call(), set_gdbarch_register_name(), set_gdbarch_register_sim_regno(), set_gdbarch_register_to_value(), set_gdbarch_return_value(), set_gdbarch_short_bit(), set_gdbarch_skip_main_prologue(), set_gdbarch_skip_prologue(), set_gdbarch_skip_trampoline_code(), set_gdbarch_software_single_step(), set_gdbarch_sofun_address_maybe_missing(), set_gdbarch_sp_regnum(), set_gdbarch_stab_reg_to_regnum(), set_gdbarch_stack_frame_destroyed_p(), set_gdbarch_sw_breakpoint_from_kind(), set_gdbarch_update_call_site_pc(), set_gdbarch_valid_disassembler_options(), set_gdbarch_value_to_register(), set_tdesc_pseudo_register_reggroup_p(), set_tdesc_pseudo_register_type(), ppc_gdbarch_tdep::soft_float, ppc_variant::tdesc, tdesc_data, tdesc_data_alloc(), tdesc_find_feature(), tdesc_has_registers(), tdesc_numbered_register(), tdesc_numbered_register_choices(), tdesc_register_bitsize(), tdesc_use_registers(), and ppc_gdbarch_tdep::wordsize.
Referenced by _initialize_rs6000_tdep().
|
static |
Definition at line 3295 of file rs6000-tdep.c.
References axs_lvalue_register, ppc_gdbarch_tdep::ppc_lr_regnum, value::reg, register_type(), and value::type().
Referenced by rs6000_gdbarch_init().
|
static |
Definition at line 746 of file rs6000-tdep.c.
References extract_unsigned_integer(), find_pc_partial_function(), gdbarch_byte_order(), get_frame_register_unsigned(), insn_changes_sp_or_jumps(), ppc_gdbarch_tdep::ppc_ctr_regnum, PPC_INSN_SIZE, PPC_MAX_EPILOGUE_INSTRUCTIONS, and safe_frame_unwind_memory().
Referenced by rs6000_epilogue_frame_sniffer(), and rs6000_stack_frame_destroyed_p().
|
static |
Definition at line 2298 of file rs6000-tdep.c.
References name.
Referenced by rs6000_gdbarch_init(), and rs6000_skip_trampoline_code().
|
static |
Definition at line 7449 of file rs6000-tdep.c.
References extract_unsigned_integer(), gdbarch_byte_order_for_code(), is_td_insn(), is_tdi_insn(), is_tw_insn(), is_twi_insn(), make_scoped_restore_show_memory_breakpoints(), PPC_INSN_SIZE, and target_read_memory().
Referenced by rs6000_gdbarch_init().
|
static |
Definition at line 3093 of file rs6000-tdep.c.
References reg_buffer::arch(), dfp_pseudo_register_read(), e500_pseudo_register_read(), efp_pseudo_register_read(), gdbarch_register_name(), IS_CDFP_PSEUDOREG, IS_CEFP_PSEUDOREG, IS_CVSX_PSEUDOREG, IS_DFP_PSEUDOREG, IS_EFP_PSEUDOREG, IS_SPE_PSEUDOREG, IS_V_ALIAS_PSEUDOREG, IS_VSX_PSEUDOREG, v_alias_pseudo_register_read(), and vsx_pseudo_register_read().
Referenced by rs6000_gdbarch_init().
|
static |
Definition at line 2654 of file rs6000-tdep.c.
References default_register_reggroup_p(), IS_V_ALIAS_PSEUDOREG, and regnum.
Referenced by rs6000_gdbarch_init().
Definition at line 2617 of file rs6000-tdep.c.
References builtin_type::builtin_declong, builtin_type::builtin_double, builtin_type(), gdbarch_register_name(), gdbarch_register_type(), IS_CDFP_PSEUDOREG, IS_CEFP_PSEUDOREG, IS_CVSX_PSEUDOREG, IS_DFP_PSEUDOREG, IS_EFP_PSEUDOREG, IS_SPE_PSEUDOREG, IS_V_ALIAS_PSEUDOREG, IS_VSX_PSEUDOREG, ppc_gdbarch_tdep::ppc_v0_alias_regnum, ppc_gdbarch_tdep::ppc_vr0_regnum, regnum, rs6000_builtin_type_vec128(), and rs6000_builtin_type_vec64().
Referenced by rs6000_gdbarch_init().
|
static |
Definition at line 3123 of file rs6000-tdep.c.
References reg_buffer::arch(), dfp_pseudo_register_write(), e500_pseudo_register_write(), efp_pseudo_register_write(), gdbarch_register_name(), IS_CDFP_PSEUDOREG, IS_CEFP_PSEUDOREG, IS_CVSX_PSEUDOREG, IS_DFP_PSEUDOREG, IS_EFP_PSEUDOREG, IS_SPE_PSEUDOREG, IS_V_ALIAS_PSEUDOREG, IS_VSX_PSEUDOREG, v_alias_pseudo_register_write(), and vsx_pseudo_register_write().
Referenced by rs6000_gdbarch_init().
|
static |
Definition at line 2478 of file rs6000-tdep.c.
References IS_CDFP_PSEUDOREG, IS_CEFP_PSEUDOREG, IS_CVSX_PSEUDOREG, IS_DFP_PSEUDOREG, IS_EFP_PSEUDOREG, IS_SPE_PSEUDOREG, IS_V_ALIAS_PSEUDOREG, IS_VSX_PSEUDOREG, ppc_gdbarch_tdep::ppc_cdl0_regnum, ppc_gdbarch_tdep::ppc_cefpr0_regnum, ppc_gdbarch_tdep::ppc_cvsr0_regnum, PPC_CVSR0_UPPER_REGNUM, ppc_gdbarch_tdep::ppc_dl0_regnum, ppc_gdbarch_tdep::ppc_efpr0_regnum, ppc_gdbarch_tdep::ppc_ev0_regnum, ppc_gdbarch_tdep::ppc_ev0_upper_regnum, ppc_num_gprs, ppc_gdbarch_tdep::ppc_v0_alias_regnum, ppc_gdbarch_tdep::ppc_vsr0_regnum, ppc_gdbarch_tdep::ppc_vsr0_upper_regnum, and tdesc_register_name().
Referenced by rs6000_gdbarch_init().
|
static |
Definition at line 392 of file rs6000-tdep.c.
References gdbarch_num_cooked_regs(), init_sim_regno_table(), LEGACY_SIM_REGNO_IGNORE, and ppc_gdbarch_tdep::sim_regno.
Referenced by rs6000_gdbarch_init().
|
static |
Definition at line 2683 of file rs6000-tdep.c.
References type::code(), get_frame_arch(), get_frame_register_bytes(), PPC_MAX_REGISTER_SIZE, register_size(), regnum, and target_float_convert().
Referenced by rs6000_gdbarch_init().
|
static |
Definition at line 2239 of file rs6000-tdep.c.
References BL_DISPLACEMENT_MASK, BL_INSTRUCTION, BL_MASK, extract_unsigned_integer(), gdbarch_byte_order(), general_symbol_info::linkage_name(), lookup_minimal_symbol_by_pc(), bound_minimal_symbol::minsym, and target_read_memory().
Referenced by rs6000_gdbarch_init().
|
static |
Definition at line 2195 of file rs6000-tdep.c.
References find_pc_partial_function(), skip_prologue(), and skip_prologue_using_sal().
Referenced by rs6000_gdbarch_init().
|
static |
Definition at line 1398 of file rs6000-tdep.c.
References rs6000_fetch_instruction().
Referenced by skip_prologue().
|
static |
Definition at line 2319 of file rs6000-tdep.c.
References find_solib_trampoline_target(), gdbarch_byte_order(), get_frame_arch(), get_frame_register_unsigned(), general_symbol_info::linkage_name(), lookup_minimal_symbol_by_pc(), bound_minimal_symbol::minsym, read_memory_integer(), read_memory_unsigned_integer(), rs6000_in_solib_return_trampoline(), and ppc_gdbarch_tdep::wordsize.
Referenced by rs6000_gdbarch_init().
|
static |
Definition at line 3308 of file rs6000-tdep.c.
References ppc_gdbarch_tdep::ppc_acc_regnum, ppc_gdbarch_tdep::ppc_ctr_regnum, ppc_gdbarch_tdep::ppc_ev0_upper_regnum, ppc_gdbarch_tdep::ppc_fp0_regnum, ppc_gdbarch_tdep::ppc_gp0_regnum, ppc_gdbarch_tdep::ppc_lr_regnum, ppc_gdbarch_tdep::ppc_mq_regnum, ppc_gdbarch_tdep::ppc_spefscr_regnum, ppc_gdbarch_tdep::ppc_vr0_regnum, ppc_gdbarch_tdep::ppc_vrsave_regnum, and ppc_gdbarch_tdep::ppc_xer_regnum.
Referenced by rs6000_gdbarch_init().
|
static |
Definition at line 811 of file rs6000-tdep.c.
References get_current_frame(), and rs6000_in_function_epilogue_frame_p().
Referenced by rs6000_gdbarch_init().
|
static |
Definition at line 2708 of file rs6000-tdep.c.
Referenced by rs6000_gdbarch_init().
|
static |
Definition at line 285 of file rs6000-tdep.c.
Referenced by init_sim_regno_table().
|
static |
Definition at line 8545 of file rs6000-tdep.c.
References gdb_printf().
Referenced by _initialize_rs6000_tdep().
|
static |
Definition at line 1580 of file rs6000-tdep.c.
References rs6000_framedata::alloca_reg, bl_to_blrl_insn_p(), rs6000_framedata::cr_offset, rs6000_framedata::ev_offset, extract_unsigned_integer(), find_pc_line(), rs6000_framedata::fpr_offset, rs6000_framedata::frameless, gdbarch_bfd_arch_info(), gdbarch_byte_order(), GET_SRC_REG, rs6000_framedata::gpr_mask, rs6000_framedata::gpr_offset, symtab_and_line::line, rs6000_framedata::lr_offset, rs6000_framedata::lr_register, main_name(), max_skip_non_prologue_insns, name, rs6000_framedata::nosavedpc, rs6000_framedata::offset, symtab_and_line::pc, ppc_gdbarch_tdep::ppc_gp0_regnum, read_memory_integer(), rs6000_skip_stack_check(), rs6000_framedata::saved_ev, rs6000_framedata::saved_fpr, rs6000_framedata::saved_gpr, rs6000_framedata::saved_vr, SIGNED_SHORT, store_insn_p(), store_param_on_stack_p(), target_read_memory(), rs6000_framedata::used_bl, rs6000_framedata::vr_offset, and rs6000_framedata::vrsave_offset.
Referenced by rs6000_frame_cache(), rs6000_skip_prologue(), and set_gdbarch_skip_prologue().
int spe_register_p | ( | struct gdbarch * | gdbarch, |
int | regno ) |
Definition at line 226 of file rs6000-tdep.c.
References IS_SPE_PSEUDOREG, ppc_gdbarch_tdep::ppc_acc_regnum, ppc_gdbarch_tdep::ppc_ev0_upper_regnum, ppc_num_gprs, and ppc_gdbarch_tdep::ppc_spefscr_regnum.
Referenced by fetch_register(), and store_register().
|
static |
Definition at line 1339 of file rs6000-tdep.c.
Referenced by skip_prologue().
|
static |
Definition at line 1236 of file rs6000-tdep.c.
References GET_SRC_REG.
Referenced by skip_prologue().
|
static |
Definition at line 3182 of file rs6000-tdep.c.
References ax_reg_mask(), IS_V_ALIAS_PSEUDOREG, ppc_gdbarch_tdep::ppc_v0_alias_regnum, and ppc_gdbarch_tdep::ppc_vr0_regnum.
Referenced by rs6000_ax_pseudo_register_collect().
|
static |
Definition at line 2912 of file rs6000-tdep.c.
References IS_V_ALIAS_PSEUDOREG, ppc_gdbarch_tdep::ppc_v0_alias_regnum, ppc_gdbarch_tdep::ppc_vr0_regnum, and readable_regcache::raw_read().
Referenced by rs6000_pseudo_register_read().
|
static |
Definition at line 2927 of file rs6000-tdep.c.
References IS_V_ALIAS_PSEUDOREG, ppc_gdbarch_tdep::ppc_v0_alias_regnum, ppc_gdbarch_tdep::ppc_vr0_regnum, and regcache::raw_write().
Referenced by rs6000_pseudo_register_write().
|
static |
Definition at line 3196 of file rs6000-tdep.c.
References ax_reg_mask(), IS_CVSX_PSEUDOREG, IS_VSX_PSEUDOREG, PPC_CF0_REGNUM, PPC_CVR0_REGNUM, ppc_gdbarch_tdep::ppc_cvsr0_regnum, PPC_CVSR0_UPPER_REGNUM, PPC_F0_REGNUM, PPC_VR0_REGNUM, ppc_gdbarch_tdep::ppc_vsr0_regnum, and PPC_VSR0_UPPER_REGNUM.
Referenced by rs6000_ax_pseudo_register_collect().
|
static |
Definition at line 2940 of file rs6000-tdep.c.
References gdbarch_byte_order(), IS_CVSX_PSEUDOREG, IS_VSX_PSEUDOREG, PPC_CF0_REGNUM, PPC_CVR0_REGNUM, ppc_gdbarch_tdep::ppc_cvsr0_regnum, PPC_CVSR0_UPPER_REGNUM, PPC_F0_REGNUM, PPC_VR0_REGNUM, ppc_gdbarch_tdep::ppc_vsr0_regnum, PPC_VSR0_UPPER_REGNUM, readable_regcache::raw_read(), and status.
Referenced by rs6000_pseudo_register_read().
|
static |
Definition at line 2988 of file rs6000-tdep.c.
References gdbarch_byte_order(), IS_CVSX_PSEUDOREG, IS_VSX_PSEUDOREG, PPC_CF0_REGNUM, PPC_CVR0_REGNUM, ppc_gdbarch_tdep::ppc_cvsr0_regnum, PPC_CVSR0_UPPER_REGNUM, PPC_F0_REGNUM, PPC_VR0_REGNUM, ppc_gdbarch_tdep::ppc_vsr0_regnum, PPC_VSR0_UPPER_REGNUM, and regcache::raw_write().
Referenced by rs6000_pseudo_register_write().
int vsx_register_p | ( | struct gdbarch * | gdbarch, |
int | regno ) |
Definition at line 202 of file rs6000-tdep.c.
References ppc_gdbarch_tdep::ppc_vsr0_regnum, and ppc_gdbarch_tdep::ppc_vsr0_upper_regnum.
Referenced by fetch_register(), fetch_register(), store_register(), and store_register().
|
constexpr |
Definition at line 827 of file rs6000-tdep.c.
Referenced by iq2000_sw_breakpoint_from_kind(), mips_sw_breakpoint_from_kind(), and xtensa_sw_breakpoint_from_kind().
|
constexpr |
Definition at line 828 of file rs6000-tdep.c.
Referenced by iq2000_sw_breakpoint_from_kind(), mips_sw_breakpoint_from_kind(), and xtensa_sw_breakpoint_from_kind().
|
static |
Definition at line 1228 of file rs6000-tdep.c.
Referenced by skip_prologue().
|
static |
Definition at line 133 of file rs6000-tdep.c.
Referenced by rs6000_gdbarch_init().
|
static |
Definition at line 140 of file rs6000-tdep.c.
Referenced by _initialize_rs6000_tdep(), and rs6000_gdbarch_init().
|
static |
Definition at line 153 of file rs6000-tdep.c.
Referenced by powerpc_set_vector_abi(), and rs6000_gdbarch_init().
|
static |
Definition at line 154 of file rs6000-tdep.c.
Referenced by _initialize_rs6000_tdep(), and powerpc_set_vector_abi().
|
static |
Definition at line 143 of file rs6000-tdep.c.
Referenced by _initialize_rs6000_tdep(), and powerpc_set_vector_abi().
|
static |
Definition at line 158 of file rs6000-tdep.c.
Referenced by get_ppc_per_inferior(), and ppc_displaced_step_restore_all_in_ptid().
|
static |
Definition at line 3888 of file rs6000-tdep.c.
Referenced by rs6000_gdbarch_init().
|
static |
Definition at line 3907 of file rs6000-tdep.c.
Referenced by rs6000_frame_base_sniffer().
|
static |
Definition at line 3788 of file rs6000-tdep.c.
Referenced by rs6000_gdbarch_init().
|
static |
Definition at line 137 of file rs6000-tdep.c.
Referenced by _initialize_rs6000_tdep().
|
static |
Definition at line 138 of file rs6000-tdep.c.
Referenced by _initialize_rs6000_tdep().
|
staticconstexpr |
Definition at line 7416 of file rs6000-tdep.c.
Referenced by is_td_insn().
|
staticconstexpr |
Definition at line 7420 of file rs6000-tdep.c.
Referenced by is_tdi_insn().
|
staticconstexpr |
Definition at line 7415 of file rs6000-tdep.c.
Referenced by is_tw_insn().
|
staticconstexpr |
Definition at line 7419 of file rs6000-tdep.c.
Referenced by is_twi_insn().
|
staticconstexpr |
Definition at line 7414 of file rs6000-tdep.c.
Referenced by is_td_insn(), and is_tw_insn().
|
staticconstexpr |
Definition at line 7418 of file rs6000-tdep.c.
Referenced by is_tdi_insn(), and is_twi_insn().
|
static |
Definition at line 3479 of file rs6000-tdep.c.
Referenced by alloc_rust_variant(), and find_variant_by_arch().