GDB (xrefs)
Classes | Enumerations | Functions | Variables
/tmp/gdb-7.10/gdb/spu-tdep.c File Reference
#include "defs.h"
#include "arch-utils.h"
#include "gdbtypes.h"
#include "gdbcmd.h"
#include "gdbcore.h"
#include "frame.h"
#include "frame-unwind.h"
#include "frame-base.h"
#include "trad-frame.h"
#include "symtab.h"
#include "symfile.h"
#include "value.h"
#include "inferior.h"
#include "dis-asm.h"
#include "objfiles.h"
#include "language.h"
#include "regcache.h"
#include "reggroups.h"
#include "floatformat.h"
#include "block.h"
#include "observer.h"
#include "infcall.h"
#include "dwarf2.h"
#include "dwarf2-frame.h"
#include "ax.h"
#include "spu-tdep.h"

Go to the source code of this file.

Classes

struct  gdbarch_tdep
 
struct  spu_prologue_data
 
struct  spu_unwind_cache
 
struct  spu2ppu_cache
 
struct  spu_dis_asm_data
 
struct  spu_overlay_table
 

Enumerations

enum  {
  op_lqd = 0x34, op_lqx = 0x3c4, op_lqa = 0x61, op_lqr = 0x67,
  op_stqd = 0x24, op_stqx = 0x144, op_stqa = 0x41, op_stqr = 0x47,
  op_il = 0x081, op_ila = 0x21, op_a = 0x0c0, op_ai = 0x1c,
  op_selb = 0x8, op_br = 0x64, op_bra = 0x60, op_brsl = 0x66,
  op_brasl = 0x62, op_brnz = 0x42, op_brz = 0x40, op_brhnz = 0x46,
  op_brhz = 0x44, op_bi = 0x1a8, op_bisl = 0x1a9, op_biz = 0x128,
  op_binz = 0x129, op_bihz = 0x12a, op_bihnz = 0x12b
}
 

Functions

static struct typespu_builtin_type_vec128 (struct gdbarch *gdbarch)
 
static const char * spu_register_name (struct gdbarch *gdbarch, int reg_nr)
 
static struct typespu_register_type (struct gdbarch *gdbarch, int reg_nr)
 
static enum register_status spu_pseudo_register_read_spu (struct regcache *regcache, const char *regname, gdb_byte *buf)
 
static enum register_status spu_pseudo_register_read (struct gdbarch *gdbarch, struct regcache *regcache, int regnum, gdb_byte *buf)
 
static void spu_pseudo_register_write_spu (struct regcache *regcache, const char *regname, const gdb_byte *buf)
 
static void spu_pseudo_register_write (struct gdbarch *gdbarch, struct regcache *regcache, int regnum, const gdb_byte *buf)
 
static int spu_ax_pseudo_register_collect (struct gdbarch *gdbarch, struct agent_expr *ax, int regnum)
 
static int spu_ax_pseudo_register_push_stack (struct gdbarch *gdbarch, struct agent_expr *ax, int regnum)
 
static struct valuespu_value_from_register (struct gdbarch *gdbarch, struct type *type, int regnum, struct frame_id frame_id)
 
static int spu_register_reggroup_p (struct gdbarch *gdbarch, int regnum, struct reggroup *group)
 
static int spu_dwarf_reg_to_regnum (struct gdbarch *gdbarch, int reg)
 
static int spu_gdbarch_id (struct gdbarch *gdbarch)
 
static int spu_address_class_type_flags (int byte_size, int dwarf2_addr_class)
 
static const char * spu_address_class_type_flags_to_name (struct gdbarch *gdbarch, int type_flags)
 
static int spu_address_class_name_to_type_flags (struct gdbarch *gdbarch, const char *name, int *type_flags_ptr)
 
static void spu_address_to_pointer (struct gdbarch *gdbarch, struct type *type, gdb_byte *buf, CORE_ADDR addr)
 
static CORE_ADDR spu_pointer_to_address (struct gdbarch *gdbarch, struct type *type, const gdb_byte *buf)
 
