GDB (API)
|
#include "defs.h"
#include "gdb_string.h"
#include "gdb_assert.h"
#include "frame.h"
#include "inferior.h"
#include "symtab.h"
#include "value.h"
#include "gdbcmd.h"
#include "language.h"
#include "gdbcore.h"
#include "symfile.h"
#include "objfiles.h"
#include "gdbtypes.h"
#include "target.h"
#include "arch-utils.h"
#include "regcache.h"
#include "osabi.h"
#include "mips-tdep.h"
#include "block.h"
#include "reggroups.h"
#include "opcode/mips.h"
#include "elf/mips.h"
#include "elf-bfd.h"
#include "symcat.h"
#include "sim-regno.h"
#include "dis-asm.h"
#include "frame-unwind.h"
#include "frame-base.h"
#include "trad-frame.h"
#include "infcall.h"
#include "floatformat.h"
#include "remote.h"
#include "target-descriptions.h"
#include "dwarf2-frame.h"
#include "user-regs.h"
#include "valprint.h"
#include "ax.h"
Go to the source code of this file.
Defines | |
#define | ST0_FR (1 << 26) |
#define | R(n) { "r" #n, n } |
#define | R(n) { #n, n } |
#define | MIPS_DEFAULT_FPU_TYPE MIPS_FPU_DOUBLE |
#define | PROPERTY_GP32 "internal: transfers-32bit-registers" |
#define | PROPERTY_GP64 "internal: transfers-64bit-registers" |
#define | MIPS_EABI(gdbarch) |
#define | MIPS_LAST_FP_ARG_REGNUM(gdbarch) (gdbarch_tdep (gdbarch)->mips_last_fp_arg_regnum) |
#define | MIPS_LAST_ARG_REGNUM(gdbarch) (gdbarch_tdep (gdbarch)->mips_last_arg_regnum) |
#define | MIPS_FPU_TYPE(gdbarch) (gdbarch_tdep (gdbarch)->mips_fpu_type) |
#define | VM_MIN_ADDRESS (CORE_ADDR)0x400000 |
#define | mips32_op(x) (x >> 26) |
#define | itype_op(x) (x >> 26) |
#define | itype_rs(x) ((x >> 21) & 0x1f) |
#define | itype_rt(x) ((x >> 16) & 0x1f) |
#define | itype_immediate(x) (x & 0xffff) |
#define | jtype_op(x) (x >> 26) |
#define | jtype_target(x) (x & 0x03ffffff) |
#define | rtype_op(x) (x >> 26) |
#define | rtype_rs(x) ((x >> 21) & 0x1f) |
#define | rtype_rt(x) ((x >> 16) & 0x1f) |
#define | rtype_rd(x) ((x >> 11) & 0x1f) |
#define | rtype_shamt(x) ((x >> 6) & 0x1f) |
#define | rtype_funct(x) (x & 0x3f) |
#define | micromips_op(x) ((x) >> 10) |
#define | b0s4_imm(x) ((x) & 0xf) |
#define | b0s5_imm(x) ((x) & 0x1f) |
#define | b0s5_reg(x) ((x) & 0x1f) |
#define | b0s7_imm(x) ((x) & 0x7f) |
#define | b0s10_imm(x) ((x) & 0x3ff) |
#define | b1s4_imm(x) (((x) >> 1) & 0xf) |
#define | b1s9_imm(x) (((x) >> 1) & 0x1ff) |
#define | b2s3_cc(x) (((x) >> 2) & 0x7) |
#define | b4s2_regl(x) (((x) >> 4) & 0x3) |
#define | b5s5_op(x) (((x) >> 5) & 0x1f) |
#define | b5s5_reg(x) (((x) >> 5) & 0x1f) |
#define | b6s4_op(x) (((x) >> 6) & 0xf) |
#define | b7s3_reg(x) (((x) >> 7) & 0x7) |
#define | b0s6_op(x) ((x) & 0x3f) |
#define | b0s11_op(x) ((x) & 0x7ff) |
#define | b0s12_imm(x) ((x) & 0xfff) |
#define | b0s16_imm(x) ((x) & 0xffff) |
#define | b0s26_imm(x) ((x) & 0x3ffffff) |
#define | b6s10_ext(x) (((x) >> 6) & 0x3ff) |
#define | b11s5_reg(x) (((x) >> 11) & 0x1f) |
#define | b12s4_op(x) (((x) >> 12) & 0xf) |
#define | LL_OPCODE 0x30 |
#define | LLD_OPCODE 0x34 |
#define | SC_OPCODE 0x38 |
#define | SCD_OPCODE 0x3c |
Enumerations | |
enum | { MIPS_FPU_SINGLE_REGSIZE = 4, MIPS_FPU_DOUBLE_REGSIZE = 8 } |
enum | { MIPS32_REGSIZE = 4, MIPS64_REGSIZE = 8 } |
enum | { NUM_MIPS_PROCESSOR_REGS = (90 - 32) } |
enum | mips16_inst_fmts { itype, ritype, rrtype, rritype, rrrtype, rriatype, shifttype, i8type, i8movtype, i8mov32rtype, i64type, ri64type, jalxtype, exiItype, extRitype, extRRItype, extRRIAtype, EXTshifttype, extI8type, extI64type, extRi64type, extshift64type } |
enum | mips_fval_reg { mips_fval_fpr, mips_fval_gpr, mips_fval_both } |
Functions | |
struct mips_regnum * | mips_regnum (struct gdbarch *gdbarch) |
enum mips_abi | mips_abi (struct gdbarch *gdbarch) |
int | mips_isa_regsize (struct gdbarch *gdbarch) |
unsigned int | mips_abi_regsize (struct gdbarch *gdbarch) |
int | mips_pc_is_mips (CORE_ADDR memaddr) |
int | mips_pc_is_mips16 (struct gdbarch *gdbarch, CORE_ADDR memaddr) |
int | mips_pc_is_micromips (struct gdbarch *gdbarch, CORE_ADDR memaddr) |
void | mips_write_pc (struct regcache *regcache, CORE_ADDR pc) |
int | mips_software_single_step (struct frame_info *frame) |
void | deprecated_mips_set_processor_regs_hack (void) |
void | _initialize_mips_tdep (void) |
Variables | |
struct register_alias | mips_o32_aliases [] |
struct register_alias | mips_n32_n64_aliases [] |
struct register_alias | mips_register_aliases [] |
struct register_alias | mips_numeric_register_aliases [] |
struct target_desc * | mips_tdesc_gp32 |
struct target_desc * | mips_tdesc_gp64 |
enum auto_boolean | mask_address_var = AUTO_BOOLEAN_AUTO |
initialize_file_ftype | _initialize_mips_tdep |
#define b0s10_imm | ( | x | ) | ((x) & 0x3ff) |
Definition at line 1391 of file mips-tdep.c.
#define b0s11_op | ( | x | ) | ((x) & 0x7ff) |
Definition at line 1404 of file mips-tdep.c.
#define b0s12_imm | ( | x | ) | ((x) & 0xfff) |
Definition at line 1405 of file mips-tdep.c.
#define b0s16_imm | ( | x | ) | ((x) & 0xffff) |
Definition at line 1406 of file mips-tdep.c.
#define b0s26_imm | ( | x | ) | ((x) & 0x3ffffff) |
Definition at line 1407 of file mips-tdep.c.
#define b0s4_imm | ( | x | ) | ((x) & 0xf) |
Definition at line 1387 of file mips-tdep.c.
#define b0s5_imm | ( | x | ) | ((x) & 0x1f) |
Definition at line 1388 of file mips-tdep.c.
#define b0s5_reg | ( | x | ) | ((x) & 0x1f) |
Definition at line 1389 of file mips-tdep.c.
#define b0s6_op | ( | x | ) | ((x) & 0x3f) |
Definition at line 1403 of file mips-tdep.c.
#define b0s7_imm | ( | x | ) | ((x) & 0x7f) |
Definition at line 1390 of file mips-tdep.c.
#define b11s5_reg | ( | x | ) | (((x) >> 11) & 0x1f) |
Definition at line 1409 of file mips-tdep.c.
#define b12s4_op | ( | x | ) | (((x) >> 12) & 0xf) |
Definition at line 1410 of file mips-tdep.c.
#define b1s4_imm | ( | x | ) | (((x) >> 1) & 0xf) |
Definition at line 1392 of file mips-tdep.c.
#define b1s9_imm | ( | x | ) | (((x) >> 1) & 0x1ff) |
Definition at line 1393 of file mips-tdep.c.
#define b2s3_cc | ( | x | ) | (((x) >> 2) & 0x7) |
Definition at line 1394 of file mips-tdep.c.
#define b4s2_regl | ( | x | ) | (((x) >> 4) & 0x3) |
Definition at line 1395 of file mips-tdep.c.
#define b5s5_op | ( | x | ) | (((x) >> 5) & 0x1f) |
Definition at line 1396 of file mips-tdep.c.
#define b5s5_reg | ( | x | ) | (((x) >> 5) & 0x1f) |
Definition at line 1397 of file mips-tdep.c.
#define b6s10_ext | ( | x | ) | (((x) >> 6) & 0x3ff) |
Definition at line 1408 of file mips-tdep.c.
#define b6s4_op | ( | x | ) | (((x) >> 6) & 0xf) |
Definition at line 1398 of file mips-tdep.c.
#define b7s3_reg | ( | x | ) | (((x) >> 7) & 0x7) |
Definition at line 1399 of file mips-tdep.c.
#define itype_immediate | ( | x | ) | (x & 0xffff) |
Definition at line 1370 of file mips-tdep.c.
#define itype_op | ( | x | ) | (x >> 26) |
Definition at line 1367 of file mips-tdep.c.
#define itype_rs | ( | x | ) | ((x >> 21) & 0x1f) |
Definition at line 1368 of file mips-tdep.c.
#define itype_rt | ( | x | ) | ((x >> 16) & 0x1f) |
Definition at line 1369 of file mips-tdep.c.
#define jtype_op | ( | x | ) | (x >> 26) |
Definition at line 1372 of file mips-tdep.c.
#define jtype_target | ( | x | ) | (x & 0x03ffffff) |
Definition at line 1373 of file mips-tdep.c.
#define LL_OPCODE 0x30 |
Definition at line 3687 of file mips-tdep.c.
#define LLD_OPCODE 0x34 |
Definition at line 3688 of file mips-tdep.c.
#define micromips_op | ( | x | ) | ((x) >> 10) |
Definition at line 1383 of file mips-tdep.c.
#define mips32_op | ( | x | ) | (x >> 26) |
Definition at line 1366 of file mips-tdep.c.
#define MIPS_DEFAULT_FPU_TYPE MIPS_FPU_DOUBLE |
Definition at line 175 of file mips-tdep.c.
#define MIPS_EABI | ( | gdbarch | ) |
(gdbarch_tdep (gdbarch)->mips_abi \ == MIPS_ABI_EABI32 \ || gdbarch_tdep (gdbarch)->mips_abi == MIPS_ABI_EABI64)
Definition at line 214 of file mips-tdep.c.
#define MIPS_FPU_TYPE | ( | gdbarch | ) | (gdbarch_tdep (gdbarch)->mips_fpu_type) |
Definition at line 224 of file mips-tdep.c.
#define MIPS_LAST_ARG_REGNUM | ( | gdbarch | ) | (gdbarch_tdep (gdbarch)->mips_last_arg_regnum) |
Definition at line 221 of file mips-tdep.c.
#define MIPS_LAST_FP_ARG_REGNUM | ( | gdbarch | ) | (gdbarch_tdep (gdbarch)->mips_last_fp_arg_regnum) |
Definition at line 218 of file mips-tdep.c.
#define PROPERTY_GP32 "internal: transfers-32bit-registers" |
Definition at line 184 of file mips-tdep.c.
#define PROPERTY_GP64 "internal: transfers-64bit-registers" |
Definition at line 185 of file mips-tdep.c.
#define R | ( | n | ) | { "r" #n, n } |
#define R | ( | n | ) | { #n, n } |
#define rtype_funct | ( | x | ) | (x & 0x3f) |
Definition at line 1380 of file mips-tdep.c.
#define rtype_op | ( | x | ) | (x >> 26) |
Definition at line 1375 of file mips-tdep.c.
#define rtype_rd | ( | x | ) | ((x >> 11) & 0x1f) |
Definition at line 1378 of file mips-tdep.c.
#define rtype_rs | ( | x | ) | ((x >> 21) & 0x1f) |
Definition at line 1376 of file mips-tdep.c.
#define rtype_rt | ( | x | ) | ((x >> 16) & 0x1f) |
Definition at line 1377 of file mips-tdep.c.
#define rtype_shamt | ( | x | ) | ((x >> 6) & 0x1f) |
Definition at line 1379 of file mips-tdep.c.
#define SC_OPCODE 0x38 |
Definition at line 3689 of file mips-tdep.c.
#define SCD_OPCODE 0x3c |
Definition at line 3690 of file mips-tdep.c.
#define ST0_FR (1 << 26) |
Definition at line 73 of file mips-tdep.c.
#define VM_MIN_ADDRESS (CORE_ADDR)0x400000 |
Definition at line 480 of file mips-tdep.c.
anonymous enum |
Definition at line 77 of file mips-tdep.c.
anonymous enum |
Definition at line 83 of file mips-tdep.c.
anonymous enum |
Definition at line 495 of file mips-tdep.c.
enum mips16_inst_fmts |
Definition at line 1981 of file mips-tdep.c.
enum mips_fval_reg |
Definition at line 5134 of file mips-tdep.c.
void _initialize_mips_tdep | ( | void | ) |
Definition at line 8795 of file mips-tdep.c.
void deprecated_mips_set_processor_regs_hack | ( | void | ) |
Definition at line 6751 of file mips-tdep.c.
Definition at line 228 of file mips-tdep.c.
unsigned int mips_abi_regsize | ( | struct gdbarch * | gdbarch | ) |
Definition at line 250 of file mips-tdep.c.
int mips_isa_regsize | ( | struct gdbarch * | gdbarch | ) |
Definition at line 234 of file mips-tdep.c.
int mips_pc_is_micromips | ( | struct gdbarch * | gdbarch, |
CORE_ADDR | memaddr | ||
) |
Definition at line 1158 of file mips-tdep.c.
int mips_pc_is_mips | ( | CORE_ADDR | memaddr | ) |
Definition at line 1122 of file mips-tdep.c.
int mips_pc_is_mips16 | ( | struct gdbarch * | gdbarch, |
CORE_ADDR | memaddr | ||
) |
Definition at line 1140 of file mips-tdep.c.
struct mips_regnum* mips_regnum | ( | struct gdbarch * | gdbarch | ) | [read] |
Definition at line 191 of file mips-tdep.c.
int mips_software_single_step | ( | struct frame_info * | frame | ) |
Definition at line 3969 of file mips-tdep.c.
void mips_write_pc | ( | struct regcache * | regcache, |
CORE_ADDR | pc | ||
) |
Definition at line 1317 of file mips-tdep.c.
Definition at line 1071 of file mips-tdep.c.
struct register_alias mips_n32_n64_aliases[] |
{ { "ta0", 8 }, { "ta1", 9 }, { "ta2", 10 }, { "ta3", 11 } }
Definition at line 132 of file mips-tdep.c.
struct register_alias mips_numeric_register_aliases[] |
struct register_alias mips_o32_aliases[] |
{ { "ta0", 12 }, { "ta1", 13 }, { "ta2", 14 }, { "ta3", 15 } }
Definition at line 124 of file mips-tdep.c.
struct register_alias mips_register_aliases[] |
{ #define R(n) R(0), R(1), R(2), R(3), R(4), R(5), R(6), R(7), R(8), R(9), R(10), R(11), R(12), R(13), R(14), R(15), R(16), R(17), R(18), R(19), R(20), R(21), R(22), R(23), R(24), R(25), R(26), R(27), R(28), R(29), R(30), R(31), { "kt0", 26 }, { "kt1", 27 }, { "sr", MIPS_PS_REGNUM }, { "bad", MIPS_EMBED_BADVADDR_REGNUM }, { "fsr", MIPS_EMBED_FP0_REGNUM + 32 } }
Definition at line 140 of file mips-tdep.c.
struct target_desc* mips_tdesc_gp32 |
Definition at line 187 of file mips-tdep.c.
struct target_desc* mips_tdesc_gp64 |
Definition at line 188 of file mips-tdep.c.