GDB (xrefs)
|
#include "defs.h"
#include "frame.h"
#include "frame-unwind.h"
#include "frame-base.h"
#include "symtab.h"
#include "gdbtypes.h"
#include "gdbcmd.h"
#include "gdbcore.h"
#include "value.h"
#include "inferior.h"
#include "dis-asm.h"
#include "symfile.h"
#include "objfiles.h"
#include "language.h"
#include "arch-utils.h"
#include "regcache.h"
#include "remote.h"
#include "floatformat.h"
#include "sim-regno.h"
#include "disasm.h"
#include "trad-frame.h"
#include "reggroups.h"
#include "elf-bfd.h"
#include "elf/mep.h"
#include "prologue-value.h"
#include "cgen/bitset.h"
#include "infcall.h"
#include "opcodes/mep-desc.h"
#include "opcodes/mep-opc.h"
Go to the source code of this file.
Classes | |
struct | gdbarch_tdep |
struct | mep_csr_register |
struct | mep_prologue |
Macros | |
#define | IN_SET(set, n) (MEP_FIRST_ ## set ## _REGNUM <= (n) && (n) <= MEP_LAST_ ## set ## _REGNUM) |
#define | IS_GPR_REGNUM(n) (IN_SET (GPR, (n))) |
#define | IS_RAW_CSR_REGNUM(n) (IN_SET (RAW_CSR, (n))) |
#define | IS_RAW_CR_REGNUM(n) (IN_SET (RAW_CR, (n))) |
#define | IS_RAW_CCR_REGNUM(n) (IN_SET (RAW_CCR, (n))) |
#define | IS_CSR_REGNUM(n) (IN_SET (CSR, (n))) |
#define | IS_CR32_REGNUM(n) (IN_SET (CR32, (n))) |
#define | IS_FP_CR32_REGNUM(n) (IN_SET (FP_CR32, (n))) |
#define | IS_CR64_REGNUM(n) (IN_SET (CR64, (n))) |
#define | IS_FP_CR64_REGNUM(n) (IN_SET (FP_CR64, (n))) |
#define | IS_CR_REGNUM(n) |
#define | IS_CCR_REGNUM(n) (IN_SET (CCR, (n))) |
#define | IS_RAW_REGNUM(n) (IN_SET (RAW, (n))) |
#define | IS_PSEUDO_REGNUM(n) (IN_SET (PSEUDO, (n))) |
#define | NUM_REGS_IN_SET(set) (MEP_LAST_ ## set ## _REGNUM - MEP_FIRST_ ## set ## _REGNUM + 1) |
#define | MEP_GPR_SIZE (4) /* Size of a MeP general-purpose register. */ |
#define | MEP_PSW_SIZE (4) /* Size of the PSW register. */ |
#define | MEP_LP_SIZE (4) /* Size of the LP register. */ |
#define | CSR(name) MEP_RAW_ ## name ## _REGNUM, MEP_ ## name ## _REGNUM |
#define | SEXT(n, len) ((((int) (n)) ^ (1 << ((len) - 1))) - (1 << ((len) - 1))) |
#define | FIELD(i, pos, len) (((i) >> (pos)) & ((1 << (len)) - 1)) |
#define | SFIELD(i, pos, len) (SEXT (FIELD ((i), (pos), (len)), (len))) |
#define | IS_SW(i) (((i) & 0xf00f0000) == 0xc00a0000) |
#define | IS_SB(i) (((i) & 0xf00f0000) == 0xc0080000) |
#define | IS_SH(i) (((i) & 0xf00f0000) == 0xc0090000) |
#define | SWBH_32_BASE(i) (FIELD (i, 20, 4)) |
#define | SWBH_32_SOURCE(i) (FIELD (i, 24, 4)) |
#define | SWBH_32_OFFSET(i) (SFIELD (i, 0, 16)) |
#define | IS_SW_IMMD(i) (((i) & 0xf0830000) == 0x40020000) |
#define | SW_IMMD_SOURCE(i) (FIELD (i, 24, 4)) |
#define | SW_IMMD_OFFSET(i) (FIELD (i, 18, 5) << 2) |
#define | IS_SW_REG(i) (((i) & 0xf00f0000) == 0x000a0000) |
#define | SW_REG_SOURCE(i) (FIELD (i, 24, 4)) |
#define | SW_REG_BASE(i) (FIELD (i, 20, 4)) |
#define | IS_ADD3_16_REG(i) (((i) & 0xf0000000) == 0x90000000) |
#define | ADD3_16_REG_SRC1(i) (FIELD (i, 20, 4)) /* n */ |
#define | ADD3_16_REG_SRC2(i) (FIELD (i, 24, 4)) /* m */ |
#define | IS_ADD3_32(i) (((i) & 0xf00f0000) == 0xc0000000) |
#define | ADD3_32_TARGET(i) (FIELD (i, 24, 4)) |
#define | ADD3_32_SOURCE(i) (FIELD (i, 20, 4)) |
#define | ADD3_32_OFFSET(i) (SFIELD (i, 0, 16)) |
#define | IS_ADD3_16(i) (((i) & 0xf0830000) == 0x40000000) |
#define | ADD3_16_TARGET(i) (FIELD (i, 24, 4)) |
#define | ADD3_16_OFFSET(i) (FIELD (i, 18, 5) << 2) |
#define | IS_ADD(i) (((i) & 0xf0030000) == 0x60000000) |
#define | ADD_TARGET(i) (FIELD (i, 24, 4)) |
#define | ADD_OFFSET(i) (SFIELD (i, 18, 6)) |
#define | IS_LDC(i) (((i) & 0xf00e0000) == 0x700a0000) |
#define | LDC_IMM(i) ((FIELD (i, 16, 1) << 4) | FIELD (i, 20, 4)) |
#define | LDC_TARGET(i) (FIELD (i, 24, 4)) |
#define | IS_LW(i) (((i) & 0xf00f0000) == 0xc00e0000) |
#define | LW_TARGET(i) (FIELD (i, 24, 4)) |
#define | LW_BASE(i) (FIELD (i, 20, 4)) |
#define | LW_OFFSET(i) (SFIELD (i, 0, 16)) |
#define | IS_MOV(i) (((i) & 0xf00f0000) == 0x00000000) |
#define | MOV_TARGET(i) (FIELD (i, 24, 4)) |
#define | MOV_SOURCE(i) (FIELD (i, 20, 4)) |
#define | IS_BRA(i) (((i) & 0xf0010000) == 0xb0000000) |
#define | BRA_DISP(i) (SFIELD (i, 17, 11) << 1) |
Functions | |
static const CGEN_HW_ENTRY * | find_hw_entry_by_prefix_and_isa (CGEN_CPU_DESC desc, const char *prefix, CGEN_BITSET *copro_isa_mask, CGEN_BITSET *generic_isa_mask) |
static const CGEN_HW_ENTRY * | find_hw_entry_by_type (CGEN_CPU_DESC desc, CGEN_HW_TYPE type) |
static const CGEN_HW_ENTRY * | me_module_register_set (CONFIG_ATTR me_module, const char *prefix, CGEN_HW_TYPE generic_type) |
static CGEN_KEYWORD * | register_set_keyword_table (const CGEN_HW_ENTRY *hw) |
static char * | register_name_from_keyword (CGEN_KEYWORD *keyword_table, int regnum) |
static unsigned int | opt_from_option_mask (unsigned int option_mask) |
static unsigned int | me_module_opt (CONFIG_ATTR me_module) |
static int | me_module_cop_data_bus_width (CONFIG_ATTR me_module) |
static int | me_module_big_endian (CONFIG_ATTR me_module) |
static const char * | me_module_name (CONFIG_ATTR me_module) |
static void | mep_init_pseudoregister_maps (void) |
static int | mep_debug_reg_to_regnum (struct gdbarch *gdbarch, int debug_reg) |
static int | mep_pseudo_cr_size (int pseudo) |
static int | mep_pseudo_cr_is_float (int pseudo) |
static int | mep_pseudo_cr_index (int pseudo) |
static CONFIG_ATTR | current_me_module (void) |
static unsigned int | current_options (void) |
static int | current_cop_data_bus_width (void) |
static CGEN_KEYWORD * | current_cr_names (void) |
static int | current_cr_is_float (void) |
static CGEN_KEYWORD * | current_ccr_names (void) |
static const char * | mep_register_name (struct gdbarch *gdbarch, int regnr) |
static int | mep_register_reggroup_p (struct gdbarch *gdbarch, int regnum, struct reggroup *group) |
static struct type * | mep_register_type (struct gdbarch *gdbarch, int reg_nr) |
static CORE_ADDR | mep_read_pc (struct regcache *regcache) |
static enum register_status | mep_pseudo_cr32_read (struct gdbarch *gdbarch, struct regcache *regcache, int cookednum, void *buf) |
static enum register_status | mep_pseudo_cr64_read (struct gdbarch *gdbarch, struct regcache *regcache, int cookednum, void *buf) |
static enum register_status | mep_pseudo_register_read (struct gdbarch *gdbarch, struct regcache *regcache, int cookednum, gdb_byte *buf) |
static void | mep_pseudo_csr_write (struct gdbarch *gdbarch, struct regcache *regcache, int cookednum, const void *buf) |
static void | mep_pseudo_cr32_write (struct gdbarch *gdbarch, struct regcache *regcache, int cookednum, const void *buf) |
static void | mep_pseudo_cr64_write (struct gdbarch *gdbarch, struct regcache *regcache, int cookednum, const void *buf) |
static void | mep_pseudo_register_write (struct gdbarch *gdbarch, struct regcache *regcache, int cookednum, const gdb_byte *buf) |
static int | mep_gdb_print_insn (bfd_vma pc, disassemble_info *info) |
static int | mep_pc_in_vliw_section (CORE_ADDR pc) |
static CORE_ADDR | mep_get_insn (struct gdbarch *gdbarch, CORE_ADDR pc, unsigned long *insn) |
static int | is_arg_reg (pv_t value) |
static int | is_arg_spill (struct gdbarch *gdbarch, pv_t value, pv_t addr, struct pv_area *stack) |
static void | check_for_saved (void *result_untyped, pv_t addr, CORE_ADDR size, pv_t value) |
static void | mep_analyze_prologue (struct gdbarch *gdbarch, CORE_ADDR start_pc, CORE_ADDR limit_pc, struct mep_prologue *result) |
static CORE_ADDR | mep_skip_prologue (struct gdbarch *gdbarch, CORE_ADDR pc) |
static const unsigned char * | mep_breakpoint_from_pc (struct gdbarch *gdbarch, CORE_ADDR *pcptr, int *lenptr) |
static struct mep_prologue * | mep_analyze_frame_prologue (struct frame_info *this_frame, void **this_prologue_cache) |
static CORE_ADDR | mep_frame_base (struct frame_info *this_frame, void **this_prologue_cache) |
static void | mep_frame_this_id (struct frame_info *this_frame, void **this_prologue_cache, struct frame_id *this_id) |
static struct value * | mep_frame_prev_register (struct frame_info *this_frame, void **this_prologue_cache, int regnum) |
static CORE_ADDR | mep_unwind_pc (struct gdbarch *gdbarch, struct frame_info *next_frame) |
static CORE_ADDR | mep_unwind_sp (struct gdbarch *gdbarch, struct frame_info *next_frame) |
static int | mep_use_struct_convention (struct type *type) |
static void | mep_extract_return_value (struct gdbarch *arch, struct type *type, struct regcache *regcache, gdb_byte *valbuf) |
static void | mep_store_return_value (struct gdbarch *arch, struct type *type, struct regcache *regcache, const gdb_byte *valbuf) |
static enum return_value_convention | mep_return_value (struct gdbarch *gdbarch, struct value *function, struct type *type, struct regcache *regcache, gdb_byte *readbuf, const gdb_byte *writebuf) |
static CORE_ADDR | mep_frame_align (struct gdbarch *gdbarch, CORE_ADDR sp) |
static CORE_ADDR | push_large_arguments (CORE_ADDR sp, int argc, struct value **argv, CORE_ADDR copy[]) |
static CORE_ADDR | mep_push_dummy_call (struct gdbarch *gdbarch, struct value *function, struct regcache *regcache, CORE_ADDR bp_addr, int argc, struct value **argv, CORE_ADDR sp, int struct_return, CORE_ADDR struct_addr) |
static struct frame_id | mep_dummy_id (struct gdbarch *gdbarch, struct frame_info *this_frame) |
static struct gdbarch * | mep_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) |
void | _initialize_mep_tdep (void) |
Variables | |
struct mep_csr_register | mep_csr_registers [] |
static int | mep_raw_to_pseudo [MEP_NUM_REGS] |
static int | mep_pseudo_to_raw [MEP_NUM_REGS] |
static struct reggroup * | mep_csr_reggroup |
static struct reggroup * | mep_cr_reggroup |
static struct reggroup * | mep_ccr_reggroup |
static const struct frame_unwind | mep_frame_unwind |
initialize_file_ftype | _initialize_mep_tdep |
#define ADD3_16_OFFSET | ( | i | ) | (FIELD (i, 18, 5) << 2) |
Definition at line 1555 of file mep-tdep.c.
Referenced by mep_analyze_prologue().
#define ADD3_16_REG_SRC1 | ( | i | ) | (FIELD (i, 20, 4)) /* n */ |
Definition at line 1543 of file mep-tdep.c.
#define ADD3_16_REG_SRC2 | ( | i | ) | (FIELD (i, 24, 4)) /* m */ |
Definition at line 1544 of file mep-tdep.c.
#define ADD3_16_TARGET | ( | i | ) | (FIELD (i, 24, 4)) |
Definition at line 1554 of file mep-tdep.c.
Referenced by mep_analyze_prologue().
#define ADD3_32_OFFSET | ( | i | ) | (SFIELD (i, 0, 16)) |
Definition at line 1550 of file mep-tdep.c.
Referenced by mep_analyze_prologue().
#define ADD3_32_SOURCE | ( | i | ) | (FIELD (i, 20, 4)) |
Definition at line 1549 of file mep-tdep.c.
Referenced by mep_analyze_prologue().
#define ADD3_32_TARGET | ( | i | ) | (FIELD (i, 24, 4)) |
Definition at line 1548 of file mep-tdep.c.
Referenced by mep_analyze_prologue().
#define ADD_OFFSET | ( | i | ) | (SFIELD (i, 18, 6)) |
Definition at line 1560 of file mep-tdep.c.
Referenced by mep_analyze_prologue().
#define ADD_TARGET | ( | i | ) | (FIELD (i, 24, 4)) |
Definition at line 1559 of file mep-tdep.c.
Referenced by mep_analyze_prologue().
#define BRA_DISP | ( | i | ) | (SFIELD (i, 17, 11) << 1) |
Definition at line 1581 of file mep-tdep.c.
Referenced by mep_analyze_prologue().
Definition at line 664 of file mep-tdep.c.
Referenced by mep_init_pseudoregister_maps().
Definition at line 1503 of file mep-tdep.c.
#define IN_SET | ( | set, | |
n | |||
) | (MEP_FIRST_ ## set ## _REGNUM <= (n) && (n) <= MEP_LAST_ ## set ## _REGNUM) |
Definition at line 614 of file mep-tdep.c.
#define IS_ADD | ( | i | ) | (((i) & 0xf0030000) == 0x60000000) |
Definition at line 1558 of file mep-tdep.c.
Referenced by mep_analyze_prologue().
#define IS_ADD3_16 | ( | i | ) | (((i) & 0xf0830000) == 0x40000000) |
Definition at line 1553 of file mep-tdep.c.
Referenced by mep_analyze_prologue().
#define IS_ADD3_16_REG | ( | i | ) | (((i) & 0xf0000000) == 0x90000000) |
Definition at line 1542 of file mep-tdep.c.
#define IS_ADD3_32 | ( | i | ) | (((i) & 0xf00f0000) == 0xc0000000) |
Definition at line 1547 of file mep-tdep.c.
Referenced by mep_analyze_prologue().
#define IS_BRA | ( | i | ) | (((i) & 0xf0010000) == 0xb0000000) |
Definition at line 1580 of file mep-tdep.c.
Referenced by mep_analyze_prologue().
#define IS_CCR_REGNUM | ( | n | ) | (IN_SET (CCR, (n))) |
Definition at line 629 of file mep-tdep.c.
Referenced by mep_pseudo_register_read(), mep_pseudo_register_write(), mep_register_name(), and mep_register_reggroup_p().
#define IS_CR32_REGNUM | ( | n | ) | (IN_SET (CR32, (n))) |
Definition at line 623 of file mep-tdep.c.
Referenced by mep_pseudo_cr_index(), mep_pseudo_cr_size(), mep_pseudo_register_read(), and mep_pseudo_register_write().
#define IS_CR64_REGNUM | ( | n | ) | (IN_SET (CR64, (n))) |
Definition at line 625 of file mep-tdep.c.
Referenced by mep_pseudo_cr_index(), mep_pseudo_cr_size(), mep_pseudo_register_read(), and mep_pseudo_register_write().
#define IS_CR_REGNUM | ( | n | ) |
Definition at line 627 of file mep-tdep.c.
Referenced by mep_register_name(), mep_register_reggroup_p(), and mep_register_type().
Definition at line 622 of file mep-tdep.c.
Referenced by mep_pseudo_register_read(), mep_pseudo_register_write(), mep_register_name(), and mep_register_reggroup_p().
#define IS_FP_CR32_REGNUM | ( | n | ) | (IN_SET (FP_CR32, (n))) |
Definition at line 624 of file mep-tdep.c.
Referenced by mep_pseudo_cr_index(), mep_pseudo_cr_is_float(), mep_pseudo_cr_size(), mep_pseudo_register_read(), and mep_pseudo_register_write().
#define IS_FP_CR64_REGNUM | ( | n | ) | (IN_SET (FP_CR64, (n))) |
Definition at line 626 of file mep-tdep.c.
Referenced by mep_pseudo_cr_index(), mep_pseudo_cr_is_float(), mep_pseudo_cr_size(), mep_pseudo_register_read(), and mep_pseudo_register_write().
#define IS_GPR_REGNUM | ( | n | ) | (IN_SET (GPR, (n))) |
Definition at line 617 of file mep-tdep.c.
Referenced by mep_register_name(), and mep_register_reggroup_p().
#define IS_LDC | ( | i | ) | (((i) & 0xf00e0000) == 0x700a0000) |
Definition at line 1564 of file mep-tdep.c.
Referenced by mep_analyze_prologue().
#define IS_LW | ( | i | ) | (((i) & 0xf00f0000) == 0xc00e0000) |
Definition at line 1569 of file mep-tdep.c.
Referenced by mep_analyze_prologue().
#define IS_MOV | ( | i | ) | (((i) & 0xf00f0000) == 0x00000000) |
Definition at line 1575 of file mep-tdep.c.
Referenced by mep_analyze_prologue().
#define IS_PSEUDO_REGNUM | ( | n | ) | (IN_SET (PSEUDO, (n))) |
Definition at line 632 of file mep-tdep.c.
#define IS_RAW_CCR_REGNUM | ( | n | ) | (IN_SET (RAW_CCR, (n))) |
Definition at line 620 of file mep-tdep.c.
#define IS_RAW_CR_REGNUM | ( | n | ) | (IN_SET (RAW_CR, (n))) |
Definition at line 619 of file mep-tdep.c.
Referenced by mep_register_type().
#define IS_RAW_CSR_REGNUM | ( | n | ) | (IN_SET (RAW_CSR, (n))) |
Definition at line 618 of file mep-tdep.c.
#define IS_RAW_REGNUM | ( | n | ) | (IN_SET (RAW, (n))) |
Definition at line 631 of file mep-tdep.c.
#define IS_SB | ( | i | ) | (((i) & 0xf00f0000) == 0xc0080000) |
Definition at line 1524 of file mep-tdep.c.
Referenced by mep_analyze_prologue().
#define IS_SH | ( | i | ) | (((i) & 0xf00f0000) == 0xc0090000) |
Definition at line 1526 of file mep-tdep.c.
Referenced by mep_analyze_prologue().
#define IS_SW | ( | i | ) | (((i) & 0xf00f0000) == 0xc00a0000) |
Definition at line 1522 of file mep-tdep.c.
Referenced by mep_analyze_prologue().
#define IS_SW_IMMD | ( | i | ) | (((i) & 0xf0830000) == 0x40020000) |
Definition at line 1532 of file mep-tdep.c.
Referenced by mep_analyze_prologue().
#define IS_SW_REG | ( | i | ) | (((i) & 0xf00f0000) == 0x000a0000) |
Definition at line 1537 of file mep-tdep.c.
Referenced by mep_analyze_prologue().
Definition at line 1565 of file mep-tdep.c.
Referenced by mep_analyze_prologue().
#define LDC_TARGET | ( | i | ) | (FIELD (i, 24, 4)) |
Definition at line 1566 of file mep-tdep.c.
Referenced by mep_analyze_prologue().
#define LW_BASE | ( | i | ) | (FIELD (i, 20, 4)) |
Definition at line 1571 of file mep-tdep.c.
Referenced by mep_analyze_prologue().
#define LW_OFFSET | ( | i | ) | (SFIELD (i, 0, 16)) |
Definition at line 1572 of file mep-tdep.c.
Referenced by mep_analyze_prologue().
#define LW_TARGET | ( | i | ) | (FIELD (i, 24, 4)) |
Definition at line 1570 of file mep-tdep.c.
Referenced by mep_analyze_prologue().
#define MEP_GPR_SIZE (4) /* Size of a MeP general-purpose register. */ |
Definition at line 637 of file mep-tdep.c.
Referenced by mep_extract_return_value(), mep_push_dummy_call(), mep_store_return_value(), mep_use_struct_convention(), and push_large_arguments().
#define MEP_LP_SIZE (4) /* Size of the LP register. */ |
Definition at line 639 of file mep-tdep.c.
#define MEP_PSW_SIZE (4) /* Size of the PSW register. */ |
Definition at line 638 of file mep-tdep.c.
#define MOV_SOURCE | ( | i | ) | (FIELD (i, 20, 4)) |
Definition at line 1577 of file mep-tdep.c.
Referenced by mep_analyze_prologue().
#define MOV_TARGET | ( | i | ) | (FIELD (i, 24, 4)) |
Definition at line 1576 of file mep-tdep.c.
Referenced by mep_analyze_prologue().
#define NUM_REGS_IN_SET | ( | set | ) | (MEP_LAST_ ## set ## _REGNUM - MEP_FIRST_ ## set ## _REGNUM + 1) |
Definition at line 634 of file mep-tdep.c.
Referenced by mep_init_pseudoregister_maps().
Definition at line 1500 of file mep-tdep.c.
Definition at line 1506 of file mep-tdep.c.
#define SW_IMMD_OFFSET | ( | i | ) | (FIELD (i, 18, 5) << 2) |
Definition at line 1534 of file mep-tdep.c.
Referenced by mep_analyze_prologue().
#define SW_IMMD_SOURCE | ( | i | ) | (FIELD (i, 24, 4)) |
Definition at line 1533 of file mep-tdep.c.
Referenced by mep_analyze_prologue().
#define SW_REG_BASE | ( | i | ) | (FIELD (i, 20, 4)) |
Definition at line 1539 of file mep-tdep.c.
Referenced by mep_analyze_prologue().
#define SW_REG_SOURCE | ( | i | ) | (FIELD (i, 24, 4)) |
Definition at line 1538 of file mep-tdep.c.
Referenced by mep_analyze_prologue().
#define SWBH_32_BASE | ( | i | ) | (FIELD (i, 20, 4)) |
Definition at line 1527 of file mep-tdep.c.
Referenced by mep_analyze_prologue().
#define SWBH_32_OFFSET | ( | i | ) | (SFIELD (i, 0, 16)) |
Definition at line 1529 of file mep-tdep.c.
Referenced by mep_analyze_prologue().
#define SWBH_32_SOURCE | ( | i | ) | (FIELD (i, 24, 4)) |
Definition at line 1528 of file mep-tdep.c.
Referenced by mep_analyze_prologue().
anonymous enum |
Enumerator | |
---|---|
MEP_OPT_DIV | |
MEP_OPT_MUL | |
MEP_OPT_BIT | |
MEP_OPT_SAT | |
MEP_OPT_CLP | |
MEP_OPT_MIN | |
MEP_OPT_AVE | |
MEP_OPT_ABS | |
MEP_OPT_LDZ | |
MEP_OPT_VL64 | |
MEP_OPT_VL32 | |
MEP_OPT_COP | |
MEP_OPT_DSP | |
MEP_OPT_UCI | |
MEP_OPT_DBG |
Definition at line 333 of file mep-tdep.c.
anonymous enum |
Definition at line 463 of file mep-tdep.c.
void _initialize_mep_tdep | ( | void | ) |
Definition at line 2513 of file mep-tdep.c.
References mep_gdbarch_init(), mep_init_pseudoregister_maps(), reggroup_new(), register_gdbarch_init(), and USER_REGGROUP.
Definition at line 1657 of file mep-tdep.c.
References mep_prologue::gdbarch, prologue_value::k, prologue_value::kind, MEP_SP_REGNUM, pv_is_register(), pvk_register, prologue_value::reg, mep_prologue::reg_offset, and register_size().
Referenced by mep_analyze_prologue().
|
static |
Definition at line 917 of file mep-tdep.c.
References current_me_module(), me_module_register_set(), and register_set_keyword_table().
Referenced by mep_register_name().
|
static |
Definition at line 884 of file mep-tdep.c.
References current_me_module(), and me_module_cop_data_bus_width().
Referenced by mep_register_name().
|
static |
Definition at line 905 of file mep-tdep.c.
References current_me_module(), and me_module_register_set().
Referenced by mep_register_name().
|
static |
Definition at line 893 of file mep-tdep.c.
References current_me_module(), me_module_register_set(), and register_set_keyword_table().
Referenced by mep_register_name().
|
static |
Definition at line 844 of file mep-tdep.c.
References gdbarch_tdep(), get_current_regcache(), gdbarch_tdep::me_module, MEP_MODULE_REGNUM, regcache_cooked_read_unsigned(), target_gdbarch(), and target_has_registers.
Referenced by current_ccr_names(), current_cop_data_bus_width(), current_cr_is_float(), current_cr_names(), and current_options().
|
static |
Definition at line 867 of file mep-tdep.c.
References current_me_module(), get_current_regcache(), me_module_opt(), MEP_OPT_REGNUM, regcache_cooked_read_unsigned(), and target_has_registers.
Referenced by mep_get_insn(), and mep_register_name().
|
static |
Definition at line 157 of file mep-tdep.c.
Referenced by me_module_register_set().
|
static |
Definition at line 187 of file mep-tdep.c.
Referenced by me_module_register_set().
Definition at line 1624 of file mep-tdep.c.
References prologue_value::k, prologue_value::kind, MEP_R1_REGNUM, MEP_R4_REGNUM, pvk_register, and prologue_value::reg.
Referenced by is_arg_spill(), and mep_analyze_prologue().
|
static |
Definition at line 1641 of file mep-tdep.c.
References is_arg_reg(), MEP_SP_REGNUM, pv_area_find_reg(), pv_is_register(), and prologue_value::reg.
Referenced by mep_analyze_prologue().
|
static |
Definition at line 413 of file mep-tdep.c.
Referenced by mep_gdbarch_init().
|
static |
Definition at line 401 of file mep-tdep.c.
Referenced by current_cop_data_bus_width().
|
static |
|
static |
Definition at line 392 of file mep-tdep.c.
References opt_from_option_mask().
Referenced by current_options().
|
static |
Definition at line 209 of file mep-tdep.c.
References gdbarch_tdep::cpu_desc, find_hw_entry_by_prefix_and_isa(), find_hw_entry_by_type(), gdbarch_tdep(), and target_gdbarch().
Referenced by current_ccr_names(), current_cr_is_float(), and current_cr_names().
|
static |
Definition at line 1934 of file mep-tdep.c.
References FRAME_OBSTACK_ZALLOC, get_frame_arch(), get_frame_func(), get_frame_pc(), and mep_analyze_prologue().
Referenced by mep_frame_base(), and mep_frame_prev_register().
|
static |
Definition at line 1672 of file mep-tdep.c.
References ADD3_16_OFFSET, ADD3_16_TARGET, ADD3_32_OFFSET, ADD3_32_SOURCE, ADD3_32_TARGET, ADD_OFFSET, ADD_TARGET, BRA_DISP, check_for_saved(), do_cleanups(), mep_prologue::frame_ptr_offset, mep_prologue::frame_size, gdb_assert, mep_prologue::gdbarch, gdbarch_addr_bit(), mep_prologue::has_frame_ptr, IS_ADD, IS_ADD3_16, IS_ADD3_32, is_arg_reg(), is_arg_spill(), IS_BRA, IS_LDC, IS_LW, IS_MOV, IS_SB, IS_SH, IS_SW, IS_SW_IMMD, IS_SW_REG, prologue_value::k, LDC_IMM, LDC_TARGET, LW_BASE, LW_OFFSET, LW_TARGET, make_cleanup_free_pv_area(), make_pv_area(), MEP_FIRST_CSR_REGNUM, MEP_FP_REGNUM, mep_get_insn(), MEP_NUM_REGS, MEP_SP_REGNUM, MOV_SOURCE, MOV_TARGET, offset, mep_prologue::prologue_end, pv_add_constant(), pv_area_fetch(), pv_area_scan(), pv_area_store(), pv_area_store_would_trash(), pv_is_identical(), pv_is_register(), pv_is_register_k(), pv_register(), mep_prologue::reg_offset, size, SW_IMMD_OFFSET, SW_IMMD_SOURCE, SW_REG_BASE, SW_REG_SOURCE, SWBH_32_BASE, SWBH_32_OFFSET, and SWBH_32_SOURCE.
Referenced by mep_analyze_frame_prologue(), and mep_skip_prologue().
|
static |
Definition at line 1921 of file mep-tdep.c.
Referenced by mep_gdbarch_init().
Definition at line 784 of file mep-tdep.c.
Referenced by mep_gdbarch_init().
|
static |
Definition at line 2371 of file mep-tdep.c.
References frame_id_build(), get_frame_pc(), get_frame_register_unsigned(), and MEP_SP_REGNUM.
Referenced by mep_gdbarch_init().
|
static |
Definition at line 2122 of file mep-tdep.c.
References gdb_assert, gdbarch_byte_order(), MEP_GPR_SIZE, MEP_R0_REGNUM, offset, regcache_cooked_read_part(), and TYPE_LENGTH.
Referenced by mep_return_value().
Definition at line 2228 of file mep-tdep.c.
Referenced by mep_gdbarch_init().
|
static |
Definition at line 1963 of file mep-tdep.c.
References mep_prologue::frame_ptr_offset, mep_prologue::frame_size, get_frame_register_unsigned(), mep_prologue::has_frame_ptr, mep_analyze_frame_prologue(), MEP_FP_REGNUM, and MEP_SP_REGNUM.
Referenced by mep_frame_prev_register(), and mep_frame_this_id().
|
static |
Definition at line 2001 of file mep-tdep.c.
References frame_unwind_got_constant(), frame_unwind_got_memory(), frame_unwind_got_register(), get_frame_register_value(), mep_analyze_frame_prologue(), mep_frame_base(), MEP_LP_REGNUM, MEP_PC_REGNUM, MEP_PSW_REGNUM, MEP_SP_REGNUM, mep_prologue::reg_offset, release_value(), value_as_long(), and value_free().
|
static |
Definition at line 1991 of file mep-tdep.c.
References frame_id_build(), get_frame_func(), and mep_frame_base().
|
static |
Definition at line 1270 of file mep-tdep.c.
References find_pc_section(), and obj_section::the_bfd_section.
Referenced by mep_gdbarch_init().
|
static |
Definition at line 2383 of file mep-tdep.c.
References _, gdbarch_info::abfd, all_reggroup, gdbarch_info::bfd_arch_info, gdbarch_info::byte_order, core_addr_lessthan(), gdbarch_tdep::cpu_desc, gdbarch_tdep::e_flags, fputc_unfiltered(), frame_unwind_append_unwinder(), gdb_stderr, gdbarch_list::gdbarch, gdbarch_alloc(), gdbarch_list_lookup_by_info(), general_reggroup, gdbarch_tdep::me_module, me_module_big_endian(), me_module_name(), mep_breakpoint_from_pc(), mep_debug_reg_to_regnum(), mep_dummy_id(), mep_frame_align(), mep_gdb_print_insn(), MEP_NUM_PSEUDO_REGS, MEP_NUM_RAW_REGS, MEP_PC_REGNUM, mep_pseudo_register_read(), mep_pseudo_register_write(), mep_push_dummy_call(), mep_read_pc(), mep_register_name(), mep_register_reggroup_p(), mep_register_type(), mep_return_value(), mep_skip_prologue(), MEP_SP_REGNUM, mep_unwind_pc(), mep_unwind_sp(), gdbarch_list::next, reggroup_add(), restore_reggroup, save_reggroup, set_gdbarch_breakpoint_from_pc(), set_gdbarch_decr_pc_after_break(), set_gdbarch_dummy_id(), set_gdbarch_dwarf2_reg_to_regnum(), set_gdbarch_frame_align(), set_gdbarch_frame_args_skip(), set_gdbarch_inner_than(), set_gdbarch_num_pseudo_regs(), set_gdbarch_num_regs(), set_gdbarch_pc_regnum(), set_gdbarch_print_insn(), set_gdbarch_pseudo_register_read(), set_gdbarch_pseudo_register_write(), set_gdbarch_push_dummy_call(), set_gdbarch_read_pc(), set_gdbarch_register_name(), set_gdbarch_register_reggroup_p(), set_gdbarch_register_type(), set_gdbarch_return_value(), set_gdbarch_skip_prologue(), set_gdbarch_sp_regnum(), set_gdbarch_stab_reg_to_regnum(), set_gdbarch_unwind_pc(), set_gdbarch_unwind_sp(), warning(), and xmalloc().
Referenced by _initialize_mep_tdep().
|
static |
Definition at line 1417 of file mep-tdep.c.
References current_options(), extract_unsigned_integer(), gdb_assert_not_reached, gdbarch_byte_order(), MEP_OPT_VL32, MEP_OPT_VL64, mep_pc_in_vliw_section(), and read_memory().
Referenced by mep_analyze_prologue().
|
static |
Definition at line 712 of file mep-tdep.c.
References CSR, gdb_assert, MEP_FIRST_CCR_REGNUM, MEP_FIRST_CR32_REGNUM, MEP_FIRST_CR64_REGNUM, MEP_FIRST_CSR_REGNUM, MEP_FIRST_FP_CR32_REGNUM, MEP_FIRST_FP_CR64_REGNUM, MEP_FIRST_RAW_CCR_REGNUM, MEP_FIRST_RAW_CR_REGNUM, MEP_FIRST_RAW_CSR_REGNUM, MEP_NUM_REGS, NUM_REGS_IN_SET, mep_csr_register::pseudo, and mep_csr_register::raw.
Referenced by _initialize_mep_tdep().
Definition at line 1343 of file mep-tdep.c.
References find_pc_section(), and obj_section::the_bfd_section.
Referenced by mep_get_insn().
|
static |
Definition at line 1126 of file mep-tdep.c.
References extract_unsigned_integer(), gdb_assert, gdbarch_byte_order(), REG_VALID, regcache_raw_read(), register_type(), status, store_unsigned_integer(), and TYPE_LENGTH.
Referenced by mep_pseudo_register_read().
|
static |
Definition at line 1213 of file mep-tdep.c.
References extract_unsigned_integer(), gdb_assert, gdbarch_byte_order(), regcache_raw_write(), register_type(), store_unsigned_integer(), and TYPE_LENGTH.
Referenced by mep_pseudo_register_write().
|
static |
Definition at line 1152 of file mep-tdep.c.
References regcache_raw_read().
Referenced by mep_pseudo_register_read().
|
static |
Definition at line 1234 of file mep-tdep.c.
References regcache_raw_write().
Referenced by mep_pseudo_register_write().
Definition at line 821 of file mep-tdep.c.
References gdb_assert_not_reached, IS_CR32_REGNUM, IS_CR64_REGNUM, IS_FP_CR32_REGNUM, IS_FP_CR64_REGNUM, MEP_FIRST_CR32_REGNUM, MEP_FIRST_CR64_REGNUM, MEP_FIRST_FP_CR32_REGNUM, and MEP_FIRST_FP_CR64_REGNUM.
Referenced by mep_register_name().
Definition at line 811 of file mep-tdep.c.
References IS_FP_CR32_REGNUM, and IS_FP_CR64_REGNUM.
Referenced by mep_register_name(), and mep_register_type().
Definition at line 794 of file mep-tdep.c.
References gdb_assert_not_reached, IS_CR32_REGNUM, IS_CR64_REGNUM, IS_FP_CR32_REGNUM, and IS_FP_CR64_REGNUM.
Referenced by mep_register_name(), and mep_register_type().
|
static |
Definition at line 1182 of file mep-tdep.c.
References extract_unsigned_integer(), gdbarch_byte_order(), MEP_FIRST_CSR_REGNUM, mep_csr_register::raw, regcache_raw_read_unsigned(), regcache_raw_write_unsigned(), register_size(), size, and mep_csr_register::writeable_bits.
Referenced by mep_pseudo_register_write().
|
static |
Definition at line 1162 of file mep-tdep.c.
References gdb_assert_not_reached, IS_CCR_REGNUM, IS_CR32_REGNUM, IS_CR64_REGNUM, IS_CSR_REGNUM, IS_FP_CR32_REGNUM, IS_FP_CR64_REGNUM, mep_pseudo_cr32_read(), mep_pseudo_cr64_read(), and regcache_raw_read().
Referenced by mep_gdbarch_init().
|
static |
Definition at line 1244 of file mep-tdep.c.
References gdb_assert_not_reached, IS_CCR_REGNUM, IS_CR32_REGNUM, IS_CR64_REGNUM, IS_CSR_REGNUM, IS_FP_CR32_REGNUM, IS_FP_CR64_REGNUM, mep_pseudo_cr32_write(), mep_pseudo_cr64_write(), mep_pseudo_csr_write(), and regcache_raw_write().
Referenced by mep_gdbarch_init().
|
static |
Definition at line 2289 of file mep-tdep.c.
References extract_unsigned_integer(), find_function_addr(), gdb_assert, gdbarch_byte_order(), MEP_GPR_SIZE, MEP_LP_REGNUM, MEP_R1_REGNUM, MEP_R4_REGNUM, MEP_SP_REGNUM, push_large_arguments(), regcache_cooked_write_unsigned(), store_unsigned_integer(), TYPE_LENGTH, value_contents(), value_type(), and write_memory().
Referenced by mep_gdbarch_init().
Definition at line 1118 of file mep-tdep.c.
References MEP_PC_REGNUM, and regcache_cooked_read_unsigned().
Referenced by mep_gdbarch_init().
Definition at line 927 of file mep-tdep.c.
References current_ccr_names(), current_cop_data_bus_width(), current_cr_is_float(), current_cr_names(), current_options(), gdbarch_tdep(), IS_CCR_REGNUM, IS_CR_REGNUM, IS_CSR_REGNUM, IS_GPR_REGNUM, MEP_FIRST_CCR_REGNUM, MEP_FIRST_CSR_REGNUM, MEP_HI_REGNUM, MEP_LO_REGNUM, MEP_OPT_COP, MEP_OPT_DIV, MEP_OPT_MUL, mep_pseudo_cr_index(), mep_pseudo_cr_is_float(), mep_pseudo_cr_size(), MEP_R0_REGNUM, and register_name_from_keyword().
Referenced by mep_gdbarch_init(), and mep_register_reggroup_p().
|
static |
Definition at line 1025 of file mep-tdep.c.
References all_reggroup, general_reggroup, IS_CCR_REGNUM, IS_CR_REGNUM, IS_CSR_REGNUM, IS_GPR_REGNUM, mep_register_name(), name, restore_reggroup, and save_reggroup.
Referenced by mep_gdbarch_init().
Definition at line 1076 of file mep-tdep.c.
References builtin_type::builtin_double, builtin_type::builtin_float, builtin_type(), builtin_type::builtin_uint32, builtin_type::builtin_uint64, gdb_assert_not_reached, IS_CR_REGNUM, IS_RAW_CR_REGNUM, mep_pseudo_cr_is_float(), mep_pseudo_cr_size(), and size.
Referenced by mep_gdbarch_init().
|
static |
Definition at line 2187 of file mep-tdep.c.
References _, error(), mep_extract_return_value(), MEP_R0_REGNUM, mep_store_return_value(), mep_use_struct_convention(), read_memory(), regcache_raw_read_unsigned(), RETURN_VALUE_ABI_RETURNS_ADDRESS, RETURN_VALUE_REGISTER_CONVENTION, and TYPE_LENGTH.
Referenced by mep_gdbarch_init().
Definition at line 1902 of file mep-tdep.c.
References find_pc_partial_function(), mep_analyze_prologue(), name, and mep_prologue::prologue_end.
Referenced by mep_gdbarch_init().
|
static |
Definition at line 2151 of file mep-tdep.c.
References _, error(), gdbarch_byte_order(), MEP_GPR_SIZE, MEP_R0_REGNUM, offset, regcache_cooked_write_part(), and TYPE_LENGTH.
Referenced by mep_return_value().
|
static |
Definition at line 2096 of file mep-tdep.c.
References frame_unwind_register_unsigned(), and MEP_PC_REGNUM.
Referenced by mep_gdbarch_init().
|
static |
Definition at line 2104 of file mep-tdep.c.
References frame_unwind_register_unsigned(), and MEP_SP_REGNUM.
Referenced by mep_gdbarch_init().
Definition at line 2115 of file mep-tdep.c.
References MEP_GPR_SIZE, and TYPE_LENGTH.
Referenced by mep_return_value().
Definition at line 356 of file mep-tdep.c.
References bits, MEP_OPT_ABS, MEP_OPT_AVE, MEP_OPT_CLP, MEP_OPT_COP, MEP_OPT_DBG, MEP_OPT_DIV, MEP_OPT_DSP, MEP_OPT_LDZ, MEP_OPT_MIN, MEP_OPT_MUL, MEP_OPT_SAT, and MEP_OPT_UCI.
Referenced by me_module_opt().
|
static |
Definition at line 2265 of file mep-tdep.c.
References MEP_GPR_SIZE, TYPE_LENGTH, value_contents(), value_type(), and write_memory().
Referenced by mep_push_dummy_call().
|
static |
|
static |
Definition at line 291 of file mep-tdep.c.
References gdb_assert.
Referenced by current_ccr_names(), and current_cr_names().
initialize_file_ftype _initialize_mep_tdep |
|
static |
Definition at line 1021 of file mep-tdep.c.
|
static |
Definition at line 1020 of file mep-tdep.c.
|
static |
Definition at line 1019 of file mep-tdep.c.
struct mep_csr_register mep_csr_registers[] |
Definition at line 665 of file mep-tdep.c.
|
static |
Definition at line 2084 of file mep-tdep.c.
|
static |
Definition at line 709 of file mep-tdep.c.
|
static |
Definition at line 704 of file mep-tdep.c.