static CORE_ADDR spu_integer_to_address (struct gdbarch *gdbarch, struct type *type, const gdb_byte *buf)
 
static int is_rr (unsigned int insn, int op, int *rt, int *ra, int *rb)
 
static int is_rrr (unsigned int insn, int op, int *rt, int *ra, int *rb, int *rc)
 
static int is_ri7 (unsigned int insn, int op, int *rt, int *ra, int *i7)
 
static int is_ri10 (unsigned int insn, int op, int *rt, int *ra, int *i10)
 
static int is_ri16 (unsigned int insn, int op, int *rt, int *i16)
 
static int is_ri18 (unsigned int insn, int op, int *rt, int *i18)
 
static int is_branch (unsigned int insn, int *offset, int *reg)
 
static CORE_ADDR spu_analyze_prologue (struct gdbarch *gdbarch, CORE_ADDR start_pc, CORE_ADDR end_pc, struct spu_prologue_data *data)
 
static CORE_ADDR spu_skip_prologue (struct gdbarch *gdbarch, CORE_ADDR pc)
 
static void spu_virtual_frame_pointer (struct gdbarch *gdbarch, CORE_ADDR pc, int *reg, LONGEST *offset)
 
static int spu_stack_frame_destroyed_p (struct gdbarch *gdbarch, CORE_ADDR pc)
 
static struct spu_unwind_cachespu_frame_unwind_cache (struct frame_info *this_frame, void **this_prologue_cache)
 
static void spu_frame_this_id (struct frame_info *this_frame, void **this_prologue_cache, struct frame_id *this_id)
 
static struct valuespu_frame_prev_register (struct frame_info *this_frame, void **this_prologue_cache, int regnum)
 
static CORE_ADDR spu_frame_base_address (struct frame_info *this_frame, void **this_cache)
 
static CORE_ADDR spu_unwind_pc (struct gdbarch *gdbarch, struct frame_info *next_frame)
 
static CORE_ADDR spu_unwind_sp (struct gdbarch *gdbarch, struct frame_info *next_frame)
 
static CORE_ADDR spu_read_pc (struct regcache *regcache)
 
static void spu_write_pc (struct regcache *regcache, CORE_ADDR pc)
 
static struct gdbarchspu2ppu_prev_arch (struct frame_info *this_frame, void **this_cache)
 
static void spu2ppu_this_id (struct frame_info *this_frame, void **this_cache, struct frame_id *this_id)
 
static struct valuespu2ppu_prev_register (struct frame_info *this_frame, void **this_cache, int regnum)
 
static int spu2ppu_sniffer (const struct frame_unwind *self, struct frame_info *this_frame, void **this_prologue_cache)
 
static void spu2ppu_dealloc_cache (struct frame_info *self, void *this_cache)
 
static CORE_ADDR spu_frame_align (struct gdbarch *gdbarch, CORE_ADDR sp)
 
static CORE_ADDR spu_push_dummy_code (struct gdbarch *gdbarch, CORE_ADDR sp, CORE_ADDR funaddr, struct value **args, int nargs, struct type *value_type, CORE_ADDR *real_pc, CORE_ADDR *bp_addr, struct regcache *regcache)
 
static int spu_scalar_value_p (struct type *type)
 
static void spu_value_to_regcache (struct regcache *regcache, int regnum, struct type *type, const gdb_byte *in)
 
static void spu_regcache_to_value (struct regcache *regcache, int regnum, struct type *type, gdb_byte *out)
 
static CORE_ADDR spu_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)
 
static struct frame_id spu_dummy_id (struct gdbarch *gdbarch, struct frame_info *this_frame)
 
static enum return_value_convention spu_return_value (struct gdbarch *gdbarch, struct value *function, struct type *type, struct regcache *regcache, gdb_byte *out, const gdb_byte *in)
 
static const gdb_bytespu_breakpoint_from_pc (struct gdbarch *gdbarch, CORE_ADDR *pcptr, int *lenptr)
 
