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 "sim-regno.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 "gdbarch.h"
#include "cgen-remap.h"
#include "opcodes/mep-desc.h"
#include "opcodes/mep-opc.h"
Go to the source code of this file.
Classes | |
struct | mep_gdbarch_tdep |
struct | mep_csr_register |
struct | mep_prologue |
Macros | |
#define | GDB_CGEN_REMAP_PREFIX mep |
#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 const 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, const struct reggroup *group) |
static struct type * | mep_register_type (struct gdbarch *gdbarch, int reg_nr) |
static enum register_status | mep_pseudo_cr32_read (struct gdbarch *gdbarch, readable_regcache *regcache, int cookednum, gdb_byte *buf) |
static enum register_status | mep_pseudo_cr64_read (struct gdbarch *gdbarch, readable_regcache *regcache, int cookednum, gdb_byte *buf) |
static enum register_status | mep_pseudo_register_read (struct gdbarch *gdbarch, readable_regcache *regcache, int cookednum, gdb_byte *buf) |
static void | mep_pseudo_csr_write (struct gdbarch *gdbarch, struct regcache *regcache, int cookednum, const gdb_byte *buf) |
static void | mep_pseudo_cr32_write (struct gdbarch *gdbarch, struct regcache *regcache, int cookednum, const gdb_byte *buf) |
static void | mep_pseudo_cr64_write (struct gdbarch *gdbarch, struct regcache *regcache, int cookednum, const gdb_byte *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) |
typedef | BP_MANIPULATION (mep_break_insn) |
static CORE_ADDR | mep_frame_base (frame_info_ptr this_frame, void **this_prologue_cache) |
static void | mep_frame_this_id (frame_info_ptr this_frame, void **this_prologue_cache, struct frame_id *this_id) |
static struct value * | mep_frame_prev_register (frame_info_ptr this_frame, void **this_prologue_cache, int regnum) |
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, function_call_return_method return_method, CORE_ADDR struct_addr) |
static struct gdbarch * | mep_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) |
void | _initialize_mep_tdep () |
Variables | |
static 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 const reggroup * | mep_csr_reggroup |
static const reggroup * | mep_cr_reggroup |
static const reggroup * | mep_ccr_reggroup |
constexpr gdb_byte | mep_break_insn [] = { 0x70, 0x32 } |
static const struct frame_unwind | mep_frame_unwind |
#define ADD3_16_OFFSET | ( | i | ) | (FIELD (i, 18, 5) << 2) |
Definition at line 1550 of file mep-tdep.c.
Referenced by mep_analyze_prologue().
#define ADD3_16_REG_SRC1 | ( | i | ) | (FIELD (i, 20, 4)) /* n */ |
Definition at line 1538 of file mep-tdep.c.
#define ADD3_16_REG_SRC2 | ( | i | ) | (FIELD (i, 24, 4)) /* m */ |
Definition at line 1539 of file mep-tdep.c.
#define ADD3_16_TARGET | ( | i | ) | (FIELD (i, 24, 4)) |
Definition at line 1549 of file mep-tdep.c.
Referenced by mep_analyze_prologue().
#define ADD3_32_OFFSET | ( | i | ) | (SFIELD (i, 0, 16)) |
Definition at line 1545 of file mep-tdep.c.
Referenced by mep_analyze_prologue().
#define ADD3_32_SOURCE | ( | i | ) | (FIELD (i, 20, 4)) |
Definition at line 1544 of file mep-tdep.c.
Referenced by mep_analyze_prologue().
#define ADD3_32_TARGET | ( | i | ) | (FIELD (i, 24, 4)) |
Definition at line 1543 of file mep-tdep.c.
Referenced by mep_analyze_prologue().
#define ADD_OFFSET | ( | i | ) | (SFIELD (i, 18, 6)) |
Definition at line 1555 of file mep-tdep.c.
Referenced by mep_analyze_prologue().
#define ADD_TARGET | ( | i | ) | (FIELD (i, 24, 4)) |
Definition at line 1554 of file mep-tdep.c.
Referenced by mep_analyze_prologue().
#define BRA_DISP | ( | i | ) | (SFIELD (i, 17, 11) << 1) |
Definition at line 1576 of file mep-tdep.c.
Referenced by mep_analyze_prologue().
Definition at line 668 of file mep-tdep.c.
Referenced by mep_init_pseudoregister_maps().
#define FIELD | ( | i, | |
pos, | |||
len ) (((i) >> (pos)) & ((1 << (len)) - 1)) |
Definition at line 1498 of file mep-tdep.c.
#define GDB_CGEN_REMAP_PREFIX mep |
Definition at line 52 of file mep-tdep.c.
#define IN_SET | ( | set, | |
n ) (MEP_FIRST_ ## set ## _REGNUM <= (n) && (n) <= MEP_LAST_ ## set ## _REGNUM) |
Definition at line 618 of file mep-tdep.c.
#define IS_ADD | ( | i | ) | (((i) & 0xf0030000) == 0x60000000) |
Definition at line 1553 of file mep-tdep.c.
Referenced by mep_analyze_prologue().
#define IS_ADD3_16 | ( | i | ) | (((i) & 0xf0830000) == 0x40000000) |
Definition at line 1548 of file mep-tdep.c.
Referenced by mep_analyze_prologue().
#define IS_ADD3_16_REG | ( | i | ) | (((i) & 0xf0000000) == 0x90000000) |
Definition at line 1537 of file mep-tdep.c.
#define IS_ADD3_32 | ( | i | ) | (((i) & 0xf00f0000) == 0xc0000000) |
Definition at line 1542 of file mep-tdep.c.
Referenced by mep_analyze_prologue().
#define IS_BRA | ( | i | ) | (((i) & 0xf0010000) == 0xb0000000) |
Definition at line 1575 of file mep-tdep.c.
Referenced by mep_analyze_prologue().
#define IS_CCR_REGNUM | ( | n | ) | (IN_SET (CCR, (n))) |
Definition at line 633 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 627 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 629 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 631 of file mep-tdep.c.
Referenced by mep_register_name(), mep_register_reggroup_p(), and mep_register_type().
Definition at line 626 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 628 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 630 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 621 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 1559 of file mep-tdep.c.
Referenced by mep_analyze_prologue().
#define IS_LW | ( | i | ) | (((i) & 0xf00f0000) == 0xc00e0000) |
Definition at line 1564 of file mep-tdep.c.
Referenced by mep_analyze_prologue().
#define IS_MOV | ( | i | ) | (((i) & 0xf00f0000) == 0x00000000) |
Definition at line 1570 of file mep-tdep.c.
Referenced by mep_analyze_prologue().
#define IS_PSEUDO_REGNUM | ( | n | ) | (IN_SET (PSEUDO, (n))) |
Definition at line 636 of file mep-tdep.c.
#define IS_RAW_CCR_REGNUM | ( | n | ) | (IN_SET (RAW_CCR, (n))) |
Definition at line 624 of file mep-tdep.c.
#define IS_RAW_CR_REGNUM | ( | n | ) | (IN_SET (RAW_CR, (n))) |
Definition at line 623 of file mep-tdep.c.
Referenced by mep_register_type().
#define IS_RAW_CSR_REGNUM | ( | n | ) | (IN_SET (RAW_CSR, (n))) |
Definition at line 622 of file mep-tdep.c.
#define IS_RAW_REGNUM | ( | n | ) | (IN_SET (RAW, (n))) |
Definition at line 635 of file mep-tdep.c.
#define IS_SB | ( | i | ) | (((i) & 0xf00f0000) == 0xc0080000) |
Definition at line 1519 of file mep-tdep.c.
Referenced by mep_analyze_prologue().
#define IS_SH | ( | i | ) | (((i) & 0xf00f0000) == 0xc0090000) |
Definition at line 1521 of file mep-tdep.c.
Referenced by mep_analyze_prologue().
#define IS_SW | ( | i | ) | (((i) & 0xf00f0000) == 0xc00a0000) |
Definition at line 1517 of file mep-tdep.c.
Referenced by mep_analyze_prologue().
#define IS_SW_IMMD | ( | i | ) | (((i) & 0xf0830000) == 0x40020000) |
Definition at line 1527 of file mep-tdep.c.
Referenced by mep_analyze_prologue().
#define IS_SW_REG | ( | i | ) | (((i) & 0xf00f0000) == 0x000a0000) |
Definition at line 1532 of file mep-tdep.c.
Referenced by mep_analyze_prologue().
Definition at line 1560 of file mep-tdep.c.
Referenced by mep_analyze_prologue().
#define LDC_TARGET | ( | i | ) | (FIELD (i, 24, 4)) |
Definition at line 1561 of file mep-tdep.c.
Referenced by mep_analyze_prologue().
#define LW_BASE | ( | i | ) | (FIELD (i, 20, 4)) |
Definition at line 1566 of file mep-tdep.c.
Referenced by mep_analyze_prologue().
#define LW_OFFSET | ( | i | ) | (SFIELD (i, 0, 16)) |
Definition at line 1567 of file mep-tdep.c.
Referenced by mep_analyze_prologue().
#define LW_TARGET | ( | i | ) | (FIELD (i, 24, 4)) |
Definition at line 1565 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 641 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 643 of file mep-tdep.c.
#define MEP_PSW_SIZE (4) /* Size of the PSW register. */ |
Definition at line 642 of file mep-tdep.c.
#define MOV_SOURCE | ( | i | ) | (FIELD (i, 20, 4)) |
Definition at line 1572 of file mep-tdep.c.
Referenced by mep_analyze_prologue().
#define MOV_TARGET | ( | i | ) | (FIELD (i, 24, 4)) |
Definition at line 1571 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 638 of file mep-tdep.c.
Referenced by mep_init_pseudoregister_maps().
#define SEXT | ( | n, | |
len ) ((((int) (n)) ^ (1 << ((len) - 1))) - (1 << ((len) - 1))) |
Definition at line 1495 of file mep-tdep.c.
Definition at line 1501 of file mep-tdep.c.
#define SW_IMMD_OFFSET | ( | i | ) | (FIELD (i, 18, 5) << 2) |
Definition at line 1529 of file mep-tdep.c.
Referenced by mep_analyze_prologue().
#define SW_IMMD_SOURCE | ( | i | ) | (FIELD (i, 24, 4)) |
Definition at line 1528 of file mep-tdep.c.
Referenced by mep_analyze_prologue().
#define SW_REG_BASE | ( | i | ) | (FIELD (i, 20, 4)) |
Definition at line 1534 of file mep-tdep.c.
Referenced by mep_analyze_prologue().
#define SW_REG_SOURCE | ( | i | ) | (FIELD (i, 24, 4)) |
Definition at line 1533 of file mep-tdep.c.
Referenced by mep_analyze_prologue().
#define SWBH_32_BASE | ( | i | ) | (FIELD (i, 20, 4)) |
Definition at line 1522 of file mep-tdep.c.
Referenced by mep_analyze_prologue().
#define SWBH_32_OFFSET | ( | i | ) | (SFIELD (i, 0, 16)) |
Definition at line 1524 of file mep-tdep.c.
Referenced by mep_analyze_prologue().
#define SWBH_32_SOURCE | ( | i | ) | (FIELD (i, 24, 4)) |
Definition at line 1523 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 337 of file mep-tdep.c.
anonymous enum |
Definition at line 467 of file mep-tdep.c.
void _initialize_mep_tdep | ( | ) |
Definition at line 2462 of file mep-tdep.c.
References gdbarch_register(), mep_ccr_reggroup, mep_cr_reggroup, mep_csr_reggroup, mep_gdbarch_init(), mep_init_pseudoregister_maps(), reggroup_new(), and USER_REGGROUP.
typedef BP_MANIPULATION | ( | mep_break_insn | ) |
Definition at line 1909 of file mep-tdep.c.
References FRAME_OBSTACK_ZALLOC, get_frame_arch(), get_frame_func(), get_frame_pc(), and mep_analyze_prologue().
Definition at line 1652 of file mep-tdep.c.
References mep_prologue::gdbarch, prologue_value::k, MEP_SP_REGNUM, pv_is_register(), pvk_register, value::reg, mep_prologue::reg_offset, register_size(), and size.
Referenced by mep_analyze_prologue().
|
static |
Definition at line 927 of file mep-tdep.c.
References CGEN_HW_ENTRY, current_me_module(), me_module_register_set(), and register_set_keyword_table().
Referenced by mep_register_name().
|
static |
Definition at line 894 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 915 of file mep-tdep.c.
References CGEN_HW_ENTRY, current_me_module(), and me_module_register_set().
Referenced by mep_register_name().
|
static |
Definition at line 903 of file mep-tdep.c.
References CGEN_HW_ENTRY, current_me_module(), me_module_register_set(), and register_set_keyword_table().
Referenced by mep_register_name().
|
static |
Definition at line 850 of file mep-tdep.c.
References get_current_regcache(), mep_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 877 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 159 of file mep-tdep.c.
References CGEN_HW_ENTRY, and prefix.
Referenced by me_module_register_set().
|
static |
Definition at line 189 of file mep-tdep.c.
References CGEN_HW_ENTRY.
Referenced by me_module_register_set().
|
static |
Definition at line 1619 of file mep-tdep.c.
References MEP_R1_REGNUM, MEP_R4_REGNUM, pvk_register, and value::reg.
Referenced by is_arg_spill(), and mep_analyze_prologue().
|
static |
Definition at line 1636 of file mep-tdep.c.
References pv_area::find_reg(), is_arg_reg(), MEP_SP_REGNUM, pv_is_register(), and value::reg.
Referenced by mep_analyze_prologue().
|
static |
Definition at line 417 of file mep-tdep.c.
Referenced by mep_gdbarch_init().
|
static |
Definition at line 405 of file mep-tdep.c.
Referenced by current_cop_data_bus_width().
|
static |
|
static |
Definition at line 396 of file mep-tdep.c.
References opt_from_option_mask().
Referenced by current_options().
|
static |
Definition at line 211 of file mep-tdep.c.
References CGEN_HW_ENTRY, mep_gdbarch_tdep::cpu_desc, find_hw_entry_by_prefix_and_isa(), find_hw_entry_by_type(), prefix, and target_gdbarch().
Referenced by current_ccr_names(), current_cr_is_float(), and current_cr_names().
|
static |
Definition at line 1667 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(), pv_area::fetch(), mep_prologue::frame_ptr_offset, mep_prologue::frame_size, 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, MEP_FIRST_CSR_REGNUM, MEP_FP_REGNUM, mep_get_insn(), MEP_NUM_REGS, MEP_SP_REGNUM, MOV_SOURCE, MOV_TARGET, mep_prologue::prologue_end, pv_add_constant(), pv_is_identical(), pv_is_register(), pv_is_register_k(), pv_register(), mep_prologue::reg_offset, pv_area::scan(), size, pv_area::store(), pv_area::store_would_trash(), SW_IMMD_OFFSET, SW_IMMD_SOURCE, SW_REG_BASE, SW_REG_SOURCE, SWBH_32_BASE, SWBH_32_OFFSET, and SWBH_32_SOURCE.
Referenced by BP_MANIPULATION(), and mep_skip_prologue().
|
static |
Definition at line 788 of file mep-tdep.c.
References mep_raw_to_pseudo.
Referenced by mep_gdbarch_init().
|
static |
Definition at line 2086 of file mep-tdep.c.
References readable_regcache::cooked_read_part(), gdbarch_byte_order(), type::length(), MEP_GPR_SIZE, and MEP_R0_REGNUM.
Referenced by mep_return_value().
|
static |
Definition at line 2190 of file mep-tdep.c.
Referenced by mep_gdbarch_init().
|
static |
Definition at line 1946 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_FP_REGNUM, and MEP_SP_REGNUM.
Referenced by mep_frame_prev_register(), and mep_frame_this_id().
|
static |
Definition at line 1984 of file mep-tdep.c.
References frame_unwind_got_constant(), frame_unwind_got_memory(), frame_unwind_got_register(), get_frame_register_value(), mep_frame_base(), mep_frame_prev_register(), MEP_LP_REGNUM, MEP_PC_REGNUM, MEP_PSW_REGNUM, MEP_SP_REGNUM, mep_prologue::reg_offset, regnum, release_value(), value, and value_as_long().
Referenced by mep_frame_prev_register().
|
static |
Definition at line 1974 of file mep-tdep.c.
References frame_id_build(), get_frame_func(), and mep_frame_base().
|
static |
Definition at line 1267 of file mep-tdep.c.
References find_pc_section(), and obj_section::the_bfd_section.
Referenced by mep_gdbarch_init().
|
static |
Definition at line 2335 of file mep-tdep.c.
References arches, core_addr_lessthan(), mep_gdbarch_tdep::cpu_desc, frame_unwind_append_unwinder(), gdb_putc(), gdb_stderr, gdbarch_alloc(), gdbarch_list_lookup_by_info(), mep_gdbarch_tdep::me_module, me_module_big_endian(), me_module_name(), mep_ccr_reggroup, mep_cr_reggroup, mep_csr_reggroup, mep_debug_reg_to_regnum(), mep_frame_align(), mep_frame_unwind, 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_register_name(), mep_register_reggroup_p(), mep_register_type(), mep_return_value(), mep_skip_prologue(), MEP_SP_REGNUM, reggroup_add(), set_gdbarch_breakpoint_kind_from_pc(), set_gdbarch_decr_pc_after_break(), 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_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(), and set_gdbarch_sw_breakpoint_from_kind().
Referenced by _initialize_mep_tdep().
|
static |
Definition at line 1412 of file mep-tdep.c.
References current_options(), extract_unsigned_integer(), 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 716 of file mep-tdep.c.
References CSR, mep_csr_registers, 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, mep_pseudo_to_raw, mep_raw_to_pseudo, NUM_REGS_IN_SET, mep_csr_register::pseudo, and mep_csr_register::raw.
Referenced by _initialize_mep_tdep().
|
static |
Definition at line 1338 of file mep-tdep.c.
References find_pc_section(), and obj_section::the_bfd_section.
Referenced by mep_get_insn().
|
static |
Definition at line 1125 of file mep-tdep.c.
References extract_unsigned_integer(), gdbarch_byte_order(), mep_pseudo_to_raw, readable_regcache::raw_read(), register_type(), status, and store_unsigned_integer().
Referenced by mep_pseudo_register_read().
|
static |
Definition at line 1212 of file mep-tdep.c.
References extract_unsigned_integer(), gdbarch_byte_order(), mep_pseudo_to_raw, regcache::raw_write(), register_type(), and store_unsigned_integer().
Referenced by mep_pseudo_register_write().
|
static |
Definition at line 1151 of file mep-tdep.c.
References mep_pseudo_to_raw, and readable_regcache::raw_read().
Referenced by mep_pseudo_register_read().
|
static |
Definition at line 1233 of file mep-tdep.c.
References mep_pseudo_to_raw, and regcache::raw_write().
Referenced by mep_pseudo_register_write().
|
static |
Definition at line 827 of file mep-tdep.c.
References 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().
|
static |
Definition at line 817 of file mep-tdep.c.
References IS_FP_CR32_REGNUM, and IS_FP_CR64_REGNUM.
Referenced by mep_register_name(), and mep_register_type().
|
static |
Definition at line 800 of file mep-tdep.c.
References 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 1181 of file mep-tdep.c.
References extract_unsigned_integer(), gdbarch_byte_order(), mep_csr_registers, 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 1161 of file mep-tdep.c.
References 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(), mep_pseudo_to_raw, and readable_regcache::raw_read().
Referenced by mep_gdbarch_init().
|
static |
Definition at line 1243 of file mep-tdep.c.
References 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(), mep_pseudo_to_raw, and regcache::raw_write().
Referenced by mep_gdbarch_init().
|
static |
Definition at line 2251 of file mep-tdep.c.
References extract_unsigned_integer(), 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(), return_method_struct, store_unsigned_integer(), value, and write_memory().
Referenced by mep_gdbarch_init().
|
static |
Definition at line 937 of file mep-tdep.c.
References current_ccr_names(), current_cop_data_bus_width(), current_cr_is_float(), current_cr_names(), current_options(), 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 1033 of file mep-tdep.c.
References all_reggroup, general_reggroup, IS_CCR_REGNUM, IS_CR_REGNUM, IS_CSR_REGNUM, IS_GPR_REGNUM, mep_ccr_reggroup, mep_cr_reggroup, mep_csr_reggroup, mep_register_name(), name, regnum, restore_reggroup, and save_reggroup.
Referenced by mep_gdbarch_init().
Definition at line 1084 of file mep-tdep.c.
References builtin_type::builtin_double, builtin_type::builtin_float, builtin_type(), builtin_type::builtin_uint32, builtin_type::builtin_uint64, 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 2149 of file mep-tdep.c.
References type::length(), 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, and RETURN_VALUE_REGISTER_CONVENTION.
Referenced by mep_gdbarch_init().
|
static |
Definition at line 1890 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 2114 of file mep-tdep.c.
References regcache::cooked_write_part(), gdbarch_byte_order(), type::length(), MEP_GPR_SIZE, and MEP_R0_REGNUM.
Referenced by mep_return_value().
|
static |
Definition at line 2079 of file mep-tdep.c.
References type::length(), and MEP_GPR_SIZE.
Referenced by mep_return_value().
|
static |
Definition at line 360 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 2227 of file mep-tdep.c.
References MEP_GPR_SIZE, and write_memory().
Referenced by mep_push_dummy_call().
|
static |
Definition at line 313 of file mep-tdep.c.
Referenced by mep_register_name().
|
static |
Definition at line 295 of file mep-tdep.c.
Referenced by current_ccr_names(), and current_cr_names().
|
constexpr |
Definition at line 1907 of file mep-tdep.c.
|
static |
Definition at line 1029 of file mep-tdep.c.
Referenced by _initialize_mep_tdep(), mep_gdbarch_init(), and mep_register_reggroup_p().
|
static |
Definition at line 1028 of file mep-tdep.c.
Referenced by _initialize_mep_tdep(), mep_gdbarch_init(), and mep_register_reggroup_p().
|
static |
Definition at line 1027 of file mep-tdep.c.
Referenced by _initialize_mep_tdep(), mep_gdbarch_init(), and mep_register_reggroup_p().
|
static |
Definition at line 669 of file mep-tdep.c.
Referenced by mep_init_pseudoregister_maps(), and mep_pseudo_csr_write().
|
static |
Definition at line 2064 of file mep-tdep.c.
Referenced by mep_gdbarch_init().
|
static |
Definition at line 713 of file mep-tdep.c.
Referenced by mep_init_pseudoregister_maps(), mep_pseudo_cr32_read(), mep_pseudo_cr32_write(), mep_pseudo_cr64_read(), mep_pseudo_cr64_write(), mep_pseudo_register_read(), and mep_pseudo_register_write().
|
static |
Definition at line 708 of file mep-tdep.c.
Referenced by mep_debug_reg_to_regnum(), and mep_init_pseudoregister_maps().