GDB (xrefs)
Loading...
Searching...
No Matches
Classes | Macros | Enumerations | Functions | Variables
mep-tdep.c File Reference
#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)
 

Enumerations

enum  {
  MEP_OPT_DIV = 1 << 25 , MEP_OPT_MUL = 1 << 24 , MEP_OPT_BIT = 1 << 23 , MEP_OPT_SAT = 1 << 22 ,
  MEP_OPT_CLP = 1 << 21 , MEP_OPT_MIN = 1 << 20 , MEP_OPT_AVE = 1 << 19 , MEP_OPT_ABS = 1 << 18 ,
  MEP_OPT_LDZ = 1 << 16 , MEP_OPT_VL64 = 1 << 6 , MEP_OPT_VL32 = 1 << 5 , MEP_OPT_COP = 1 << 4 ,
  MEP_OPT_DSP = 1 << 2 , MEP_OPT_UCI = 1 << 1 , MEP_OPT_DBG = 1 << 0
}
 
enum  {
  MEP_FIRST_RAW_REGNUM = 0 , MEP_FIRST_GPR_REGNUM = 0 , MEP_R0_REGNUM = 0 , MEP_R1_REGNUM = 1 ,
  MEP_R2_REGNUM = 2 , MEP_R3_REGNUM = 3 , MEP_R4_REGNUM = 4 , MEP_R5_REGNUM = 5 ,
  MEP_R6_REGNUM = 6 , MEP_R7_REGNUM = 7 , MEP_R8_REGNUM = 8 , MEP_R9_REGNUM = 9 ,
  MEP_R10_REGNUM = 10 , MEP_R11_REGNUM = 11 , MEP_R12_REGNUM = 12 , MEP_FP_REGNUM = MEP_R8_REGNUM ,
  MEP_R13_REGNUM = 13 , MEP_TP_REGNUM = MEP_R13_REGNUM , MEP_R14_REGNUM = 14 , MEP_GP_REGNUM = MEP_R14_REGNUM ,
  MEP_R15_REGNUM = 15 , MEP_SP_REGNUM = MEP_R15_REGNUM , MEP_LAST_GPR_REGNUM = MEP_R15_REGNUM , MEP_FIRST_RAW_CSR_REGNUM = 16 ,
  MEP_RAW_PC_REGNUM = 16 , MEP_RAW_LP_REGNUM = 17 , MEP_RAW_SAR_REGNUM = 18 , MEP_RAW_CSR3_REGNUM = 19 ,
  MEP_RAW_RPB_REGNUM = 20 , MEP_RAW_RPE_REGNUM = 21 , MEP_RAW_RPC_REGNUM = 22 , MEP_RAW_HI_REGNUM = 23 ,
  MEP_RAW_LO_REGNUM = 24 , MEP_RAW_CSR9_REGNUM = 25 , MEP_RAW_CSR10_REGNUM = 26 , MEP_RAW_CSR11_REGNUM = 27 ,
  MEP_RAW_MB0_REGNUM = 28 , MEP_RAW_ME0_REGNUM = 29 , MEP_RAW_MB1_REGNUM = 30 , MEP_RAW_ME1_REGNUM = 31 ,
  MEP_RAW_PSW_REGNUM = 32 , MEP_RAW_ID_REGNUM = 33 , MEP_RAW_TMP_REGNUM = 34 , MEP_RAW_EPC_REGNUM = 35 ,
  MEP_RAW_EXC_REGNUM = 36 , MEP_RAW_CFG_REGNUM = 37 , MEP_RAW_CSR22_REGNUM = 38 , MEP_RAW_NPC_REGNUM = 39 ,
  MEP_RAW_DBG_REGNUM = 40 , MEP_RAW_DEPC_REGNUM = 41 , MEP_RAW_OPT_REGNUM = 42 , MEP_RAW_RCFG_REGNUM = 43 ,
  MEP_RAW_CCFG_REGNUM = 44 , MEP_RAW_CSR29_REGNUM = 45 , MEP_RAW_CSR30_REGNUM = 46 , MEP_RAW_CSR31_REGNUM = 47 ,
  MEP_LAST_RAW_CSR_REGNUM = MEP_RAW_CSR31_REGNUM , MEP_FIRST_RAW_CR_REGNUM = 48 , MEP_LAST_RAW_CR_REGNUM = MEP_FIRST_RAW_CR_REGNUM + 31 , MEP_FIRST_RAW_CCR_REGNUM = 80 ,
  MEP_LAST_RAW_CCR_REGNUM = MEP_FIRST_RAW_CCR_REGNUM + 63 , MEP_MODULE_REGNUM , MEP_LAST_RAW_REGNUM = MEP_MODULE_REGNUM , MEP_NUM_RAW_REGS = MEP_LAST_RAW_REGNUM + 1 ,
  MEP_FIRST_PSEUDO_REGNUM = MEP_NUM_RAW_REGS , MEP_FIRST_CSR_REGNUM = MEP_FIRST_PSEUDO_REGNUM , MEP_PC_REGNUM = MEP_FIRST_CSR_REGNUM , MEP_LP_REGNUM ,
  MEP_SAR_REGNUM , MEP_CSR3_REGNUM , MEP_RPB_REGNUM , MEP_RPE_REGNUM ,
  MEP_RPC_REGNUM , MEP_HI_REGNUM , MEP_LO_REGNUM , MEP_CSR9_REGNUM ,
  MEP_CSR10_REGNUM , MEP_CSR11_REGNUM , MEP_MB0_REGNUM , MEP_ME0_REGNUM ,
  MEP_MB1_REGNUM , MEP_ME1_REGNUM , MEP_PSW_REGNUM , MEP_ID_REGNUM ,
  MEP_TMP_REGNUM , MEP_EPC_REGNUM , MEP_EXC_REGNUM , MEP_CFG_REGNUM ,
  MEP_CSR22_REGNUM , MEP_NPC_REGNUM , MEP_DBG_REGNUM , MEP_DEPC_REGNUM ,
  MEP_OPT_REGNUM , MEP_RCFG_REGNUM , MEP_CCFG_REGNUM , MEP_CSR29_REGNUM ,
  MEP_CSR30_REGNUM , MEP_CSR31_REGNUM , MEP_LAST_CSR_REGNUM = MEP_CSR31_REGNUM , MEP_FIRST_CR32_REGNUM ,
  MEP_LAST_CR32_REGNUM = MEP_FIRST_CR32_REGNUM + 31 , MEP_FIRST_FP_CR32_REGNUM , MEP_LAST_FP_CR32_REGNUM = MEP_FIRST_FP_CR32_REGNUM + 31 , MEP_FIRST_CR64_REGNUM ,
  MEP_LAST_CR64_REGNUM = MEP_FIRST_CR64_REGNUM + 31 , MEP_FIRST_FP_CR64_REGNUM , MEP_LAST_FP_CR64_REGNUM = MEP_FIRST_FP_CR64_REGNUM + 31 , MEP_FIRST_CCR_REGNUM ,
  MEP_LAST_CCR_REGNUM = MEP_FIRST_CCR_REGNUM + 63 , MEP_LAST_PSEUDO_REGNUM = MEP_LAST_CCR_REGNUM , MEP_NUM_PSEUDO_REGS = (MEP_LAST_PSEUDO_REGNUM - MEP_LAST_RAW_REGNUM) , MEP_NUM_REGS = MEP_NUM_RAW_REGS + MEP_NUM_PSEUDO_REGS
}
 

