|
GDB (xrefs)
|
#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 "disasm.h"#include "objfiles.h"#include "language.h"#include "regcache.h"#include "reggroups.h"#include "block.h"#include "observer.h"#include "infcall.h"#include "dwarf2.h"#include "dwarf2-frame.h"#include "ax.h"#include "spu-tdep.h"#include "location.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_info |
| 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 type * | spu_builtin_type_vec128 (struct gdbarch *gdbarch) |
| static const char * | spu_register_name (struct gdbarch *gdbarch, int reg_nr) |
| static struct type * | spu_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 value * | spu_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_cache * | spu_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 value * | spu_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 gdbarch * | spu2ppu_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 value * | spu2ppu_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) |
| typedef | BP_MANIPULATION (spu_break_insn) |
| static std::vector< CORE_ADDR > | spu_software_single_step (struct regcache *regcache) |
| 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_table * | spu_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 objfile * | spu_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 (const char *args, int from_tty) |
| static void | info_spu_signal_command (const 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 (const 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 (const char *args, int from_tty) |
| static void | info_spu_proxydma_command (const char *args, int from_tty) |
| static void | info_spu_command (const char *args, int from_tty) |
| static void | show_spu_command (const char *args, int from_tty) |
| static void | set_spu_command (const 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 gdbarch * | spu_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) |
| void | _initialize_spu_tdep (void) |
Variables | |
| static struct cmd_list_element * | setspucmdlist = NULL |
| static struct cmd_list_element * | showspucmdlist = NULL |
| static int | spu_stop_on_load_p = 0 |
| static int | spu_auto_flush_cache_p = 1 |
| static struct cmd_list_element * | infospucmdlist = NULL |
| static const struct frame_unwind | spu_frame_unwind |
| static const struct frame_base | spu_frame_base |
| static const struct frame_unwind | spu2ppu_unwind |
| constexpr gdb_byte | spu_break_insn [] = { 0x00, 0x00, 0x3f, 0xff } |
| static const struct objfile_data * | spu_overlay_data |
| anonymous enum |
Definition at line 498 of file spu-tdep.c.
| void _initialize_spu_tdep | ( | void | ) |
Definition at line 2768 of file spu-tdep.c.
References _, 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, infospucmdlist, no_class, observer_attach_new_objfile(), observer_attach_normal_stop(), register_gdbarch_init(), set_spu_command(), setlist, setspucmdlist, show_spu_auto_flush_cache(), show_spu_command(), show_spu_stop_on_load(), showlist, showspucmdlist, 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.
| typedef BP_MANIPULATION | ( | spu_break_insn | ) |
Definition at line 1576 of file spu-tdep.c.
References current_inferior(), default_memory_remove_breakpoint(), inferior_ptid, pid, and ptid_get_pid().
|
static |
Definition at line 2018 of file spu-tdep.c.
References BMSYMBOL_VALUE_ADDRESS, objfile_type::builtin_void, call_function_by_hand(), get_current_frame(), has_stack_frames(), lookup_function_type(), lookup_minimal_symbol(), lookup_pointer_type(), bound_minimal_symbol::minsym, objfile_type(), spu_objfile_from_frame(), type, and value_from_pointer().
Referenced by spu_attach_normal_stop().
|
static |
Definition at line 1716 of file spu-tdep.c.
References default_print_insn(), spu_dis_asm_info::id, spu_dis_asm_print_address(), and SPUADDR_SPU.
Referenced by spu_gdbarch_init().
|
static |
Definition at line 2603 of file spu-tdep.c.
References _, all_commands, gdb_stdout, help_list(), infospucmdlist, and printf_unfiltered().
Referenced by _initialize_spu_tdep().
|
static |
Definition at line 2287 of file spu-tdep.c.
References gdbarch::byte_order, current_uiout, extract_unsigned_integer(), phex(), printf_filtered(), spu_mfc_get_bitfield(), and ui_left.
Referenced by info_spu_dma_command(), and info_spu_proxydma_command().
|
static |
Definition at line 2462 of file spu-tdep.c.
References _, gdbarch::byte_order, current_target, current_uiout, 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(), phex(), phex_nz(), printf_filtered(), SPU_ID_REGNUM, TARGET_OBJECT_SPU, target_read(), and xsnprintf().
Referenced by _initialize_spu_tdep().
|
static |
Definition at line 2065 of file spu-tdep.c.
References _, frame_info::arch, current_target, current_uiout, error(), gdbarch_bfd_arch_info(), get_frame_arch(), get_frame_register_unsigned(), get_selected_frame(), phex(), phex_nz(), printf_filtered(), SPU_ID_REGNUM, strtoulst(), TARGET_OBJECT_SPU, target_read(), and xsnprintf().
Referenced by _initialize_spu_tdep().
|
static |
Definition at line 2234 of file spu-tdep.c.
References _, gdbarch::byte_order, current_target, current_uiout, error(), gdbarch_bfd_arch_info(), gdbarch_byte_order(), get_frame_arch(), get_frame_register_unsigned(), get_selected_frame(), info_spu_mailbox_list(), SPU_ID_REGNUM, TARGET_OBJECT_SPU, target_read(), and xsnprintf().
Referenced by _initialize_spu_tdep().
|
static |
Definition at line 2206 of file spu-tdep.c.
References gdbarch::byte_order, current_uiout, extract_unsigned_integer(), phex(), printf_filtered(), and ui_left.
Referenced by info_spu_mailbox_command().
|
static |
Definition at line 2541 of file spu-tdep.c.
References _, gdbarch::byte_order, current_target, current_uiout, 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(), phex(), phex_nz(), printf_filtered(), SPU_ID_REGNUM, TARGET_OBJECT_SPU, target_read(), and xsnprintf().
Referenced by _initialize_spu_tdep().
|
static |
Definition at line 2113 of file spu-tdep.c.
References _, gdbarch::byte_order, current_target, current_uiout, error(), extract_unsigned_integer(), gdbarch_bfd_arch_info(), gdbarch_byte_order(), get_frame_arch(), get_frame_register_unsigned(), get_selected_frame(), phex(), phex_nz(), printf_filtered(), SPU_ID_REGNUM, strtoulst(), TARGET_OBJECT_SPU, target_read(), and xsnprintf().
Referenced by _initialize_spu_tdep().
|
static |
Definition at line 616 of file spu-tdep.c.
References is_ri16(), is_ri7(), offset, 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_software_single_step(), and spu_stack_frame_destroyed_p().
|
static |
Definition at line 576 of file spu-tdep.c.
Referenced by spu_analyze_prologue(), and spu_stack_frame_destroyed_p().
|
static |
Definition at line 590 of file spu-tdep.c.
Referenced by is_branch(), and spu_analyze_prologue().
|
static |
Definition at line 603 of file spu-tdep.c.
Referenced by spu_analyze_prologue().
|
static |
Definition at line 562 of file spu-tdep.c.
Referenced by is_branch().
|
static |
Definition at line 533 of file spu-tdep.c.
Referenced by spu_analyze_prologue(), and spu_stack_frame_destroyed_p().
|
static |
Definition at line 547 of file spu-tdep.c.
Referenced by spu_analyze_prologue().
|
static |
Definition at line 2620 of file spu-tdep.c.
References all_commands, gdb_stdout, help_list(), and setspucmdlist.
Referenced by _initialize_spu_tdep().
|
static |
Definition at line 2634 of file spu-tdep.c.
References _, and fprintf_filtered().
Referenced by _initialize_spu_tdep().
|
static |
Definition at line 2614 of file spu-tdep.c.
References all_commands, gdb_stdout, help_list(), and showspucmdlist.
Referenced by _initialize_spu_tdep().
|
static |
Definition at line 2626 of file spu-tdep.c.
References _, and fprintf_filtered().
Referenced by _initialize_spu_tdep().
|
static |
Definition at line 1287 of file spu-tdep.c.
References spu2ppu_cache::regcache.
|
static |
Definition at line 1209 of file spu-tdep.c.
References regcache::arch(), and spu2ppu_cache::regcache.
|
static |
Definition at line 1224 of file spu-tdep.c.
References regcache::arch(), frame_unwind_got_bytes(), spu2ppu_cache::regcache, regcache_cooked_read(), register_size(), and regnum.
|
static |
Definition at line 1237 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, regcache::regcache(), spu2ppu_cache::regcache, regcache_dup(), target_gdbarch(), and target_read_memory().
|
static |
Definition at line 1216 of file spu-tdep.c.
References spu2ppu_cache::frame_id.
|
static |
Definition at line 448 of file spu-tdep.c.
References name, and TYPE_INSTANCE_FLAG_ADDRESS_CLASS_1.
Referenced by spu_gdbarch_init().
|
static |
Definition at line 430 of file spu-tdep.c.
References TYPE_INSTANCE_FLAG_ADDRESS_CLASS_1.
Referenced by spu_gdbarch_init().
|
static |
Definition at line 439 of file spu-tdep.c.
References TYPE_INSTANCE_FLAG_ADDRESS_CLASS_1.
Referenced by spu_gdbarch_init().
|
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 |
Definition at line 671 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 |
Definition at line 2049 of file spu-tdep.c.
References flush_ea_cache(), and spu_auto_flush_cache_p.
Referenced by _initialize_spu_tdep().
|
static |
Definition at line 314 of file spu-tdep.c.
References _, ax_reg_mask(), internal_error(), regnum, SPU_DECR_REGNUM, SPU_DECR_STATUS_REGNUM, SPU_FPSCR_REGNUM, SPU_LSLR_REGNUM, SPU_RAW_SP_REGNUM, SPU_SP_REGNUM, and SPU_SRR0_REGNUM.
Referenced by spu_gdbarch_init().
|
static |
Definition at line 336 of file spu-tdep.c.
References _, ax_reg(), internal_error(), regnum, SPU_DECR_REGNUM, SPU_DECR_STATUS_REGNUM, SPU_FPSCR_REGNUM, SPU_LSLR_REGNUM, SPU_RAW_SP_REGNUM, SPU_SP_REGNUM, and SPU_SRR0_REGNUM.
Referenced by spu_gdbarch_init().
Definition at line 73 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 |
Definition at line 1932 of file spu-tdep.c.
References AUTO_BOOLEAN_FALSE, bkpt_breakpoint_ops, block_lookup_symbol(), BLOCKVECTOR_BLOCK, BMSYMBOL_VALUE_ADDRESS, bp_breakpoint, COMPUNIT_BLOCKVECTOR, create_breakpoint(), find_function_start_sal(), find_pc_sect_compunit_symtab(), fixup_symbol_section(), get_objfile_arch(), GLOBAL_BLOCK, lookup_minimal_symbol(), bound_minimal_symbol::minsym, MSYMBOL_OBJ_SECTION, new_address_location(), objfile::obfd, bound_minimal_symbol::objfile, symtab_and_line::pc, SEARCH_NAME, spu_stop_on_load_p, symfile_objfile, and VAR_DOMAIN.
Referenced by _initialize_spu_tdep().
|
static |
Definition at line 1705 of file spu-tdep.c.
References gdb_disassembler::arch(), spu_dis_asm_info::id, print_address(), and SPUADDR.
Referenced by gdb_print_insn_spu().
|
static |
Definition at line 1498 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 |
Definition at line 402 of file spu-tdep.c.
References value::reg, SPU_RAW_SP_REGNUM, and SPU_SP_REGNUM.
Referenced by spu_gdbarch_init().
Definition at line 1308 of file spu-tdep.c.
Referenced by spu_gdbarch_init().
|
static |
Definition at line 1147 of file spu-tdep.c.
References spu_unwind_cache::local_base, and spu_frame_unwind_cache().
|
static |
Definition at line 1124 of file spu-tdep.c.
References regnum, spu_unwind_cache::saved_regs, spu_frame_unwind_cache(), SPU_RAW_SP_REGNUM, SPU_SP_REGNUM, and trad_frame_get_prev_register().
|
static |
Definition at line 1111 of file spu-tdep.c.
References spu_unwind_cache::frame_base, frame_id_build(), spu_unwind_cache::func, and spu_frame_unwind_cache().
|
static |
Definition at line 991 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, 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, status, target_read_memory(), trad_frame_addr_p(), trad_frame_alloc_saved_regs(), and trad_frame_set_value().
Referenced by spu_frame_base_address(), spu_frame_prev_register(), and spu_frame_this_id().
|
static |
Definition at line 412 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 |
Definition at line 2645 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, gdbarch_info::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_ax_pseudo_register_collect(), set_gdbarch_ax_pseudo_register_push_stack(), set_gdbarch_breakpoint_kind_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_significant_addr_bit(), set_gdbarch_skip_prologue(), set_gdbarch_software_single_step(), set_gdbarch_sp_regnum(), set_gdbarch_stack_frame_destroyed_p(), set_gdbarch_sw_breakpoint_from_kind(), set_gdbarch_unwind_pc(), set_gdbarch_unwind_sp(), set_gdbarch_value_from_register(), set_gdbarch_virtual_frame_pointer(), set_gdbarch_write_pc(), spu2ppu_unwind, 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_dummy_id(), spu_dwarf_reg_to_regnum(), spu_frame_align(), spu_frame_base, spu_frame_unwind, spu_get_longjmp_target(), spu_integer_to_address(), 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 XCNEW.
Referenced by _initialize_spu_tdep().
|
static |
Definition at line 1673 of file spu-tdep.c.
References extract_unsigned_integer(), gdbarch_byte_order(), gdbarch_tdep(), get_frame_arch(), get_frame_register_bytes(), gdbarch_tdep::id, gdbarch_tdep::pc, SPU_ARG1_REGNUM, SPUADDR, and target_read_memory().
Referenced by spu_gdbarch_init().
|
static |
Definition at line 1780 of file spu-tdep.c.
References ALL_OBJFILE_OSECTIONS, BMSYMBOL_VALUE_ADDRESS, extract_unsigned_integer(), lookup_minimal_symbol(), spu_overlay_table::mapped_ptr, spu_overlay_table::mapped_val, bound_minimal_symbol::minsym, MSYMBOL_SIZE, objfile::obfd, OBSTACK_CALLOC, read_memory(), objfile::sections, objfile::sections_end, size, spu_overlay_data, obj_section::the_bfd_section, xfree(), and xmalloc().
Referenced by spu_overlay_new_objfile(), and spu_overlay_update_osect().
|
static |
Definition at line 486 of file spu-tdep.c.
References spu_gdbarch_id(), SPUADDR, and unpack_long().
Referenced by spu_gdbarch_init().
Definition at line 2280 of file spu-tdep.c.
Referenced by info_spu_dma_cmdlist().
|
static |
Definition at line 1997 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 |
Definition at line 1897 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 |
Definition at line 1875 of file spu-tdep.c.
References ALL_OBJSECTIONS, objfile::objfile(), section_is_overlay(), and spu_overlay_update_osect().
Referenced by spu_gdbarch_init().
|
static |
Definition at line 1851 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 |
Definition at line 470 of file spu-tdep.c.
References extract_unsigned_integer(), gdbarch_byte_order(), spu_gdbarch_id(), SPUADDR, TYPE_ADDRESS_CLASS_1, and TYPE_LENGTH.
Referenced by spu_gdbarch_init().
|
static |
Definition at line 210 of file spu-tdep.c.
References _, current_target, internal_error(), REG_VALID, regcache_raw_read(), regcache_raw_read_unsigned(), regnum, 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, status, TARGET_OBJECT_SPU, target_read(), and xsnprintf().
Referenced by spu_gdbarch_init().
|
static |
Definition at line 185 of file spu-tdep.c.
References regcache::arch(), gdbarch::byte_order, current_target, gdbarch_byte_order(), memset(), REG_VALID, regcache_raw_read_unsigned(), SPU_ID_REGNUM, status, store_unsigned_integer(), strtoulst(), TARGET_OBJECT_SPU, target_read(), and xsnprintf().
Referenced by spu_pseudo_register_read().
|
static |
Definition at line 271 of file spu-tdep.c.
References _, current_target, internal_error(), regcache_raw_read(), regcache_raw_read_unsigned(), regcache_raw_write(), regnum, 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(), and xsnprintf().
Referenced by spu_gdbarch_init().
|
static |
Definition at line 253 of file spu-tdep.c.
References regcache::arch(), gdbarch::byte_order, current_target, extract_unsigned_integer(), gdbarch_byte_order(), phex_nz(), regcache_raw_read_unsigned(), SPU_ID_REGNUM, TARGET_OBJECT_SPU, target_write(), and xsnprintf().
Referenced by spu_pseudo_register_write().
|
static |
Definition at line 1400 of file spu-tdep.c.
References align_up(), check_typedef(), extract_unsigned_integer(), gdbarch_byte_order(), 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 |
Definition at line 1314 of file spu-tdep.c.
Referenced by spu_gdbarch_init().
Definition at line 1179 of file spu-tdep.c.
References regcache::arch(), gdbarch_tdep(), gdbarch_tdep::id, gdbarch_tdep::pc, regcache_cooked_read_unsigned(), SPU_PC_REGNUM, and SPUADDR.
Referenced by spu_gdbarch_init().
|
static |
Definition at line 1375 of file spu-tdep.c.
References regcache_cooked_read(), regcache_cooked_read_part(), regnum, spu_scalar_value_p(), and TYPE_LENGTH.
Referenced by spu_return_value().
|
static |
Definition at line 114 of file spu-tdep.c.
Referenced by spu_gdbarch_init().
|
static |
Definition at line 380 of file spu-tdep.c.
References default_register_reggroup_p(), float_reggroup, general_reggroup, regnum, restore_reggroup, and save_reggroup.
Referenced by spu_gdbarch_init().
Definition at line 146 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 |
Definition at line 1509 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 |
Definition at line 1330 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, TYPE_CODE_RVALUE_REF, and TYPE_LENGTH.
Referenced by spu_push_dummy_call(), spu_regcache_to_value(), and spu_value_to_regcache().
Definition at line 856 of file spu-tdep.c.
References spu_analyze_prologue().
Referenced by spu_gdbarch_init().
Definition at line 1615 of file spu-tdep.c.
References _, regcache::arch(), gdbarch::byte_order, extract_unsigned_integer(), gdbarch_byte_order(), is_branch(), MEMORY_ERROR, offset, paddress(), REG_VALID, regcache_cooked_read_unsigned(), regcache_raw_read_part(), regcache_read_pc(), SPU_LSLR_REGNUM, SPU_PC_REGNUM, SPUADDR, SPUADDR_ADDR, SPUADDR_SPU, target_read_memory(), and throw_error().
Referenced by spu_gdbarch_init().
Definition at line 901 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 |
Definition at line 1162 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 |
Definition at line 1171 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 |
Definition at line 361 of file spu-tdep.c.
References default_value_from_register(), regnum, set_value_offset(), SPU_NUM_GPRS, and TYPE_LENGTH.
Referenced by spu_gdbarch_init().
|
static |
Definition at line 1350 of file spu-tdep.c.
References regcache_cooked_write(), regcache_cooked_write_part(), regnum, spu_scalar_value_p(), and TYPE_LENGTH.
Referenced by spu_push_dummy_call(), and spu_return_value().
|
static |
Definition at line 864 of file spu-tdep.c.
References spu_prologue_data::cfa_offset, spu_prologue_data::cfa_reg, offset, spu_prologue_data::size, spu_analyze_prologue(), and SPU_SP_REGNUM.
Referenced by spu_gdbarch_init().
Definition at line 1189 of file spu-tdep.c.
References gdbarch_tdep::pc, regcache_cooked_read_unsigned(), regcache_cooked_write_unsigned(), SPU_PC_REGNUM, and SPUADDR_ADDR.
Referenced by spu_gdbarch_init().
|
static |
Definition at line 109 of file spu-tdep.c.
Referenced by _initialize_spu_tdep(), and info_spu_command().
|
static |
Definition at line 51 of file spu-tdep.c.
Referenced by _initialize_spu_tdep(), and set_spu_command().
|
static |
Definition at line 52 of file spu-tdep.c.
Referenced by _initialize_spu_tdep(), and show_spu_command().
|
static |
Definition at line 1293 of file spu-tdep.c.
Referenced by spu_gdbarch_init().
|
static |
Definition at line 57 of file spu-tdep.c.
Referenced by _initialize_spu_tdep(), and spu_attach_normal_stop().
| constexpr gdb_byte spu_break_insn[] = { 0x00, 0x00, 0x3f, 0xff } |
Definition at line 1574 of file spu-tdep.c.
|
static |
Definition at line 1154 of file spu-tdep.c.
Referenced by spu_gdbarch_init().
|
static |
Definition at line 1137 of file spu-tdep.c.
Referenced by spu_gdbarch_init().
|
static |
Definition at line 1768 of file spu-tdep.c.
Referenced by _initialize_spu_tdep(), spu_get_overlay_table(), and spu_overlay_new_objfile().
|
static |
Definition at line 55 of file spu-tdep.c.
Referenced by _initialize_spu_tdep(), and spu_catch_start().
1.8.14