static int spu_memory_remove_breakpoint (struct gdbarch *gdbarch, struct bp_target_info *bp_tgt)
 
static int spu_software_single_step (struct frame_info *frame)
 
static int spu_get_longjmp_target (struct frame_info *frame, CORE_ADDR *pc)
 
static void spu_dis_asm_print_address (bfd_vma addr, struct disassemble_info *info)
 
static int gdb_print_insn_spu (bfd_vma memaddr, struct disassemble_info *info)
 
static struct spu_overlay_tablespu_get_overlay_table (struct objfile *objfile)
 
static void spu_overlay_update_osect (struct obj_section *osect)
 
static void spu_overlay_update (struct obj_section *osect)
 
static void spu_overlay_new_objfile (struct objfile *objfile)
 
static void spu_catch_start (struct objfile *objfile)
 
static struct objfilespu_objfile_from_frame (struct frame_info *frame)
 
static void flush_ea_cache (void)
 
static void spu_attach_normal_stop (struct bpstats *bs, int print_frame)
 
static void info_spu_event_command (char *args, int from_tty)
 
static void info_spu_signal_command (char *args, int from_tty)
 
static void info_spu_mailbox_list (gdb_byte *buf, int nr, enum bfd_endian byte_order, const char *field, const char *msg)
 
static void info_spu_mailbox_command (char *args, int from_tty)
 
static ULONGEST spu_mfc_get_bitfield (ULONGEST word, int first, int last)
 
static void info_spu_dma_cmdlist (gdb_byte *buf, int nr, enum bfd_endian byte_order)
 
static void info_spu_dma_command (char *args, int from_tty)
 
static void info_spu_proxydma_command (char *args, int from_tty)
 
static void info_spu_command (char *args, int from_tty)
 
static void show_spu_command (char *args, int from_tty)
 
static void set_spu_command (char *args, int from_tty)
 
static void show_spu_stop_on_load (struct ui_file *file, int from_tty, struct cmd_list_element *c, const char *value)
 
static void show_spu_auto_flush_cache (struct ui_file *file, int from_tty, struct cmd_list_element *c, const char *value)
 
static struct gdbarchspu_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
 
void _initialize_spu_tdep (void)
 

Variables

static struct cmd_list_elementsetspucmdlist = NULL
 
static struct cmd_list_elementshowspucmdlist = NULL
 
static int spu_stop_on_load_p = 0
 
static int spu_auto_flush_cache_p = 1
 
static struct cmd_list_elementinfospucmdlist = NULL
 
static const struct frame_unwind spu_frame_unwind
 
static const struct frame_base spu_frame_base
 
static const struct frame_unwind spu2ppu_unwind
 
static const struct objfile_data * spu_overlay_data
 
initialize_file_ftype _initialize_spu_tdep
 

Enumeration Type Documentation

anonymous enum
Enumerator
op_lqd 
op_lqx 
op_lqa 
op_lqr 
op_stqd 
op_stqx 
op_stqa 
op_stqr 
op_il 
op_ila 
op_a 
op_ai 
op_selb 
op_br 
op_bra 
op_brsl 
op_brasl 
op_brnz 
op_brz 
op_brhnz 
op_brhz 
op_bi 
op_bisl 
op_biz 
op_binz 
op_bihz 
op_bihnz 

Definition at line 498 of file spu-tdep.c.

Function Documentation

void _initialize_spu_tdep ( void  )
static void flush_ea_cache ( void  )
static
static int gdb_print_insn_spu ( bfd_vma  memaddr,
struct disassemble_info *  info 
)
static
static void info_spu_command ( char *  args,
int  from_tty 
)
static

Definition at line 2645 of file spu-tdep.c.

References _, all_commands, gdb_stdout, help_list(), and printf_unfiltered().

Referenced by _initialize_spu_tdep().