Functions

static const CGEN_HW_ENTRYfind_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_ENTRYfind_hw_entry_by_type (CGEN_CPU_DESC desc, CGEN_HW_TYPE type)
 
static const CGEN_HW_ENTRYme_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 typemep_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 valuemep_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 gdbarchmep_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 reggroupmep_csr_reggroup
 
static const reggroupmep_cr_reggroup
 
static const reggroupmep_ccr_reggroup
 
constexpr gdb_byte mep_break_insn [] = { 0x70, 0x32 }
 
static const struct frame_unwind mep_frame_unwind
 

Macro Definition Documentation

◆ ADD3_16_OFFSET

#define ADD3_16_OFFSET ( i)    (FIELD (i, 18, 5) << 2)

Definition at line 1550 of file mep-tdep.c.

Referenced by mep_analyze_prologue().

◆ ADD3_16_REG_SRC1

#define ADD3_16_REG_SRC1 ( i)    (FIELD (i, 20, 4)) /* n */

Definition at line 1538 of file mep-tdep.c.

◆ ADD3_16_REG_SRC2

#define ADD3_16_REG_SRC2 ( i)    (FIELD (i, 24, 4)) /* m */

Definition at line 1539 of file mep-tdep.c.

◆ ADD3_16_TARGET

#define ADD3_16_TARGET ( i)    (FIELD (i, 24, 4))

Definition at line 1549 of file mep-tdep.c.

Referenced by mep_analyze_prologue().

◆ ADD3_32_OFFSET

