154 static const char *
const register_names[] = {
156 "r0",
"r1",
"r2",
"r3",
"r4",
"r5",
"r6",
"r7",
157 "r8",
"r9",
"r10",
"r11",
"r12",
"r13",
"r14",
"r15",
161 "cr0",
"cr1",
"cr2",
"cr3",
"cr4",
"cr5",
"cr6",
"cr7",
162 "cr8",
"cr9",
"cr10",
"cr11",
"cr12",
"cr13",
"cr14",
"cr15",
163 "bypa",
"bypb",
"bypc",
"flag",
"context",
"" ,
"z1",
"z2",
164 "Ichannel",
"Iscramb",
"Qscramb",
"out",
"" ,
"Qchannel",
165 "zi2",
"zq2",
"Ichannel2",
"Iscramb2",
"Qscramb2",
"Qchannel2",
175 if (
regnum < ARRAY_SIZE (register_names))
176 return register_names[
regnum];
201 array_names[
regnum] = stub;
205 sprintf (
name,
"copro_%d_%d_%s", dim_1, dim_2, stub);
302 _(
"mt_register_type: illegal register number %d"),
regnum);
383 memset (buf, 0,
sizeof (buf));
410 const char *func_name;
425 if (sal.
end && sal.
end < func_end)
437 if (instr == 0x12000000)
439 if (instr == 0x12ddc000)
444 if (instr >= 0x43c0 && instr <= 0x43df)
471 static gdb_byte ms1_breakpoint[] = { 0x68, 0, 0, 0 };
472 static gdb_byte ms2_breakpoint[] = { 0x69, 0, 0, 0 };
477 return ms2_breakpoint;
479 return ms1_breakpoint;
490 unsigned index, base;
563 (oldmac & 0xffffffff) | ((
long long) (ext_mac & 0xff) << 32);
617 unsigned int oldmac, ext_mac;
621 oldmac = newmac & 0xffffffff;
622 ext_mac = (newmac >> 32) & 0xff;
689 unsigned int i, regsize;
693 buff = (
unsigned char *) alloca (regsize);
704 for (i = 0; i < regsize; i++)
754 newmac = (oldmac & 0xffffffff) + ((ext_mac & 0xff) << 32);
791 int split_param_len = 0;
833 split_param_len = typelen;
834 memcpy (buf, val, typelen);
843 stack_dest -= typelen;
851 for (j = nargs - 1; j >= i; j--)
859 memcpy (val.data (),
contents, typelen);
860 memset (val.data () + typelen, 0, slacklen);
862 stack_dest -= typelen + slacklen;
863 write_memory (stack_dest, val.data (), typelen + slacklen);
868 if (split_param_len != 0)
870 stack_dest -= split_param_len;
912 void **this_prologue_cache)
916 CORE_ADDR next_addr, start_addr, end_addr, prologue_end_addr;
917 unsigned long instr, upper_half, delayed_store = 0;
921 if ((*this_prologue_cache))
926 (*this_prologue_cache) = info;
949 for (next_addr = start_addr; next_addr < end_addr; next_addr += 4)
954 upper_half = delayed_store >> 16;
955 regnum = upper_half & 0xf;
956 offset = delayed_store & 0xffff;
957 switch (upper_half & 0xfff0)
980 upper_half = instr >> 16;
981 if (upper_half == 0x05dd ||
982 upper_half == 0x07dd)
988 if ((upper_half & 0xfff0) == 0x43c0 ||
989 (upper_half & 0xfff0) == 0x43d0)
996 delayed_store = instr;
1009 if (prologue_end_addr && (prologue_end_addr > (next_addr + 4)))
1089 if (!(info == NULL || info->
prev_sp == 0))
1095 static struct value *
1097 void **this_prologue_cache,
int regnum)
1107 void **this_prologue_cache)
void set_gdbarch_num_regs(struct gdbarch *gdbarch, int num_regs)
void set_gdbarch_double_bit(struct gdbarch *gdbarch, int double_bit)
void set_gdbarch_frame_align(struct gdbarch *gdbarch, gdbarch_frame_align_ftype frame_align)
void set_gdbarch_float_format(struct gdbarch *gdbarch, const struct floatformat **float_format)
void _initialize_mt_tdep(void)
struct type * lookup_array_range_type(struct type *element_type, LONGEST low_bound, LONGEST high_bound)
struct frame_id frame_id_build(CORE_ADDR stack_addr, CORE_ADDR code_addr)
struct type * builtin_func_ptr
void set_gdbarch_float_bit(struct gdbarch *gdbarch, int float_bit)
CORE_ADDR get_frame_pc(struct frame_info *frame)
struct value * trad_frame_get_prev_register(struct frame_info *this_frame, struct trad_frame_saved_reg this_saved_regs[], int regnum)
const struct floatformat * floatformats_ieee_double[BFD_ENDIAN_UNKNOWN]
int trad_frame_addr_p(struct trad_frame_saved_reg this_saved_regs[], int regnum)
void trad_frame_set_value(struct trad_frame_saved_reg this_saved_regs[], int regnum, LONGEST val)
void default_print_registers_info(struct gdbarch *gdbarch, struct ui_file *file, struct frame_info *frame, int regnum, int print_all)
static struct mt_unwind_cache * mt_frame_unwind_cache(struct frame_info *this_frame, void **this_prologue_cache)
ULONGEST align_down(ULONGEST v, int n)
ULONGEST frame_unwind_register_unsigned(struct frame_info *frame, int regnum)
void set_gdbarch_short_bit(struct gdbarch *gdbarch, int short_bit)
const struct builtin_type * builtin_type(struct gdbarch *gdbarch)
void * memset(T *s, int c, size_t n)=delete
void internal_error(const char *file, int line, const char *fmt,...)
void set_gdbarch_register_reggroup_p(struct gdbarch *gdbarch, gdbarch_register_reggroup_p_ftype register_reggroup_p)
static const struct frame_unwind mt_frame_unwind
struct gdbarch_list * gdbarch_list_lookup_by_info(struct gdbarch_list *arches, const struct gdbarch_info *info)
CORE_ADDR skip_prologue_using_sal(struct gdbarch *gdbarch, CORE_ADDR func_addr)
void get_no_prettyformat_print_options(struct value_print_options *opts)
struct block_symbol lookup_symbol(const char *name, const struct block *block, domain_enum domain, struct field_of_this_result *is_a_field_of_this)
struct reggroup *const all_reggroup
ULONGEST get_frame_memory_unsigned(struct frame_info *this_frame, CORE_ADDR addr, int len)
struct gdbarch_tdep * gdbarch_tdep(struct gdbarch *gdbarch)
void frame_unwind_append_unwinder(struct gdbarch *gdbarch, const struct frame_unwind *unwinder)
struct frame_info::@60 this_id
void set_gdbarch_print_registers_info(struct gdbarch *gdbarch, gdbarch_print_registers_info_ftype print_registers_info)
struct type * builtin_int32
#define FRAME_OBSTACK_ZALLOC(TYPE)
static struct frame_base mt_frame_base
static const gdb_byte * mt_sw_breakpoint_from_kind(struct gdbarch *gdbarch, int kind, int *size)
static CORE_ADDR mt_unwind_pc(struct gdbarch *gdbarch, struct frame_info *next_frame)
static struct value * mt_frame_prev_register(struct frame_info *this_frame, void **this_prologue_cache, int regnum)
struct reggroup *const float_reggroup
void frame_base_set_default(struct gdbarch *gdbarch, const struct frame_base *default_base)
struct value * get_frame_register_value(struct frame_info *frame, int regnum)
void set_gdbarch_pseudo_register_write(struct gdbarch *gdbarch, gdbarch_pseudo_register_write_ftype pseudo_register_write)
void set_gdbarch_register_type(struct gdbarch *gdbarch, gdbarch_register_type_ftype register_type)
struct trad_frame_saved_reg * saved_regs
const gdb_byte * value_contents(struct value *value)
struct reggroup *const general_reggroup
struct symtab_and_line find_pc_line(CORE_ADDR pc, int notcurrent)
void fprintf_filtered(struct ui_file *stream, const char *format,...)
static ULONGEST extract_unsigned_integer(const gdb_byte *addr, int len, enum bfd_endian byte_order)
enum register_status regcache_cooked_read_unsigned(struct regcache *regcache, int regnum, ULONGEST *val)
static enum register_status mt_pseudo_register_read(struct gdbarch *gdbarch, struct regcache *regcache, int regno, gdb_byte *buf)
void set_gdbarch_sp_regnum(struct gdbarch *gdbarch, int sp_regnum)
static struct type * mt_register_type(struct gdbarch *arch, int regnum)
void set_gdbarch_decr_pc_after_break(struct gdbarch *gdbarch, CORE_ADDR decr_pc_after_break)
struct type * register_type(struct gdbarch *gdbarch, int regnum)
void set_gdbarch_dummy_id(struct gdbarch *gdbarch, gdbarch_dummy_id_ftype dummy_id)
static struct gdbarch * mt_gdbarch_init(struct gdbarch_info info, struct gdbarch_list *arches)
void fputs_filtered(const char *linebuffer, struct ui_file *stream)
static void mt_frame_this_id(struct frame_info *this_frame, void **this_prologue_cache, struct frame_id *this_id)
struct type * builtin_int16
static int mt_breakpoint_kind_from_pc(struct gdbarch *gdbarch, CORE_ADDR *pcptr)
enum bfd_endian gdbarch_byte_order(struct gdbarch *gdbarch)
int find_pc_partial_function(CORE_ADDR pc, const char **name, CORE_ADDR *address, CORE_ADDR *endaddr)
void set_gdbarch_unwind_pc(struct gdbarch *gdbarch, gdbarch_unwind_pc_ftype unwind_pc)
struct type * builtin_uint32
int default_frame_sniffer(const struct frame_unwind *self, struct frame_info *this_frame, void **this_prologue_cache)
static CORE_ADDR mt_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)
const char * gdbarch_register_name(struct gdbarch *gdbarch, int regnr)
mach_port_t mach_port_t name mach_port_t mach_port_t name kern_return_t int status
static CORE_ADDR mt_skip_prologue(struct gdbarch *gdbarch, CORE_ADDR pc)
void set_gdbarch_unwind_sp(struct gdbarch *gdbarch, gdbarch_unwind_sp_ftype unwind_sp)
struct type * builtin_unsigned_char
void read_memory(CORE_ADDR memaddr, gdb_byte *myaddr, ssize_t len)
struct reggroup *const vector_reggroup
ULONGEST get_frame_register_unsigned(struct frame_info *frame, int regnum)
void set_gdbarch_breakpoint_kind_from_pc(struct gdbarch *gdbarch, gdbarch_breakpoint_kind_from_pc_ftype breakpoint_kind_from_pc)
struct trad_frame_saved_reg * trad_frame_alloc_saved_regs(struct gdbarch *gdbarch)
void set_gdbarch_frame_args_skip(struct gdbarch *gdbarch, CORE_ADDR frame_args_skip)
void set_gdbarch_long_long_bit(struct gdbarch *gdbarch, int long_long_bit)
static CORE_ADDR mt_frame_base_address(struct frame_info *this_frame, void **this_prologue_cache)
const struct floatformat * floatformats_ieee_single[BFD_ENDIAN_UNKNOWN]
void regcache_invalidate(struct regcache *regcache, int regnum)
static int mt_select_coprocessor(struct gdbarch *gdbarch, struct regcache *regcache, int regno)
void print_spaces_filtered(int n, struct ui_file *stream)
int core_addr_lessthan(CORE_ADDR lhs, CORE_ADDR rhs)
void set_gdbarch_pseudo_register_read(struct gdbarch *gdbarch, gdbarch_pseudo_register_read_ftype pseudo_register_read)
static const char * mt_register_name(struct gdbarch *gdbarch, int regnum)
const struct language_defn * current_language
void print_longest(struct ui_file *stream, int format, int use_c_format, LONGEST val_long)
int deprecated_frame_register_read(struct frame_info *frame, int regnum, gdb_byte *myaddr)
static void mt_pseudo_register_write(struct gdbarch *gdbarch, struct regcache *regcache, int regno, const gdb_byte *buf)
static int mt_register_reggroup_p(struct gdbarch *gdbarch, int regnum, struct reggroup *group)
static void mt_registers_info(struct gdbarch *gdbarch, struct ui_file *file, struct frame_info *frame, int regnum, int all)
enum register_status regcache_raw_read(struct regcache *regcache, int regnum, gdb_byte *buf)
void regcache_cooked_write_unsigned(struct regcache *regcache, int regnum, ULONGEST val)
struct type * builtin_data_ptr
void set_gdbarch_int_bit(struct gdbarch *gdbarch, int int_bit)
static struct frame_id mt_dummy_id(struct gdbarch *gdbarch, struct frame_info *this_frame)
void set_gdbarch_num_pseudo_regs(struct gdbarch *gdbarch, int num_pseudo_regs)
void dwarf2_append_unwinders(struct gdbarch *gdbarch)
#define SYMBOL_LANGUAGE(symbol)
static CORE_ADDR mt_unwind_sp(struct gdbarch *gdbarch, struct frame_info *next_frame)
static LONGEST extract_signed_integer(const gdb_byte *addr, int len, enum bfd_endian byte_order)
static CORE_ADDR mt_frame_align(struct gdbarch *gdbarch, CORE_ADDR sp)
static enum return_value_convention mt_return_value(struct gdbarch *gdbarch, struct value *function, struct type *type, struct regcache *regcache, gdb_byte *readbuf, const gdb_byte *writebuf)
void set_gdbarch_double_format(struct gdbarch *gdbarch, const struct floatformat **double_format)
gdb::def_vector< gdb_byte > byte_vector
void val_print(struct type *type, LONGEST embedded_offset, CORE_ADDR address, struct ui_file *stream, int recurse, struct value *val, const struct value_print_options *options, const struct language_defn *language)
unsigned long long ULONGEST
enum unwind_stop_reason default_frame_unwind_stop_reason(struct frame_info *this_frame, void **this_cache)
struct type * builtin_long_long
int register_size(struct gdbarch *gdbarch, int regnum)
void set_gdbarch_long_double_bit(struct gdbarch *gdbarch, int long_double_bit)
struct type * value_type(const struct value *value)
void set_gdbarch_long_bit(struct gdbarch *gdbarch, int long_bit)
void set_gdbarch_return_value(struct gdbarch *gdbarch, gdbarch_return_value_ftype return_value)
const struct bfd_arch_info * gdbarch_bfd_arch_info(struct gdbarch *gdbarch)
void set_gdbarch_long_double_format(struct gdbarch *gdbarch, const struct floatformat **long_double_format)
static struct type * mt_copro_register_type(struct gdbarch *arch, int regnum)
int default_register_reggroup_p(struct gdbarch *gdbarch, int regnum, struct reggroup *group)
#define TYPE_LENGTH(thistype)
void set_gdbarch_ptr_bit(struct gdbarch *gdbarch, int ptr_bit)
void set_gdbarch_push_dummy_call(struct gdbarch *gdbarch, gdbarch_push_dummy_call_ftype push_dummy_call)
ULONGEST read_memory_unsigned_integer(CORE_ADDR memaddr, int len, enum bfd_endian byte_order)
struct type * builtin_uint64
void set_gdbarch_sw_breakpoint_from_kind(struct gdbarch *gdbarch, gdbarch_sw_breakpoint_from_kind_ftype sw_breakpoint_from_kind)
void register_gdbarch_init(enum bfd_architecture bfd_architecture, gdbarch_init_ftype *init)
void write_memory(CORE_ADDR memaddr, const bfd_byte *myaddr, ssize_t len)
void set_gdbarch_skip_prologue(struct gdbarch *gdbarch, gdbarch_skip_prologue_ftype skip_prologue)
void set_gdbarch_pc_regnum(struct gdbarch *gdbarch, int pc_regnum)
void set_gdbarch_register_name(struct gdbarch *gdbarch, gdbarch_register_name_ftype register_name)
CORE_ADDR get_frame_func(struct frame_info *this_frame)
static void store_signed_integer(gdb_byte *addr, int len, enum bfd_endian byte_order, LONGEST val)
struct gdbarch * gdbarch_alloc(const struct gdbarch_info *info, struct gdbarch_tdep *tdep)
void set_gdbarch_inner_than(struct gdbarch *gdbarch, gdbarch_inner_than_ftype inner_than)
struct gdbarch * get_frame_arch(struct frame_info *this_frame)
void regcache_cooked_write(struct regcache *regcache, int regnum, const gdb_byte *buf)
static void store_unsigned_integer(gdb_byte *addr, int len, enum bfd_endian byte_order, ULONGEST val)
void regcache_raw_write(struct regcache *regcache, int regnum, const gdb_byte *buf)