GDB (xrefs)
|
#include "defs.h"
#include "arch-utils.h"
#include "gdbtypes.h"
#include "gdbcmd.h"
#include "gdbcore.h"
#include "gdb_string.h"
#include "gdb_assert.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 "exceptions.h"
#include "spu-tdep.h"
Go to the source code of this file.
anonymous enum |
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 444 of file spu-tdep.c.
void _initialize_spu_tdep | ( | void | ) |
Definition at line 2748 of file spu-tdep.c.
References _, _initialize_spu_tdep, add_cmd(), add_prefix_cmd(), add_setshow_boolean_cmd(), class_info, class_support, info_spu_command(), info_spu_dma_command(), info_spu_event_command(), info_spu_mailbox_command(), info_spu_proxydma_command(), info_spu_signal_command(), infolist, no_class, observer_attach_new_objfile(), observer_attach_normal_stop(), register_gdbarch_init(), set_spu_command(), setlist, show_spu_auto_flush_cache(), show_spu_command(), show_spu_stop_on_load(), showlist, spu_attach_normal_stop(), spu_auto_flush_cache_p, spu_catch_start(), spu_gdbarch_init(), spu_overlay_data, spu_overlay_new_objfile(), and spu_stop_on_load_p.
static void flush_ea_cache | ( | void | ) | [static] |
Definition at line 1981 of file spu-tdep.c.
References objfile_type::builtin_void, call_function_by_hand(), get_current_frame(), has_stack_frames(), lookup_function_type(), lookup_minimal_symbol(), lookup_pointer_type(), objfile_type(), spu_objfile_from_frame(), SYMBOL_VALUE_ADDRESS, type, and value_from_pointer().
Referenced by spu_attach_normal_stop().
static int gdb_print_insn_spu | ( | bfd_vma | memaddr, |
struct disassemble_info * | info | ||
) | [static] |
Definition at line 1679 of file spu-tdep.c.
References spu_dis_asm_data::gdbarch, spu_dis_asm_data::id, spu_dis_asm_print_address(), and SPUADDR_SPU.
Referenced by spu_gdbarch_init().
static void info_spu_command | ( | char * | args, |
int | from_tty | ||
) | [static] |
Definition at line 2589 of file spu-tdep.c.
References _, 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] |
Definition at line 2262 of file spu-tdep.c.
References current_uiout, do_cleanups(), extract_unsigned_integer(), make_cleanup_ui_out_table_begin_end(), make_cleanup_ui_out_tuple_begin_end(), phex(), printf_filtered(), spu_mfc_get_bitfield(), ui_left, ui_out_field_fmt(), ui_out_field_int(), ui_out_field_skip(), ui_out_field_string(), ui_out_is_mi_like_p(), ui_out_table_body(), ui_out_table_header(), and ULONGEST.
Referenced by info_spu_dma_command(), and info_spu_proxydma_command().
static void info_spu_dma_command | ( | char * | args, |
int | from_tty | ||
) | [static] |
Definition at line 2443 of file spu-tdep.c.
References _, gdbarch::byte_order, current_target, current_uiout, do_cleanups(), error(), extract_unsigned_integer(), gdbarch_bfd_arch_info(), gdbarch_byte_order(), get_frame_arch(), get_frame_register_unsigned(), get_selected_frame(), info_spu_dma_cmdlist(), len, LONGEST, make_cleanup_ui_out_tuple_begin_end(), phex(), phex_nz(), printf_filtered(), SPU_ID_REGNUM, TARGET_OBJECT_SPU, target_read(), ui_out_field_fmt(), ui_out_is_mi_like_p(), ULONGEST, and xsnprintf().
Referenced by _initialize_spu_tdep().
static void info_spu_event_command | ( | char * | args, |
int | from_tty | ||
) | [static] |
Definition at line 2028 of file spu-tdep.c.
References _, current_target, current_uiout, do_cleanups(), error(), gdbarch_bfd_arch_info(), get_frame_arch(), get_frame_register_unsigned(), get_selected_frame(), len, LONGEST, make_cleanup_ui_out_tuple_begin_end(), phex(), phex_nz(), printf_filtered(), SPU_ID_REGNUM, strtoulst(), TARGET_OBJECT_SPU, target_read(), ui_out_field_fmt(), ui_out_is_mi_like_p(), ULONGEST, and xsnprintf().
Referenced by _initialize_spu_tdep().
static void info_spu_mailbox_command | ( | char * | args, |
int | from_tty | ||
) | [static] |
Definition at line 2206 of file spu-tdep.c.
References _, gdbarch::byte_order, current_target, current_uiout, do_cleanups(), error(), gdbarch_bfd_arch_info(), gdbarch_byte_order(), get_frame_arch(), get_frame_register_unsigned(), get_selected_frame(), info_spu_mailbox_list(), len, LONGEST, make_cleanup_ui_out_tuple_begin_end(), SPU_ID_REGNUM, TARGET_OBJECT_SPU, target_read(), and xsnprintf().
Referenced by _initialize_spu_tdep().
static void info_spu_mailbox_list | ( | gdb_byte * | buf, |
int | nr, | ||
enum bfd_endian | byte_order, | ||
const char * | field, | ||
const char * | msg | ||
) | [static] |
Definition at line 2175 of file spu-tdep.c.
References current_uiout, do_cleanups(), extract_unsigned_integer(), make_cleanup_ui_out_table_begin_end(), make_cleanup_ui_out_tuple_begin_end(), phex(), printf_filtered(), ui_left, ui_out_field_fmt(), ui_out_is_mi_like_p(), ui_out_table_body(), ui_out_table_header(), and ULONGEST.
Referenced by info_spu_mailbox_command().
static void info_spu_proxydma_command | ( | char * | args, |
int | from_tty | ||
) | [static] |
Definition at line 2524 of file spu-tdep.c.
References _, gdbarch::byte_order, current_target, current_uiout, do_cleanups(), error(), extract_unsigned_integer(), gdbarch_bfd_arch_info(), gdbarch_byte_order(), get_frame_arch(), get_frame_register_unsigned(), get_selected_frame(), info_spu_dma_cmdlist(), len, LONGEST, make_cleanup_ui_out_tuple_begin_end(), phex(), phex_nz(), printf_filtered(), SPU_ID_REGNUM, TARGET_OBJECT_SPU, target_read(), ui_out_field_fmt(), ui_out_is_mi_like_p(), ULONGEST, and xsnprintf().
Referenced by _initialize_spu_tdep().
static void info_spu_signal_command | ( | char * | args, |
int | from_tty | ||
) | [static] |
Definition at line 2079 of file spu-tdep.c.
References _, gdbarch::byte_order, current_target, current_uiout, do_cleanups(), error(), extract_unsigned_integer(), gdbarch_bfd_arch_info(), gdbarch_byte_order(), get_frame_arch(), get_frame_register_unsigned(), get_selected_frame(), len, LONGEST, make_cleanup_ui_out_tuple_begin_end(), phex(), phex_nz(), printf_filtered(), SPU_ID_REGNUM, strtoulst(), TARGET_OBJECT_SPU, target_read(), ui_out_field_fmt(), ui_out_field_int(), ui_out_is_mi_like_p(), ULONGEST, and xsnprintf().
Referenced by _initialize_spu_tdep().
Definition at line 562 of file spu-tdep.c.
References is_ri16(), is_ri7(), op_bi, op_bihnz, op_bihz, op_binz, op_bisl, op_biz, op_br, op_bra, op_brasl, op_brhnz, op_brhz, op_brnz, op_brsl, op_brz, and SPU_PC_REGNUM.
Referenced by spu_analyze_prologue(), spu_in_function_epilogue_p(), and spu_software_single_step().
Definition at line 522 of file spu-tdep.c.
Referenced by spu_analyze_prologue(), and spu_in_function_epilogue_p().
Definition at line 536 of file spu-tdep.c.
Referenced by is_branch(), and spu_analyze_prologue().
Definition at line 549 of file spu-tdep.c.
Referenced by spu_analyze_prologue().
Definition at line 508 of file spu-tdep.c.
Referenced by is_branch().
Definition at line 479 of file spu-tdep.c.
Referenced by spu_analyze_prologue(), and spu_in_function_epilogue_p().
Definition at line 493 of file spu-tdep.c.
Referenced by spu_analyze_prologue().
static void set_spu_command | ( | char * | args, |
int | from_tty | ||
) | [static] |
Definition at line 2606 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 2620 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 2600 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 2612 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 1234 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, read] |
Definition at line 1156 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, read] |
Definition at line 1171 of file spu-tdep.c.
References frame_unwind_got_bytes(), get_regcache_arch(), spu2ppu_cache::regcache, regcache_cooked_read(), and register_size().
static int spu2ppu_sniffer | ( | const struct frame_unwind * | self, |
struct frame_info * | this_frame, | ||
void ** | this_prologue_cache | ||
) | [static] |
Definition at line 1184 of file spu-tdep.c.
References gdbarch::byte_order, extract_unsigned_integer(), spu2ppu_cache::frame_id, frame_id_build(), FRAME_OBSTACK_CALLOC, frame_save_as_regcache(), func, gdbarch_bfd_arch_info(), gdbarch_byte_order(), get_frame_arch(), get_frame_pc(), get_frame_sp(), get_next_frame(), get_thread_arch_regcache(), inferior_ptid, spu2ppu_cache::regcache, regcache_dup(), target_gdbarch(), and target_read_memory().
static void spu2ppu_this_id | ( | struct frame_info * | this_frame, |
void ** | this_cache, | ||
struct frame_id * | this_id | ||
) | [static] |
Definition at line 1163 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 394 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 376 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 385 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 407 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] |
Definition at line 617 of file spu-tdep.c.
References spu_prologue_data::cfa_offset, spu_prologue_data::cfa_reg, extract_unsigned_integer(), gdbarch_byte_order(), is_branch(), is_ri10(), is_ri16(), is_ri18(), is_rr(), is_rrr(), op_a, op_ai, op_il, op_ila, op_selb, op_stqd, spu_prologue_data::reg_offset, spu_prologue_data::size, SPU_FP_REGNUM, SPU_LR_REGNUM, SPU_NUM_GPRS, SPU_RAW_SP_REGNUM, SPU_SP_REGNUM, and target_read_memory().
Referenced by spu_frame_unwind_cache(), spu_skip_prologue(), and spu_virtual_frame_pointer().
static void spu_attach_normal_stop | ( | struct bpstats * | bs, |
int | print_frame | ||
) | [static] |
Definition at line 2012 of file spu-tdep.c.
References flush_ea_cache(), and spu_auto_flush_cache_p.
Referenced by _initialize_spu_tdep().
static const gdb_byte* spu_breakpoint_from_pc | ( | struct gdbarch * | gdbarch, |
CORE_ADDR * | pcptr, | ||
int * | lenptr | ||
) | [static] |
Definition at line 1522 of file spu-tdep.c.
Referenced by spu_gdbarch_init().
static struct type* spu_builtin_type_vec128 | ( | struct gdbarch * | gdbarch | ) | [static, read] |
Definition at line 74 of file spu-tdep.c.
References append_composite_type_field(), arch_composite_type(), builtin_type::builtin_double, builtin_type::builtin_float, builtin_type::builtin_int128, builtin_type::builtin_int16, builtin_type::builtin_int32, builtin_type::builtin_int64, builtin_type::builtin_int8, builtin_type(), gdbarch_tdep(), init_vector_type(), gdbarch_tdep::spu_builtin_type_vec128, TYPE_CODE_UNION, TYPE_NAME, and TYPE_VECTOR.
Referenced by spu_register_type().
static void spu_catch_start | ( | struct objfile * | objfile | ) | [static] |
Definition at line 1898 of file spu-tdep.c.
References AUTO_BOOLEAN_FALSE, bkpt_breakpoint_ops, BLOCKVECTOR, BLOCKVECTOR_BLOCK, bp_breakpoint, core_addr_to_string(), create_breakpoint(), find_function_start_sal(), find_pc_sect_symtab(), fixup_symbol_section(), get_objfile_arch(), GLOBAL_BLOCK, lookup_block_symbol(), lookup_minimal_symbol(), objfile::obfd, symtab_and_line::pc, spu_stop_on_load_p, SYMBOL_OBJ_SECTION, SYMBOL_VALUE_ADDRESS, symfile_objfile, VAR_DOMAIN, and xsnprintf().
Referenced by _initialize_spu_tdep().
static void spu_dis_asm_print_address | ( | bfd_vma | addr, |
struct disassemble_info * | info | ||
) | [static] |
Definition at line 1672 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, read] |
Definition at line 1444 of file spu-tdep.c.
References frame_id_build(), gdbarch_tdep(), get_frame_register_unsigned(), gdbarch_tdep::id, gdbarch_tdep::pc, gdbarch_tdep::sp, SPU_PC_REGNUM, SPU_SP_REGNUM, and SPUADDR.
Referenced by spu_gdbarch_init().
static CORE_ADDR spu_frame_align | ( | struct gdbarch * | gdbarch, |
CORE_ADDR | sp | ||
) | [static] |
Definition at line 1255 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 1094 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, read] |
Definition at line 1071 of file spu-tdep.c.
References spu_unwind_cache::saved_regs, spu_frame_unwind_cache(), SPU_RAW_SP_REGNUM, SPU_SP_REGNUM, and trad_frame_get_prev_register().
static void spu_frame_this_id | ( | struct frame_info * | this_frame, |
void ** | this_prologue_cache, | ||
struct frame_id * | this_id | ||
) | [static] |
Definition at line 1058 of file spu-tdep.c.
References spu_unwind_cache::frame_base, frame_id_build(), spu_unwind_cache::func, and spu_frame_unwind_cache().
static struct spu_unwind_cache* spu_frame_unwind_cache | ( | struct frame_info * | this_frame, |
void ** | this_prologue_cache | ||
) | [static, read] |
Definition at line 938 of file spu-tdep.c.
References trad_frame_saved_reg::addr, spu_prologue_data::cfa_offset, spu_prologue_data::cfa_reg, extract_unsigned_integer(), spu_unwind_cache::frame_base, FRAME_OBSTACK_ZALLOC, spu_unwind_cache::func, gdbarch_byte_order(), gdbarch_tdep(), get_frame_arch(), get_frame_func(), get_frame_pc(), get_frame_register(), get_frame_register_unsigned(), gdbarch_tdep::id, spu_unwind_cache::local_base, LONGEST, spu_prologue_data::reg_offset, safe_read_memory_integer(), spu_unwind_cache::saved_regs, spu_prologue_data::size, spu_analyze_prologue(), SPU_LR_REGNUM, SPU_LSLR_REGNUM, SPU_NUM_GPRS, SPU_PC_REGNUM, SPU_SAVED1_REGNUM, SPU_SAVEDN_REGNUM, SPU_SP_REGNUM, SPUADDR, SPUADDR_ADDR, exsummary::status, target_read_memory(), trad_frame_addr_p(), trad_frame_alloc_saved_regs(), trad_frame_set_value(), and ULONGEST.
Referenced by spu_frame_base_address(), spu_frame_prev_register(), and spu_frame_this_id().
static int spu_gdbarch_id | ( | struct gdbarch * | gdbarch | ) | [static] |
Definition at line 358 of file spu-tdep.c.
References gdbarch_tdep(), gdbarch_tdep::id, obj_section_addr, SPUADDR_SPU, and symfile_objfile.
Referenced by spu_integer_to_address(), and spu_pointer_to_address().
static struct gdbarch* spu_gdbarch_init | ( | struct gdbarch_info | info, |
struct gdbarch_list * | arches | ||
) | [static, read] |
Definition at line 2631 of file spu-tdep.c.
References gdbarch_info::abfd, core_addr_lessthan(), 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, 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_breakpoint_from_pc(), set_gdbarch_call_dummy_location(), set_gdbarch_cannot_step_breakpoint(), set_gdbarch_char_signed(), set_gdbarch_decr_pc_after_break(), set_gdbarch_double_bit(), set_gdbarch_double_format(), set_gdbarch_dummy_id(), 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_in_function_epilogue_p(), 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_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_breakpoint_from_pc(), spu_dummy_id(), spu_frame_align(), spu_get_longjmp_target(), spu_in_function_epilogue_p(), 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_unwind_pc(), spu_unwind_sp(), spu_value_from_register(), spu_virtual_frame_pointer(), spu_write_pc(), strrchr(), gdbarch_info::tdep_info, and XCALLOC.
Referenced by _initialize_spu_tdep().
static int spu_get_longjmp_target | ( | struct frame_info * | frame, |
CORE_ADDR * | pc | ||
) | [static] |
Definition at line 1639 of file spu-tdep.c.
References extract_unsigned_integer(), gdbarch_byte_order(), gdbarch_tdep(), get_frame_arch(), get_frame_register_bytes(), gdbarch_tdep::id, SPU_ARG1_REGNUM, SPUADDR, and target_read_memory().
Referenced by spu_gdbarch_init().
static struct spu_overlay_table* spu_get_overlay_table | ( | struct objfile * | objfile | ) | [static, read] |
Definition at line 1745 of file spu-tdep.c.
References ALL_OBJFILE_OSECTIONS, extract_unsigned_integer(), lookup_minimal_symbol(), spu_overlay_table::mapped_ptr, spu_overlay_table::mapped_val, MSYMBOL_SIZE, objfile::obfd, objfile::objfile_obstack, OBSTACK_CALLOC, read_memory(), objfile::sections, objfile::sections_end, size, spu_overlay_data, SYMBOL_VALUE_ADDRESS, obj_section::the_bfd_section, xfree(), and xmalloc().
Referenced by spu_overlay_new_objfile(), and spu_overlay_update_osect().
static int spu_in_function_epilogue_p | ( | struct gdbarch * | gdbarch, |
CORE_ADDR | pc | ||
) | [static] |
Definition at line 848 of file spu-tdep.c.
References extract_unsigned_integer(), find_pc_partial_function(), gdbarch_byte_order(), is_branch(), is_ri10(), is_rr(), op_a, op_ai, op_lqd, SPU_LR_REGNUM, SPU_RAW_SP_REGNUM, and target_read_memory().
Referenced by spu_gdbarch_init().
static CORE_ADDR spu_integer_to_address | ( | struct gdbarch * | gdbarch, |
struct type * | type, | ||
const gdb_byte * | buf | ||
) | [static] |
Definition at line 432 of file spu-tdep.c.
References spu_gdbarch_id(), SPUADDR, ULONGEST, and unpack_long().
Referenced by spu_gdbarch_init().
static int spu_memory_remove_breakpoint | ( | struct gdbarch * | gdbarch, |
struct bp_target_info * | bp_tgt | ||
) | [static] |
Definition at line 1532 of file spu-tdep.c.
References current_inferior(), default_memory_remove_breakpoint(), inferior_ptid, and ptid_get_pid().
Referenced by spu_gdbarch_init().
static ULONGEST spu_mfc_get_bitfield | ( | ULONGEST | word, |
int | first, | ||
int | last | ||
) | [static] |
Definition at line 2255 of file spu-tdep.c.
References ULONGEST.
Referenced by info_spu_dma_cmdlist().
static struct objfile* spu_objfile_from_frame | ( | struct frame_info * | frame | ) | [static, read] |
Definition at line 1960 of file spu-tdep.c.
References ALL_OBJFILES, gdbarch_bfd_arch_info(), gdbarch_tdep(), get_frame_arch(), gdbarch_tdep::id, obj_section_addr, objfile::sections, objfile::sections_end, and SPUADDR_SPU.
Referenced by flush_ea_cache().
static void spu_overlay_new_objfile | ( | struct objfile * | objfile | ) | [static] |
Definition at line 1862 of file spu-tdep.c.
References ALL_OBJFILE_OSECTIONS, objfile::obfd, objfile::sections, spu_get_overlay_table(), spu_overlay_data, SPU_OVERLAY_LMA, and obj_section::the_bfd_section.
Referenced by _initialize_spu_tdep().
static void spu_overlay_update | ( | struct obj_section * | osect | ) | [static] |
Definition at line 1840 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] |
Definition at line 1816 of file spu-tdep.c.
References spu_overlay_table::mapped_ptr, spu_overlay_table::mapped_val, objfile::obfd, obj_section_addr, obj_section::objfile, obj_section::ovly_mapped, read_memory_unsigned_integer(), objfile::sections, spu_get_overlay_table(), SPUADDR, and SPUADDR_SPU.
Referenced by spu_overlay_update().
static CORE_ADDR spu_pointer_to_address | ( | struct gdbarch * | gdbarch, |
struct type * | type, | ||
const gdb_byte * | buf | ||
) | [static] |
Definition at line 416 of file spu-tdep.c.
References extract_unsigned_integer(), gdbarch_byte_order(), spu_gdbarch_id(), SPUADDR, TYPE_ADDRESS_CLASS_1, TYPE_LENGTH, and ULONGEST.
Referenced by spu_gdbarch_init().
static enum register_status spu_pseudo_register_read | ( | struct gdbarch * | gdbarch, |
struct regcache * | regcache, | ||
int | regnum, | ||
gdb_byte * | buf | ||
) | [static] |
Definition at line 211 of file spu-tdep.c.
References _, current_target, internal_error(), memcpy(), REG_VALID, regcache_raw_read(), regcache_raw_read_unsigned(), SPU_DECR_REGNUM, SPU_DECR_STATUS_REGNUM, SPU_FPSCR_REGNUM, SPU_ID_REGNUM, SPU_LSLR_REGNUM, spu_pseudo_register_read_spu(), SPU_RAW_SP_REGNUM, SPU_SP_REGNUM, SPU_SRR0_REGNUM, exsummary::status, TARGET_OBJECT_SPU, target_read(), ULONGEST, and xsnprintf().
Referenced by spu_gdbarch_init().
static enum register_status spu_pseudo_register_read_spu | ( | struct regcache * | regcache, |
const char * | regname, | ||
gdb_byte * | buf | ||
) | [static] |
Definition at line 186 of file spu-tdep.c.
References gdbarch::byte_order, current_target, gdbarch_byte_order(), get_regcache_arch(), memset(), REG_VALID, regcache_raw_read_unsigned(), SPU_ID_REGNUM, exsummary::status, store_unsigned_integer(), strtoulst(), TARGET_OBJECT_SPU, target_read(), ULONGEST, and xsnprintf().
Referenced by spu_pseudo_register_read().
static void spu_pseudo_register_write | ( | struct gdbarch * | gdbarch, |
struct regcache * | regcache, | ||
int | regnum, | ||
const gdb_byte * | buf | ||
) | [static] |
Definition at line 272 of file spu-tdep.c.
References _, current_target, internal_error(), memcpy(), regcache_raw_read(), regcache_raw_read_unsigned(), regcache_raw_write(), SPU_DECR_REGNUM, SPU_DECR_STATUS_REGNUM, SPU_FPSCR_REGNUM, SPU_ID_REGNUM, SPU_LSLR_REGNUM, spu_pseudo_register_write_spu(), SPU_RAW_SP_REGNUM, SPU_SP_REGNUM, SPU_SRR0_REGNUM, TARGET_OBJECT_SPU, target_write(), ULONGEST, and xsnprintf().
Referenced by spu_gdbarch_init().
static void spu_pseudo_register_write_spu | ( | struct regcache * | regcache, |
const char * | regname, | ||
const gdb_byte * | buf | ||
) | [static] |
Definition at line 254 of file spu-tdep.c.
References gdbarch::byte_order, current_target, extract_unsigned_integer(), gdbarch_byte_order(), get_regcache_arch(), phex_nz(), regcache_raw_read_unsigned(), SPU_ID_REGNUM, TARGET_OBJECT_SPU, target_write(), ULONGEST, and xsnprintf().
Referenced by spu_pseudo_register_write().
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] |
Definition at line 1346 of file spu-tdep.c.
References align_up(), check_typedef(), extract_unsigned_integer(), gdbarch_byte_order(), len, memset(), regcache_cooked_read(), regcache_cooked_write(), regnum, SPU_ARG1_REGNUM, SPU_ARGN_REGNUM, SPU_LR_REGNUM, SPU_RAW_SP_REGNUM, spu_scalar_value_p(), spu_value_to_regcache(), SPUADDR_ADDR, store_unsigned_integer(), target_write_memory(), TYPE_LENGTH, value_contents(), and value_type().
Referenced by spu_gdbarch_init().
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 1261 of file spu-tdep.c.
Referenced by spu_gdbarch_init().
static CORE_ADDR spu_read_pc | ( | struct regcache * | regcache | ) | [static] |
Definition at line 1126 of file spu-tdep.c.
References gdbarch_tdep(), get_regcache_arch(), gdbarch_tdep::id, gdbarch_tdep::pc, regcache_cooked_read_unsigned(), SPU_PC_REGNUM, SPUADDR, and ULONGEST.
Referenced by spu_gdbarch_init().
static void spu_regcache_to_value | ( | struct regcache * | regcache, |
int | regnum, | ||
struct type * | type, | ||
gdb_byte * | out | ||
) | [static] |
Definition at line 1321 of file spu-tdep.c.
References len, regcache_cooked_read(), regcache_cooked_read_part(), spu_scalar_value_p(), and TYPE_LENGTH.
Referenced by spu_return_value().
static const char* spu_register_name | ( | struct gdbarch * | gdbarch, |
int | reg_nr | ||
) | [static] |
Definition at line 115 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] |
Definition at line 335 of file spu-tdep.c.
References default_register_reggroup_p(), float_reggroup, general_reggroup, restore_reggroup, and save_reggroup.
Referenced by spu_gdbarch_init().
static struct type* spu_register_type | ( | struct gdbarch * | gdbarch, |
int | reg_nr | ||
) | [static, read] |
Definition at line 147 of file spu-tdep.c.
References _, builtin_type::builtin_data_ptr, builtin_type::builtin_func_ptr, builtin_type(), builtin_type::builtin_uint128, builtin_type::builtin_uint32, internal_error(), spu_builtin_type_vec128(), SPU_DECR_REGNUM, SPU_DECR_STATUS_REGNUM, SPU_FPSCR_REGNUM, SPU_ID_REGNUM, SPU_LSLR_REGNUM, SPU_NUM_GPRS, SPU_PC_REGNUM, SPU_SP_REGNUM, and SPU_SRR0_REGNUM.
Referenced by spu_gdbarch_init().
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] |
Definition at line 1455 of file spu-tdep.c.
References _, check_typedef(), error(), regcache_cooked_read_part(), regcache_cooked_write_part(), RETURN_VALUE_REGISTER_CONVENTION, RETURN_VALUE_STRUCT_CONVENTION, SPU_ARG1_REGNUM, SPU_ARGN_REGNUM, spu_regcache_to_value(), spu_value_to_regcache(), TYPE_CALLING_CONVENTION, TYPE_CODE, TYPE_CODE_ARRAY, TYPE_CODE_FUNC, TYPE_CODE_PTR, TYPE_LENGTH, TYPE_TARGET_TYPE, TYPE_VECTOR, and value_type().
Referenced by spu_gdbarch_init().
static int spu_scalar_value_p | ( | struct type * | type | ) | [static] |
Definition at line 1277 of file spu-tdep.c.
References TYPE_CODE, TYPE_CODE_BOOL, TYPE_CODE_CHAR, TYPE_CODE_ENUM, TYPE_CODE_INT, TYPE_CODE_PTR, TYPE_CODE_RANGE, TYPE_CODE_REF, and TYPE_LENGTH.
Referenced by spu_push_dummy_call(), spu_regcache_to_value(), and spu_value_to_regcache().
static CORE_ADDR spu_skip_prologue | ( | struct gdbarch * | gdbarch, |
CORE_ADDR | pc | ||
) | [static] |
Definition at line 802 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] |
Definition at line 1568 of file spu-tdep.c.
References _, error(), extract_unsigned_integer(), gdbarch_byte_order(), get_frame_address_space(), get_frame_arch(), get_frame_pc(), get_frame_register_bytes(), get_frame_register_unsigned(), insert_single_step_breakpoint(), is_branch(), NOT_AVAILABLE_ERROR, offset, SPU_LSLR_REGNUM, SPU_PC_REGNUM, SPUADDR, SPUADDR_ADDR, SPUADDR_SPU, target_read_memory(), throw_error(), and ULONGEST.
Referenced by spu_gdbarch_init().
static CORE_ADDR spu_unwind_pc | ( | struct gdbarch * | gdbarch, |
struct frame_info * | next_frame | ||
) | [static] |
Definition at line 1109 of file spu-tdep.c.
References frame_unwind_register_unsigned(), gdbarch_tdep(), gdbarch_tdep::id, gdbarch_tdep::pc, SPU_PC_REGNUM, and SPUADDR.
Referenced by spu_gdbarch_init().
static CORE_ADDR spu_unwind_sp | ( | struct gdbarch * | gdbarch, |
struct frame_info * | next_frame | ||
) | [static] |
Definition at line 1118 of file spu-tdep.c.
References frame_unwind_register_unsigned(), gdbarch_tdep(), gdbarch_tdep::id, gdbarch_tdep::sp, SPU_SP_REGNUM, and SPUADDR.
Referenced by spu_gdbarch_init().
static struct value* spu_value_from_register | ( | struct type * | type, |
int | regnum, | ||
struct frame_info * | frame | ||
) | [static, read] |
Definition at line 317 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] |
Definition at line 1296 of file spu-tdep.c.
References len, regcache_cooked_write(), regcache_cooked_write_part(), spu_scalar_value_p(), and TYPE_LENGTH.
Referenced by spu_push_dummy_call(), and spu_return_value().
static void spu_virtual_frame_pointer | ( | struct gdbarch * | gdbarch, |
CORE_ADDR | pc, | ||
int * | reg, | ||
LONGEST * | offset | ||
) | [static] |
Definition at line 810 of file spu-tdep.c.
References spu_prologue_data::cfa_offset, spu_prologue_data::cfa_reg, spu_prologue_data::size, spu_analyze_prologue(), and SPU_SP_REGNUM.
Referenced by spu_gdbarch_init().
static void spu_write_pc | ( | struct regcache * | regcache, |
CORE_ADDR | pc | ||
) | [static] |
Definition at line 1136 of file spu-tdep.c.
References regcache_cooked_read_unsigned(), regcache_cooked_write_unsigned(), SPU_PC_REGNUM, SPUADDR_ADDR, and ULONGEST.
Referenced by spu_gdbarch_init().
Referenced by _initialize_spu_tdep(), and initialize_all_files().
struct cmd_list_element* infospucmdlist = NULL [static] |
Definition at line 110 of file spu-tdep.c.
struct cmd_list_element* setspucmdlist = NULL [static] |
Definition at line 52 of file spu-tdep.c.
struct cmd_list_element* showspucmdlist = NULL [static] |
Definition at line 53 of file spu-tdep.c.
struct frame_unwind spu2ppu_unwind [static] |
{ ARCH_FRAME, default_frame_unwind_stop_reason, spu2ppu_this_id, spu2ppu_prev_register, NULL, spu2ppu_sniffer, spu2ppu_dealloc_cache, spu2ppu_prev_arch, }
Definition at line 1240 of file spu-tdep.c.
int spu_auto_flush_cache_p = 1 [static] |
Definition at line 58 of file spu-tdep.c.
Referenced by _initialize_spu_tdep(), and spu_attach_normal_stop().
struct frame_base spu_frame_base [static] |
{ &spu_frame_unwind, spu_frame_base_address, spu_frame_base_address, spu_frame_base_address }
Definition at line 1101 of file spu-tdep.c.
struct frame_unwind spu_frame_unwind [static] |
{ NORMAL_FRAME, default_frame_unwind_stop_reason, spu_frame_this_id, spu_frame_prev_register, NULL, default_frame_sniffer }
Definition at line 1084 of file spu-tdep.c.
struct objfile_data* spu_overlay_data [static] |
Definition at line 1733 of file spu-tdep.c.
Referenced by _initialize_spu_tdep(), spu_get_overlay_table(), and spu_overlay_new_objfile().
int spu_stop_on_load_p = 0 [static] |
Definition at line 56 of file spu-tdep.c.
Referenced by _initialize_spu_tdep(), and spu_catch_start().