#define ADD3_32_OFFSET ( i)    (SFIELD (i, 0, 16))

Definition at line 1545 of file mep-tdep.c.

Referenced by mep_analyze_prologue().

◆ ADD3_32_SOURCE

#define ADD3_32_SOURCE ( i)    (FIELD (i, 20, 4))

Definition at line 1544 of file mep-tdep.c.

Referenced by mep_analyze_prologue().

◆ ADD3_32_TARGET

#define ADD3_32_TARGET ( i)    (FIELD (i, 24, 4))

Definition at line 1543 of file mep-tdep.c.

Referenced by mep_analyze_prologue().

◆ ADD_OFFSET

#define ADD_OFFSET ( i)    (SFIELD (i, 18, 6))

Definition at line 1555 of file mep-tdep.c.

Referenced by mep_analyze_prologue().

◆ ADD_TARGET

#define ADD_TARGET ( i)    (FIELD (i, 24, 4))

Definition at line 1554 of file mep-tdep.c.

Referenced by mep_analyze_prologue().

◆ BRA_DISP

#define BRA_DISP ( i)    (SFIELD (i, 17, 11) << 1)

Definition at line 1576 of file mep-tdep.c.

Referenced by mep_analyze_prologue().

◆ CSR

#define CSR ( name)    MEP_RAW_ ## name ## _REGNUM, MEP_ ## name ## _REGNUM

Definition at line 668 of file mep-tdep.c.

Referenced by mep_init_pseudoregister_maps().

◆ FIELD

#define FIELD ( i,
pos,
len )   (((i) >> (pos)) & ((1 << (len)) - 1))

Definition at line 1498 of file mep-tdep.c.

◆ GDB_CGEN_REMAP_PREFIX

#define GDB_CGEN_REMAP_PREFIX   mep

Definition at line 52 of file mep-tdep.c.

◆ IN_SET