static void info_spu_dma_cmdlist ( gdb_byte buf,
int  nr,
enum bfd_endian  byte_order 
)
static
static void info_spu_dma_command ( char *  args,
int  from_tty 
)
static
static void info_spu_event_command ( char *  args,
int  from_tty 
)
static
static void info_spu_mailbox_command ( char *  args,
int  from_tty 
)
static
static void info_spu_mailbox_list ( gdb_byte buf,
int  nr,
enum bfd_endian  byte_order,
const char *  field,
const char *  msg 
)
static
static void info_spu_proxydma_command ( char *  args,
int  from_tty 
)
static
static void info_spu_signal_command ( char *  args,
int  from_tty 
)
static
static int is_branch ( unsigned int  insn,
int offset,
int reg 
)
static
static int is_ri10 ( unsigned int  insn,
int  op,
int rt,
int ra,
int i10 
)
static

Definition at line 576 of file spu-tdep.c.

Referenced by spu_analyze_prologue(), and spu_stack_frame_destroyed_p().

static int is_ri16 ( unsigned int  insn,
int  op,
int rt,
int i16 
)
static

Definition at line 590 of file spu-tdep.c.

Referenced by is_branch(), and spu_analyze_prologue().

static int is_ri18 ( unsigned int  insn,
int  op,
int rt,
int i18 
)
static

Definition at line 603 of file spu-tdep.c.

Referenced by spu_analyze_prologue().

static int is_ri7 ( unsigned int  insn,
int  op,
int rt,
int ra,
int i7 
)
static

Definition at line 562 of file spu-tdep.c.

Referenced by is_branch().

static int is_rr ( unsigned int  insn,
int  op,
int rt,
int ra,
int rb 
)
static

Definition at line 533 of file spu-tdep.c.

Referenced by spu_analyze_prologue(), and spu_stack_frame_destroyed_p().

static int is_rrr ( unsigned int  insn,
int  op,
int rt,
int ra,
int rb,
int rc 
)
static

Definition at line 547 of file spu-tdep.c.

Referenced by spu_analyze_prologue().

static void set_spu_command ( char *  args,
int  from_tty 
)
static

Definition at line 2662 of file spu-tdep.c.

References all_commands, gdb_stdout, and help_list().

Referenced by _initialize_spu_tdep().

static void show_spu_auto_flush_cache ( struct ui_file file,
int  from_tty,
struct cmd_list_element c,
const char *  value 
)
static

Definition at line 2676 of file spu-tdep.c.

References _, and fprintf_filtered().

Referenced by _initialize_spu_tdep().

static void show_spu_command ( char *  args,
int  from_tty 
)
static

Definition at line 2656 of file spu-tdep.c.

References all_commands, gdb_stdout, and help_list().

Referenced by _initialize_spu_tdep().

static void show_spu_stop_on_load ( struct ui_file file,
int  from_tty,
struct cmd_list_element c,
const char *  value 
)
static

Definition at line 2668 of file spu-tdep.c.

References _, and fprintf_filtered().

Referenced by _initialize_spu_tdep().

static void spu2ppu_dealloc_cache ( struct frame_info self,
void *  this_cache 
)
static

Definition at line 1287 of file spu-tdep.c.

References spu2ppu_cache::regcache, and regcache_xfree().

static struct gdbarch* spu2ppu_prev_arch ( struct frame_info this_frame,
void **  this_cache 
)
static

Definition at line 1209 of file spu-tdep.c.

References get_regcache_arch(), and spu2ppu_cache::regcache.

static struct value* spu2ppu_prev_register ( struct frame_info this_frame,
void **  this_cache,
int  regnum 
)
static
static int spu2ppu_sniffer ( const struct frame_unwind self,
struct frame_info this_frame,
void **  this_prologue_cache 
)
static
static void spu2ppu_this_id ( struct frame_info this_frame,
void **  this_cache,
struct frame_id this_id 
)
static

Definition at line 1216 of file spu-tdep.c.

References spu2ppu_cache::frame_id.

static int spu_address_class_name_to_type_flags ( struct gdbarch gdbarch,
const char *  name,
int type_flags_ptr 
)
static

Definition at line 448 of file spu-tdep.c.

References TYPE_INSTANCE_FLAG_ADDRESS_CLASS_1.

Referenced by spu_gdbarch_init().

static int spu_address_class_type_flags ( int  byte_size,
int  dwarf2_addr_class 
)
static

Definition at line 430 of file spu-tdep.c.

References TYPE_INSTANCE_FLAG_ADDRESS_CLASS_1.

Referenced by spu_gdbarch_init().

static const char* spu_address_class_type_flags_to_name ( struct gdbarch gdbarch,
int  type_flags 
)
static

Definition at line 439 of file spu-tdep.c.

References TYPE_INSTANCE_FLAG_ADDRESS_CLASS_1.

Referenced by spu_gdbarch_init().

static void spu_address_to_pointer ( struct gdbarch gdbarch,
struct type type,
gdb_byte buf,
CORE_ADDR  addr 
)
static

Definition at line 461 of file spu-tdep.c.

References gdbarch_byte_order(), SPUADDR_ADDR, store_unsigned_integer(), and TYPE_LENGTH.

Referenced by spu_gdbarch_init().

static CORE_ADDR spu_analyze_prologue ( struct gdbarch gdbarch,
CORE_ADDR  start_pc,
CORE_ADDR  end_pc,
struct spu_prologue_data data 
)
static
static void spu_attach_normal_stop ( struct bpstats bs,
int  print_frame 
)
static

Definition at line 2068 of file spu-tdep.c.

References flush_ea_cache(), and spu_auto_flush_cache_p.

Referenced by _initialize_spu_tdep().

static int spu_ax_pseudo_register_collect ( struct gdbarch gdbarch,
struct agent_expr ax,
int  regnum 
)
static
static int spu_ax_pseudo_register_push_stack ( struct gdbarch gdbarch,
struct agent_expr ax,
int  regnum 
)
static
static const gdb_byte* spu_breakpoint_from_pc ( struct gdbarch gdbarch,
CORE_ADDR pcptr,
int lenptr 
)
static

Definition at line 1575 of file spu-tdep.c.

Referenced by spu_gdbarch_init().

static struct type* spu_builtin_type_vec128 ( struct gdbarch gdbarch)
static
static void spu_catch_start ( struct objfile objfile)
static
static void spu_dis_asm_print_address ( bfd_vma  addr,
struct disassemble_info *  info 
)
static

Definition at line 1726 of file spu-tdep.c.

References spu_dis_asm_data::gdbarch, spu_dis_asm_data::id, print_address(), and SPUADDR.

Referenced by gdb_print_insn_spu().

static struct frame_id spu_dummy_id ( struct gdbarch gdbarch,
struct frame_info this_frame 
)
static
static int spu_dwarf_reg_to_regnum ( struct gdbarch gdbarch,
int  reg 
)
static

Definition at line 402 of file spu-tdep.c.

References SPU_RAW_SP_REGNUM, and SPU_SP_REGNUM.

Referenced by spu_gdbarch_init().

static CORE_ADDR spu_frame_align ( struct gdbarch gdbarch,
CORE_ADDR  sp 
)
static

Definition at line 1308 of file spu-tdep.c.

Referenced by spu_gdbarch_init().

static CORE_ADDR spu_frame_base_address ( struct frame_info this_frame,
void **  this_cache 
)
static

Definition at line 1147 of file spu-tdep.c.

References spu_unwind_cache::local_base, and spu_frame_unwind_cache().

static struct value* spu_frame_prev_register ( struct frame_info this_frame,
void **  this_prologue_cache,
int  regnum 
)
static
static void spu_frame_this_id ( struct frame_info this_frame,
void **  this_prologue_cache,
struct frame_id this_id 
)
static
static struct spu_unwind_cache* spu_frame_unwind_cache ( struct frame_info this_frame,
void **  this_prologue_cache 
)
static
static int spu_gdbarch_id ( struct gdbarch gdbarch)
static
static struct gdbarch* spu_gdbarch_init ( struct gdbarch_info  info,
struct gdbarch_list arches 
)
static