#define IN_SET ( set,
n )    (MEP_FIRST_ ## set ## _REGNUM <= (n) && (n) <= MEP_LAST_ ## set ## _REGNUM)

Definition at line 618 of file mep-tdep.c.

◆ IS_ADD

#define IS_ADD ( i)    (((i) & 0xf0030000) == 0x60000000)

Definition at line 1553 of file mep-tdep.c.

Referenced by mep_analyze_prologue().

◆ IS_ADD3_16

#define IS_ADD3_16 ( i)    (((i) & 0xf0830000) == 0x40000000)

Definition at line 1548 of file mep-tdep.c.

Referenced by mep_analyze_prologue().

◆ IS_ADD3_16_REG

#define IS_ADD3_16_REG ( i)    (((i) & 0xf0000000) == 0x90000000)

Definition at line 1537 of file mep-tdep.c.

◆ IS_ADD3_32

#define IS_ADD3_32 ( i)    (((i) & 0xf00f0000) == 0xc0000000)

Definition at line 1542 of file mep-tdep.c.

Referenced by mep_analyze_prologue().

◆ IS_BRA

#define IS_BRA ( i)    (((i) & 0xf0010000) == 0xb0000000)

Definition at line 1575 of file mep-tdep.c.

Referenced by mep_analyze_prologue().

◆ IS_CCR_REGNUM

#define IS_CCR_REGNUM ( n)    (IN_SET (CCR, (n)))

◆ IS_CR32_REGNUM

#define IS_CR32_REGNUM ( n)    (IN_SET (CR32, (n)))

◆ IS_CR64_REGNUM

#define IS_CR64_REGNUM ( n)    (IN_SET (CR64, (n)))

◆ IS_CR_REGNUM

#define IS_CR_REGNUM ( n)
Value:
#define IS_FP_CR32_REGNUM(n)
Definition mep-tdep.c:628
#define IS_FP_CR64_REGNUM(n)
Definition mep-tdep.c:630
#define IS_CR64_REGNUM(n)
Definition mep-tdep.c:629
#define IS_CR32_REGNUM(n)
Definition mep-tdep.c:627

Definition at line 631 of file mep-tdep.c.

Referenced by mep_register_name(), mep_register_reggroup_p(), and mep_register_type().

◆ IS_CSR_REGNUM

#define IS_CSR_REGNUM ( n)    (IN_SET (CSR, (n)))

◆ IS_FP_CR32_REGNUM

#define IS_FP_CR32_REGNUM ( n)    (IN_SET (FP_CR32, (n)))

◆ IS_FP_CR64_REGNUM

#define IS_FP_CR64_REGNUM ( n)    (IN_SET (FP_CR64, (n)))

◆ IS_GPR_REGNUM

#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().

◆ IS_LDC

#define IS_LDC ( i)    (((i) & 0xf00e0000) == 0x700a0000)

Definition at line 1559 of file mep-tdep.c.

Referenced by mep_analyze_prologue().

◆ IS_LW

#define IS_LW ( i)    (((i) & 0xf00f0000) == 0xc00e0000)

Definition at line 1564 of file mep-tdep.c.

Referenced by mep_analyze_prologue().

◆ IS_MOV

#define IS_MOV ( i)    (((i) & 0xf00f0000) == 0x00000000)

Definition at line 1570 of file mep-tdep.c.

Referenced by mep_analyze_prologue().

◆ IS_PSEUDO_REGNUM

#define IS_PSEUDO_REGNUM ( n)    (IN_SET (PSEUDO, (n)))

Definition at line 636 of file mep-tdep.c.

◆ IS_RAW_CCR_REGNUM

#define IS_RAW_CCR_REGNUM ( n)    (IN_SET (RAW_CCR, (n)))

Definition at line 624 of file mep-tdep.c.

◆ IS_RAW_CR_REGNUM

#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().

◆ IS_RAW_CSR_REGNUM

#define IS_RAW_CSR_REGNUM ( n)    (IN_SET (RAW_CSR, (n)))

Definition at line 622 of file mep-tdep.c.

◆ IS_RAW_REGNUM

#define IS_RAW_REGNUM ( n)    (IN_SET (RAW, (n)))

Definition at line 635 of file mep-tdep.c.

◆ IS_SB

#define IS_SB ( i)    (((i) & 0xf00f0000) == 0xc0080000)

Definition at line 1519 of file mep-tdep.c.

Referenced by mep_analyze_prologue().

◆ IS_SH

#define IS_SH ( i)    (((i) & 0xf00f0000) == 0xc0090000)

Definition at line 1521 of file mep-tdep.c.

Referenced by mep_analyze_prologue().

◆ IS_SW

#define IS_SW ( i)    (((i) & 0xf00f0000) == 0xc00a0000)

Definition at line 1517 of file mep-tdep.c.

Referenced by mep_analyze_prologue().

◆ IS_SW_IMMD

#define IS_SW_IMMD ( i)    (((i) & 0xf0830000) == 0x40020000)

Definition at line 1527 of file mep-tdep.c.

Referenced by mep_analyze_prologue().

◆ IS_SW_REG

#define IS_SW_REG ( i)    (((i) & 0xf00f0000) == 0x000a0000)

Definition at line 1532 of file mep-tdep.c.

Referenced by mep_analyze_prologue().

◆ LDC_IMM

#define LDC_IMM ( i)    ((FIELD (i, 16, 1) << 4) | FIELD (i, 20, 4))

Definition at line 1560 of file mep-tdep.c.

Referenced by mep_analyze_prologue().

◆ LDC_TARGET

#define LDC_TARGET ( i)    (FIELD (i, 24, 4))

Definition at line 1561 of file mep-tdep.c.

Referenced by mep_analyze_prologue().

◆ LW_BASE

#define LW_BASE ( i)    (FIELD (i, 20, 4))

Definition at line 1566 of file mep-tdep.c.

Referenced by mep_analyze_prologue().

◆ LW_OFFSET

#define LW_OFFSET ( i)    (SFIELD (i, 0, 16))

Definition at line 1567 of file mep-tdep.c.

Referenced by mep_analyze_prologue().

◆ LW_TARGET

#define LW_TARGET ( i)    (FIELD (i, 24, 4))

Definition at line 1565 of file mep-tdep.c.

Referenced by mep_analyze_prologue().

◆ MEP_GPR_SIZE

#define MEP_GPR_SIZE   (4) /* Size of a MeP general-purpose register. */

◆ MEP_LP_SIZE

#define MEP_LP_SIZE   (4) /* Size of the LP register. */

Definition at line 643 of file mep-tdep.c.

◆ MEP_PSW_SIZE

#define MEP_PSW_SIZE   (4) /* Size of the PSW register. */

Definition at line 642 of file mep-tdep.c.

◆ MOV_SOURCE

#define MOV_SOURCE ( i)    (FIELD (i, 20, 4))

Definition at line 1572 of file mep-tdep.c.

Referenced by mep_analyze_prologue().

◆ MOV_TARGET

#define MOV_TARGET ( i)    (FIELD (i, 24, 4))

Definition at line 1571 of file mep-tdep.c.

Referenced by mep_analyze_prologue().

◆ NUM_REGS_IN_SET

#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().

◆ SEXT

#define SEXT ( n,
len )   ((((int) (n)) ^ (1 << ((len) - 1))) - (1 << ((len) - 1)))

Definition at line 1495 of file mep-tdep.c.

◆ SFIELD

#define SFIELD ( i,
pos,
len )   (SEXT (FIELD ((i), (pos), (len)), (len)))

Definition at line 1501 of file mep-tdep.c.

◆ SW_IMMD_OFFSET

#define SW_IMMD_OFFSET ( i)    (FIELD (i, 18, 5) << 2)

Definition at line 1529 of file mep-tdep.c.

Referenced by mep_analyze_prologue().

◆ SW_IMMD_SOURCE

#define SW_IMMD_SOURCE ( i)    (FIELD (i, 24, 4))

Definition at line 1528 of file mep-tdep.c.

Referenced by mep_analyze_prologue().

◆ SW_REG_BASE

#define SW_REG_BASE ( i)    (FIELD (i, 20, 4))

Definition at line 1534 of file mep-tdep.c.

Referenced by mep_analyze_prologue().

◆ SW_REG_SOURCE

#define SW_REG_SOURCE ( i)    (FIELD (i, 24, 4))

Definition at line 1533 of file mep-tdep.c.

Referenced by mep_analyze_prologue().

◆ SWBH_32_BASE

#define SWBH_32_BASE ( i)    (FIELD (i, 20, 4))

Definition at line 1522 of file mep-tdep.c.

Referenced by mep_analyze_prologue().

◆ SWBH_32_OFFSET

#define SWBH_32_OFFSET ( i)    (SFIELD (i, 0, 16))

Definition at line 1524 of file mep-tdep.c.

Referenced by mep_analyze_prologue().

◆ SWBH_32_SOURCE

#define SWBH_32_SOURCE ( i)    (FIELD (i, 24, 4))

Definition at line 1523 of file mep-tdep.c.

Referenced by mep_analyze_prologue().

Enumeration Type Documentation

◆ anonymous enum

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

anonymous enum
Enumerator
MEP_FIRST_RAW_REGNUM 
MEP_FIRST_GPR_REGNUM 
MEP_R0_REGNUM 
MEP_R1_REGNUM 
MEP_R2_REGNUM 
MEP_R3_REGNUM 
MEP_R4_REGNUM 
MEP_R5_REGNUM 
MEP_R6_REGNUM 
MEP_R7_REGNUM 
MEP_R8_REGNUM 
MEP_R9_REGNUM 
MEP_R10_REGNUM 
MEP_R11_REGNUM 
MEP_R12_REGNUM 
MEP_FP_REGNUM 
MEP_R13_REGNUM 
MEP_TP_REGNUM 
MEP_R14_REGNUM 
MEP_GP_REGNUM 
MEP_R15_REGNUM 
MEP_SP_REGNUM 
MEP_LAST_GPR_REGNUM 
MEP_FIRST_RAW_CSR_REGNUM 
MEP_RAW_PC_REGNUM 
MEP_RAW_LP_REGNUM 
MEP_RAW_SAR_REGNUM 
MEP_RAW_CSR3_REGNUM 
MEP_RAW_RPB_REGNUM 
MEP_RAW_RPE_REGNUM 
MEP_RAW_RPC_REGNUM 
MEP_RAW_HI_REGNUM 
MEP_RAW_LO_REGNUM 
MEP_RAW_CSR9_REGNUM 
MEP_RAW_CSR10_REGNUM 
MEP_RAW_CSR11_REGNUM 
MEP_RAW_MB0_REGNUM 
MEP_RAW_ME0_REGNUM 
MEP_RAW_MB1_REGNUM 
MEP_RAW_ME1_REGNUM 
MEP_RAW_PSW_REGNUM 
MEP_RAW_ID_REGNUM 
MEP_RAW_TMP_REGNUM 
MEP_RAW_EPC_REGNUM 
MEP_RAW_EXC_REGNUM 
MEP_RAW_CFG_REGNUM 
MEP_RAW_CSR22_REGNUM 
MEP_RAW_NPC_REGNUM 
MEP_RAW_DBG_REGNUM 
MEP_RAW_DEPC_REGNUM 
MEP_RAW_OPT_REGNUM 
MEP_RAW_RCFG_REGNUM 
MEP_RAW_CCFG_REGNUM 
MEP_RAW_CSR29_REGNUM 
MEP_RAW_CSR30_REGNUM 
MEP_RAW_CSR31_REGNUM 
MEP_LAST_RAW_CSR_REGNUM 
MEP_FIRST_RAW_CR_REGNUM 
MEP_LAST_RAW_CR_REGNUM 
MEP_FIRST_RAW_CCR_REGNUM 
MEP_LAST_RAW_CCR_REGNUM 
MEP_MODULE_REGNUM 
MEP_LAST_RAW_REGNUM 
MEP_NUM_RAW_REGS 
MEP_FIRST_PSEUDO_REGNUM 
MEP_FIRST_CSR_REGNUM 
MEP_PC_REGNUM 
MEP_LP_REGNUM 
MEP_SAR_REGNUM 
MEP_CSR3_REGNUM 
MEP_RPB_REGNUM 
MEP_RPE_REGNUM 
MEP_RPC_REGNUM 
MEP_HI_REGNUM 
MEP_LO_REGNUM 
MEP_CSR9_REGNUM 
MEP_CSR10_REGNUM 
MEP_CSR11_REGNUM 
MEP_MB0_REGNUM 
MEP_ME0_REGNUM 
MEP_MB1_REGNUM 
MEP_ME1_REGNUM 
MEP_PSW_REGNUM 
MEP_ID_REGNUM 
MEP_TMP_REGNUM 
MEP_EPC_REGNUM 
MEP_EXC_REGNUM 
MEP_CFG_REGNUM 
MEP_CSR22_REGNUM 
MEP_NPC_REGNUM 
MEP_DBG_REGNUM 
MEP_DEPC_REGNUM 
MEP_OPT_REGNUM 
MEP_RCFG_REGNUM 
MEP_CCFG_REGNUM 
MEP_CSR29_REGNUM 
MEP_CSR30_REGNUM 
MEP_CSR31_REGNUM 
MEP_LAST_CSR_REGNUM 
MEP_FIRST_CR32_REGNUM 
MEP_LAST_CR32_REGNUM 
MEP_FIRST_FP_CR32_REGNUM 
MEP_LAST_FP_CR32_REGNUM 
MEP_FIRST_CR64_REGNUM 
MEP_LAST_CR64_REGNUM 
MEP_FIRST_FP_CR64_REGNUM 
MEP_LAST_FP_CR64_REGNUM 
MEP_FIRST_CCR_REGNUM 
MEP_LAST_CCR_REGNUM 
MEP_LAST_PSEUDO_REGNUM 
MEP_NUM_PSEUDO_REGS 
MEP_NUM_REGS 