Definition at line 2687 of file spu-tdep.c.

References gdbarch_info::abfd, core_addr_lessthan(), dwarf2_append_unwinders(), floatformats_ieee_double, floatformats_ieee_single, frame_base_set_default(), frame_unwind_append_unwinder(), frame_unwind_prepend_unwinder(), gdb_print_insn_spu(), gdbarch_list::gdbarch, gdbarch_alloc(), gdbarch_list_lookup_by_info(), gdbarch_tdep(), gdbarch_tdep::id, if(), name, gdbarch_list::next, ON_STACK, set_gdbarch_addr_bit(), set_gdbarch_address_class_name_to_type_flags(), set_gdbarch_address_class_type_flags(), set_gdbarch_address_class_type_flags_to_name(), set_gdbarch_address_to_pointer(), set_gdbarch_ax_pseudo_register_collect(), set_gdbarch_ax_pseudo_register_push_stack(), set_gdbarch_breakpoint_from_pc(), set_gdbarch_call_dummy_location(), set_gdbarch_char_signed(), set_gdbarch_decr_pc_after_break(), set_gdbarch_double_bit(), set_gdbarch_double_format(), set_gdbarch_dummy_id(), set_gdbarch_dwarf2_reg_to_regnum(), set_gdbarch_float_bit(), set_gdbarch_float_format(), set_gdbarch_frame_align(), set_gdbarch_frame_args_skip(), set_gdbarch_frame_red_zone_size(), set_gdbarch_get_longjmp_target(), set_gdbarch_inner_than(), set_gdbarch_int_bit(), set_gdbarch_integer_to_address(), set_gdbarch_long_bit(), set_gdbarch_long_double_bit(), set_gdbarch_long_double_format(), set_gdbarch_long_long_bit(), set_gdbarch_memory_remove_breakpoint(), set_gdbarch_num_pseudo_regs(), set_gdbarch_num_regs(), set_gdbarch_overlay_update(), set_gdbarch_pc_regnum(), set_gdbarch_pointer_to_address(), set_gdbarch_print_insn(), set_gdbarch_pseudo_register_read(), set_gdbarch_pseudo_register_write(), set_gdbarch_ptr_bit(), set_gdbarch_push_dummy_call(), set_gdbarch_push_dummy_code(), set_gdbarch_read_pc(), set_gdbarch_register_name(), set_gdbarch_register_reggroup_p(), set_gdbarch_register_type(), set_gdbarch_return_value(), set_gdbarch_short_bit(), set_gdbarch_skip_prologue(), set_gdbarch_software_single_step(), set_gdbarch_sp_regnum(), set_gdbarch_stack_frame_destroyed_p(), set_gdbarch_unwind_pc(), set_gdbarch_unwind_sp(), set_gdbarch_value_from_register(), set_gdbarch_virtual_frame_pointer(), set_gdbarch_write_pc(), spu_address_class_name_to_type_flags(), spu_address_class_type_flags(), spu_address_class_type_flags_to_name(), spu_address_to_pointer(), spu_ax_pseudo_register_collect(), spu_ax_pseudo_register_push_stack(), spu_breakpoint_from_pc(), spu_dummy_id(), spu_dwarf_reg_to_regnum(), spu_frame_align(), spu_get_longjmp_target(), spu_integer_to_address(), spu_memory_remove_breakpoint(), SPU_NUM_PSEUDO_REGS, SPU_NUM_REGS, spu_overlay_update(), SPU_PC_REGNUM, spu_pointer_to_address(), spu_pseudo_register_read(), spu_pseudo_register_write(), spu_push_dummy_call(), spu_push_dummy_code(), spu_read_pc(), spu_register_name(), spu_register_reggroup_p(), spu_register_type(), spu_return_value(), spu_skip_prologue(), spu_software_single_step(), SPU_SP_REGNUM, spu_stack_frame_destroyed_p(), spu_unwind_pc(), spu_unwind_sp(), spu_value_from_register(), spu_virtual_frame_pointer(), spu_write_pc(), and gdbarch_info::tdep_info.