Definition at line 467 of file mep-tdep.c.

Function Documentation

◆ _initialize_mep_tdep()

void _initialize_mep_tdep ( )

◆ BP_MANIPULATION()

typedef BP_MANIPULATION ( mep_break_insn )

◆ check_for_saved()

static void check_for_saved ( void * result_untyped,
pv_t addr,
CORE_ADDR size,
pv_t value )
static

◆ current_ccr_names()

static CGEN_KEYWORD * current_ccr_names ( void )
static

◆ current_cop_data_bus_width()

static int current_cop_data_bus_width ( void )
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().

◆ current_cr_is_float()

static int current_cr_is_float ( void )
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().

◆ current_cr_names()

static CGEN_KEYWORD * current_cr_names ( void )
static

◆ current_me_module()

static CONFIG_ATTR current_me_module ( void )
static

◆ current_options()

static unsigned int current_options ( void )
static

◆ find_hw_entry_by_prefix_and_isa()

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

Definition at line 159 of file mep-tdep.c.

References CGEN_HW_ENTRY, and prefix.

Referenced by me_module_register_set().

◆ find_hw_entry_by_type()

static const CGEN_HW_ENTRY * find_hw_entry_by_type ( CGEN_CPU_DESC desc,
CGEN_HW_TYPE type )
static

Definition at line 189 of file mep-tdep.c.

References CGEN_HW_ENTRY.

Referenced by me_module_register_set().

◆ is_arg_reg()

static int is_arg_reg ( pv_t value)
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().

◆ is_arg_spill()

static int is_arg_spill ( struct gdbarch * gdbarch,
pv_t value,
pv_t addr,
struct pv_area * stack )
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().

◆ me_module_big_endian()

static int me_module_big_endian ( CONFIG_ATTR me_module)
static

Definition at line 417 of file mep-tdep.c.

Referenced by mep_gdbarch_init().

◆ me_module_cop_data_bus_width()

static int me_module_cop_data_bus_width ( CONFIG_ATTR me_module)
static

Definition at line 405 of file mep-tdep.c.