Referenced by _initialize_spu_tdep().

static int spu_get_longjmp_target ( struct frame_info frame,
CORE_ADDR pc 
)
static
static struct spu_overlay_table* spu_get_overlay_table ( struct objfile objfile)
static
static CORE_ADDR spu_integer_to_address ( struct gdbarch gdbarch,
struct type type,
const gdb_byte buf 
)
static

Definition at line 486 of file spu-tdep.c.

References spu_gdbarch_id(), SPUADDR, and unpack_long().

Referenced by spu_gdbarch_init().

static int spu_memory_remove_breakpoint ( struct gdbarch gdbarch,
struct bp_target_info bp_tgt 
)
static
static ULONGEST spu_mfc_get_bitfield ( ULONGEST  word,
int  first,
int  last 
)
static

Definition at line 2311 of file spu-tdep.c.

Referenced by info_spu_dma_cmdlist().

static struct objfile* spu_objfile_from_frame ( struct frame_info frame)
static
static void spu_overlay_new_objfile ( struct objfile objfile)
static
static void spu_overlay_update ( struct obj_section osect)
static

Definition at line 1894 of file spu-tdep.c.

References ALL_OBJSECTIONS, section_is_overlay(), and spu_overlay_update_osect().

Referenced by spu_gdbarch_init().

static void spu_overlay_update_osect ( struct obj_section osect)
static
static CORE_ADDR spu_pointer_to_address ( struct gdbarch gdbarch,
struct type type,
const gdb_byte buf 
)
static
static enum register_status spu_pseudo_register_read ( struct gdbarch gdbarch,
struct regcache regcache,
int  regnum,
gdb_byte buf 
)
static
static enum register_status spu_pseudo_register_read_spu ( struct regcache regcache,
const char *  regname,
gdb_byte buf 
)
static
static void spu_pseudo_register_write ( struct gdbarch gdbarch,
struct regcache regcache,
int  regnum,
const gdb_byte buf 
)
static
static void spu_pseudo_register_write_spu ( struct regcache regcache,
const char *  regname,
const gdb_byte buf 
)
static
static CORE_ADDR spu_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 
)
static
static CORE_ADDR spu_push_dummy_code ( struct gdbarch gdbarch,
CORE_ADDR  sp,
CORE_ADDR  funaddr,
struct value **  args,
int  nargs,
struct type value_type,
CORE_ADDR real_pc,
CORE_ADDR bp_addr,
struct regcache regcache 
)
static

Definition at line 1314 of file spu-tdep.c.

Referenced by spu_gdbarch_init().

static CORE_ADDR spu_read_pc ( struct regcache regcache)
static
static void spu_regcache_to_value ( struct regcache regcache,
int  regnum,
struct type type,
gdb_byte out 
)
static
static const char* spu_register_name ( struct gdbarch gdbarch,
int  reg_nr 
)
static

Definition at line 114 of file spu-tdep.c.

Referenced by spu_gdbarch_init().

static int spu_register_reggroup_p ( struct gdbarch gdbarch,
int  regnum,
struct reggroup group 
)
static
static struct type* spu_register_type ( struct gdbarch gdbarch,
int  reg_nr 
)
static
static enum return_value_convention spu_return_value ( struct gdbarch gdbarch,
struct value function,
struct type type,
struct regcache regcache,
gdb_byte out,
const gdb_byte in 
)
static
static int spu_scalar_value_p ( struct type type)
static
static CORE_ADDR spu_skip_prologue ( struct gdbarch gdbarch,
CORE_ADDR  pc 
)
static

Definition at line 856 of file spu-tdep.c.

References spu_analyze_prologue().

Referenced by spu_gdbarch_init().

static int spu_software_single_step ( struct frame_info frame)
static
static int spu_stack_frame_destroyed_p ( struct gdbarch gdbarch,
CORE_ADDR  pc 
)
static
static CORE_ADDR spu_unwind_pc ( struct gdbarch gdbarch,
struct frame_info next_frame 
)
static
static CORE_ADDR spu_unwind_sp ( struct gdbarch gdbarch,
struct frame_info next_frame 
)
static
static struct value* spu_value_from_register ( struct gdbarch gdbarch,
struct type type,
int  regnum,
struct frame_id  frame_id 
)
static

Definition at line 361 of file spu-tdep.c.

References default_value_from_register(), len, set_value_offset(), SPU_NUM_GPRS, and TYPE_LENGTH.

Referenced by spu_gdbarch_init().

static void spu_value_to_regcache ( struct regcache regcache,
int  regnum,
struct type type,
const gdb_byte in 
)
static
static void spu_virtual_frame_pointer ( struct gdbarch gdbarch,
CORE_ADDR  pc,
int reg,
LONGEST offset 
)
static
static void spu_write_pc ( struct regcache regcache,
CORE_ADDR  pc 
)
static

Variable Documentation

initialize_file_ftype _initialize_spu_tdep
struct cmd_list_element* infospucmdlist = NULL
static

Definition at line 109 of file spu-tdep.c.

struct cmd_list_element* setspucmdlist = NULL
static

Definition at line 51 of file spu-tdep.c.

struct cmd_list_element* showspucmdlist = NULL
static

Definition at line 52 of file spu-tdep.c.

const struct frame_unwind spu2ppu_unwind
static
Initial value:
= {
NULL,
}
static void spu2ppu_dealloc_cache(struct frame_info *self, void *this_cache)
Definition: spu-tdep.c:1287
static struct value * spu2ppu_prev_register(struct frame_info *this_frame, void **this_cache, int regnum)
Definition: spu-tdep.c:1224
static void spu2ppu_this_id(struct frame_info *this_frame, void **this_cache, struct frame_id *this_id)
Definition: spu-tdep.c:1216
static struct gdbarch * spu2ppu_prev_arch(struct frame_info *this_frame, void **this_cache)
Definition: spu-tdep.c:1209
enum unwind_stop_reason default_frame_unwind_stop_reason(struct frame_info *this_frame, void **this_cache)
Definition: frame-unwind.c:180
static int spu2ppu_sniffer(const struct frame_unwind *self, struct frame_info *this_frame, void **this_prologue_cache)
Definition: spu-tdep.c:1237

Definition at line 1293 of file spu-tdep.c.

int spu_auto_flush_cache_p = 1
static

Definition at line 57 of file spu-tdep.c.

Referenced by _initialize_spu_tdep(), and spu_attach_normal_stop().

const struct frame_base spu_frame_base
static
Initial value:
= {
spu_frame_base_address
}
static CORE_ADDR spu_frame_base_address(struct frame_info *this_frame, void **this_cache)
Definition: spu-tdep.c:1147
static const struct frame_unwind spu_frame_unwind
Definition: spu-tdep.c:1137

Definition at line 1154 of file spu-tdep.c.

const struct frame_unwind spu_frame_unwind
static
Initial value:
= {
NULL,
}
static void spu_frame_this_id(struct frame_info *this_frame, void **this_prologue_cache, struct frame_id *this_id)
Definition: spu-tdep.c:1111
int default_frame_sniffer(const struct frame_unwind *self, struct frame_info *this_frame, void **this_prologue_cache)
Definition: frame-unwind.c:170
static struct value * spu_frame_prev_register(struct frame_info *this_frame, void **this_prologue_cache, int regnum)
Definition: spu-tdep.c:1124
enum unwind_stop_reason default_frame_unwind_stop_reason(struct frame_info *this_frame, void **this_cache)
Definition: frame-unwind.c:180

Definition at line 1137 of file spu-tdep.c.

const struct objfile_data* spu_overlay_data
static
int spu_stop_on_load_p = 0
static

Definition at line 55 of file spu-tdep.c.

Referenced by _initialize_spu_tdep(), and spu_catch_start().