Referenced by current_cop_data_bus_width().

◆ me_module_name()

static const char * me_module_name ( CONFIG_ATTR me_module)
static

Definition at line 425 of file mep-tdep.c.

References name.

Referenced by mep_gdbarch_init().

◆ me_module_opt()

static unsigned int me_module_opt ( CONFIG_ATTR me_module)
static

Definition at line 396 of file mep-tdep.c.

References opt_from_option_mask().

Referenced by current_options().

◆ me_module_register_set()

static const CGEN_HW_ENTRY * me_module_register_set ( CONFIG_ATTR me_module,
const char * prefix,
CGEN_HW_TYPE generic_type )
static

◆ mep_analyze_prologue()

static void mep_analyze_prologue ( struct gdbarch * gdbarch,
CORE_ADDR start_pc,
CORE_ADDR limit_pc,
struct mep_prologue * result )
static

◆ mep_debug_reg_to_regnum()

static int mep_debug_reg_to_regnum ( struct gdbarch * gdbarch,
int debug_reg )
static

Definition at line 788 of file mep-tdep.c.

References mep_raw_to_pseudo.

Referenced by mep_gdbarch_init().

◆ mep_extract_return_value()

static void mep_extract_return_value ( struct gdbarch * arch,
struct type * type,
struct regcache * regcache,
gdb_byte * valbuf )
static

◆ mep_frame_align()

static CORE_ADDR mep_frame_align ( struct gdbarch * gdbarch,
CORE_ADDR sp )
static

Definition at line 2190 of file mep-tdep.c.

Referenced by mep_gdbarch_init().

◆ mep_frame_base()

static CORE_ADDR mep_frame_base ( frame_info_ptr this_frame,
void ** this_prologue_cache )
static

◆ mep_frame_prev_register()

static struct value * mep_frame_prev_register ( frame_info_ptr this_frame,
void ** this_prologue_cache,
int regnum )
static

◆ mep_frame_this_id()

static void mep_frame_this_id ( frame_info_ptr this_frame,
void ** this_prologue_cache,
struct frame_id * this_id )
static

Definition at line 1974 of file mep-tdep.c.

References frame_id_build(), get_frame_func(), and mep_frame_base().

◆ mep_gdb_print_insn()

static int mep_gdb_print_insn ( bfd_vma pc,
disassemble_info * info )
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().

◆ mep_gdbarch_init()

static struct gdbarch * mep_gdbarch_init ( struct gdbarch_info info,
struct gdbarch_list * arches )
static

◆ mep_get_insn()

static CORE_ADDR mep_get_insn ( struct gdbarch * gdbarch,
CORE_ADDR pc,
unsigned long * insn )
static

◆ mep_init_pseudoregister_maps()

static void mep_init_pseudoregister_maps ( void )
static

◆ mep_pc_in_vliw_section()

static int mep_pc_in_vliw_section ( CORE_ADDR pc)
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().

◆ mep_pseudo_cr32_read()

static enum register_status mep_pseudo_cr32_read ( struct gdbarch * gdbarch,
readable_regcache * regcache,
int cookednum,
gdb_byte * buf )
static

◆ mep_pseudo_cr32_write()

static void mep_pseudo_cr32_write ( struct gdbarch * gdbarch,
struct regcache * regcache,
int cookednum,
const gdb_byte * buf )
static

◆ mep_pseudo_cr64_read()

static enum register_status mep_pseudo_cr64_read ( struct gdbarch * gdbarch,
readable_regcache * regcache,
int cookednum,
gdb_byte * buf )
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().

◆ mep_pseudo_cr64_write()

static void mep_pseudo_cr64_write ( struct gdbarch * gdbarch,
struct regcache * regcache,
int cookednum,
const gdb_byte * buf )
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().

◆ mep_pseudo_cr_index()

static int mep_pseudo_cr_index ( int pseudo)
static

◆ mep_pseudo_cr_is_float()

static int mep_pseudo_cr_is_float ( int pseudo)
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().

◆ mep_pseudo_cr_size()

static int mep_pseudo_cr_size ( int pseudo)
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().

◆ mep_pseudo_csr_write()

static void mep_pseudo_csr_write ( struct gdbarch * gdbarch,
struct regcache * regcache,
int cookednum,
const gdb_byte * buf )
static

◆ mep_pseudo_register_read()

static enum register_status mep_pseudo_register_read ( struct gdbarch * gdbarch,
readable_regcache * regcache,
int cookednum,
gdb_byte * buf )
static

◆ mep_pseudo_register_write()

static void mep_pseudo_register_write ( struct gdbarch * gdbarch,
struct regcache * regcache,
int cookednum,
const gdb_byte * buf )
static

◆ mep_push_dummy_call()

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

◆ mep_register_name()

static const char * mep_register_name ( struct gdbarch * gdbarch,
int regnr )
static

◆ mep_register_reggroup_p()

static int mep_register_reggroup_p ( struct gdbarch * gdbarch,
int regnum,
const struct reggroup * group )
static

◆ mep_register_type()

static struct type * mep_register_type ( struct gdbarch * gdbarch,
int reg_nr )
static

◆ mep_return_value()

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

◆ mep_skip_prologue()

static CORE_ADDR mep_skip_prologue ( struct gdbarch * gdbarch,
CORE_ADDR pc )
static

◆ mep_store_return_value()

static void mep_store_return_value ( struct gdbarch * arch,
struct type * type,
struct regcache * regcache,
const gdb_byte * valbuf )
static

◆ mep_use_struct_convention()

static int mep_use_struct_convention ( struct type * type)
static

Definition at line 2079 of file mep-tdep.c.

References type::length(), and MEP_GPR_SIZE.

Referenced by mep_return_value().

◆ opt_from_option_mask()

static unsigned int opt_from_option_mask ( unsigned int option_mask)
static

◆ push_large_arguments()

static CORE_ADDR push_large_arguments ( CORE_ADDR sp,
int argc,
struct value ** argv,
CORE_ADDR copy[] )
static

Definition at line 2227 of file mep-tdep.c.

References MEP_GPR_SIZE, and write_memory().

Referenced by mep_push_dummy_call().

◆ register_name_from_keyword()

static const char * register_name_from_keyword ( CGEN_KEYWORD * keyword_table,
int regnum )
static

Definition at line 313 of file mep-tdep.c.

References name, and regnum.

Referenced by mep_register_name().

◆ register_set_keyword_table()

static CGEN_KEYWORD * register_set_keyword_table ( const CGEN_HW_ENTRY * hw)
static

Definition at line 295 of file mep-tdep.c.

Referenced by current_ccr_names(), and current_cr_names().

Variable Documentation

◆ mep_break_insn

constexpr gdb_byte mep_break_insn[] = { 0x70, 0x32 }
constexpr

Definition at line 1907 of file mep-tdep.c.

◆ mep_ccr_reggroup

const reggroup* mep_ccr_reggroup
static

Definition at line 1029 of file mep-tdep.c.

Referenced by _initialize_mep_tdep(), mep_gdbarch_init(), and mep_register_reggroup_p().

◆ mep_cr_reggroup

const reggroup* mep_cr_reggroup
static

Definition at line 1028 of file mep-tdep.c.

Referenced by _initialize_mep_tdep(), mep_gdbarch_init(), and mep_register_reggroup_p().

◆ mep_csr_reggroup

const reggroup* mep_csr_reggroup
static

Definition at line 1027 of file mep-tdep.c.

Referenced by _initialize_mep_tdep(), mep_gdbarch_init(), and mep_register_reggroup_p().

◆ mep_csr_registers

mep_csr_register mep_csr_registers[]
static

Definition at line 669 of file mep-tdep.c.

Referenced by mep_init_pseudoregister_maps(), and mep_pseudo_csr_write().

◆ mep_frame_unwind

const struct frame_unwind mep_frame_unwind
static
Initial value:
= {
"mep prologue",
NULL,
}
int default_frame_sniffer(const struct frame_unwind *self, frame_info_ptr this_frame, void **this_prologue_cache)
enum unwind_stop_reason default_frame_unwind_stop_reason(frame_info_ptr this_frame, void **this_cache)
@ NORMAL_FRAME
Definition frame.h:187
static struct value * mep_frame_prev_register(frame_info_ptr this_frame, void **this_prologue_cache, int regnum)
Definition mep-tdep.c:1984
static void mep_frame_this_id(frame_info_ptr this_frame, void **this_prologue_cache, struct frame_id *this_id)
Definition mep-tdep.c:1974

Definition at line 2064 of file mep-tdep.c.

Referenced by mep_gdbarch_init().

◆ mep_pseudo_to_raw

int mep_pseudo_to_raw[MEP_NUM_REGS]
static

◆ mep_raw_to_pseudo

int mep_raw_to_pseudo[MEP_NUM_REGS]
static

Definition at line 708 of file mep-tdep.c.

Referenced by mep_debug_reg_to_regnum(), and mep_init_pseudoregister_maps().