GDB (xrefs)
Loading...
Searching...
No Matches
Classes | Macros | Enumerations | Functions | Variables
nds32-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 "gdbcore.h"
#include "value.h"
#include "reggroups.h"
#include "inferior.h"
#include "osabi.h"
#include "arch-utils.h"
#include "regcache.h"
#include "dis-asm.h"
#include "user-regs.h"
#include "elf-bfd.h"
#include "dwarf2/frame.h"
#include "remote.h"
#include "target-descriptions.h"
#include "nds32-tdep.h"
#include "elf/nds32.h"
#include "opcode/nds32.h"
#include <algorithm>
#include "features/nds32.c"

Go to the source code of this file.

Classes

struct  nds32_frame_cache
 

Macros

#define CHOP_BITS(insn, n)   (insn & ~__MASK (n))
 
#define N32_LSMW_ENABLE4(insn)   (((insn) >> 6) & 0xf)
 
#define N32_SMW_ADM    N32_TYPE4 (LSMW, 0, 0, 0, 1, (N32_LSMW_ADM << 2) | N32_LSMW_LSMW)
 
#define N32_LMW_BIM    N32_TYPE4 (LSMW, 0, 0, 0, 0, (N32_LSMW_BIM << 2) | N32_LSMW_LSMW)
 
#define N32_FLDI_SP    N32_TYPE2 (LDC, 0, REG_SP, 0)
 
#define NDS32_NUM_SAVED_REGS   (NDS32_LP_REGNUM + 1)
 

Enumerations

enum  { REG_UNAVAIL = (CORE_ADDR) -1 }
 
enum  { INVALID_OFFSET = (CORE_ADDR) -1 }
 
enum  {
  INSN_NORMAL , INSN_RESET_SP , INSN_RECOVER , INSN_RETURN ,
  INSN_RECOVER_RETURN
}
 

Functions

static struct valuevalue_of_nds32_reg (frame_info_ptr frame, const void *baton)
 
static CORE_ADDR nds32_frame_align (struct gdbarch *gdbarch, CORE_ADDR sp)
 
typedef BP_MANIPULATION (nds32_break_insn)
 
static void nds32_init_reggroups (void)
 
static void nds32_add_reggroups (struct gdbarch *gdbarch)
 
static int nds32_register_reggroup_p (struct gdbarch *gdbarch, int regnum, const struct reggroup *reggroup)
 
static struct typends32_pseudo_register_type (struct gdbarch *gdbarch, int regnum)
 
static const char * nds32_pseudo_register_name (struct gdbarch *gdbarch, int regnum)
 
static enum register_status nds32_pseudo_register_read (struct gdbarch *gdbarch, readable_regcache *regcache, int regnum, gdb_byte *buf)
 
static void nds32_pseudo_register_write (struct gdbarch *gdbarch, struct regcache *regcache, int regnum, const gdb_byte *buf)
 
static int nds32_abi_use_fpr (int elf_abi)
 
static int nds32_abi_split (int elf_abi)
 
static struct nds32_frame_cachends32_alloc_frame_cache (void)
 
static void nds32_push_multiple_words (struct nds32_frame_cache *cache, int rb, int re, int enable4)
 
static CORE_ADDR nds32_analyze_prologue (struct gdbarch *gdbarch, CORE_ADDR pc, CORE_ADDR limit_pc, struct nds32_frame_cache *cache)
 
static CORE_ADDR nds32_skip_prologue (struct gdbarch *gdbarch, CORE_ADDR pc)
 
static struct nds32_frame_cache * nds32_frame_cache (frame_info_ptr this_frame, void **this_cache)
 
static void nds32_frame_this_id (frame_info_ptr this_frame, void **this_cache, struct frame_id *this_id)
 
static struct valuends32_frame_prev_register (frame_info_ptr this_frame, void **this_cache, int regnum)
 
static CORE_ADDR nds32_frame_base_address (frame_info_ptr this_frame, void **this_cache)
 
static void nds32_pop_multiple_words (struct nds32_frame_cache *cache, int rb, int re, int enable4)
 
static int nds32_analyze_epilogue_insn32 (int abi_use_fpr, uint32_t insn, struct nds32_frame_cache *cache)
 
static int nds32_analyze_epilogue_insn16 (uint32_t insn, struct nds32_frame_cache *cache)
 
static int nds32_analyze_epilogue (struct gdbarch *gdbarch, CORE_ADDR pc, struct nds32_frame_cache *cache)
 
static int nds32_stack_frame_destroyed_p (struct gdbarch *gdbarch, CORE_ADDR addr)
 
static int nds32_epilogue_frame_sniffer (const struct frame_unwind *self, frame_info_ptr this_frame, void **this_cache)
 
static struct nds32_frame_cachends32_epilogue_frame_cache (frame_info_ptr this_frame, void **this_cache)
 
static void nds32_epilogue_frame_this_id (frame_info_ptr this_frame, void **this_cache, struct frame_id *this_id)
 
static struct valuends32_epilogue_frame_prev_register (frame_info_ptr this_frame, void **this_cache, int regnum)
 
static int nds32_check_calling_use_fpr (struct type *type)
 
static CORE_ADDR nds32_push_dummy_call (struct gdbarch *gdbarch, struct value *function, struct regcache *regcache, CORE_ADDR bp_addr, int nargs, struct value **args, CORE_ADDR sp, function_call_return_method return_method, CORE_ADDR struct_addr)
 
static void nds32_extract_return_value (struct gdbarch *gdbarch, struct type *type, struct regcache *regcache, gdb_byte *valbuf)
 
static void nds32_store_return_value (struct gdbarch *gdbarch, struct type *type, struct regcache *regcache, const gdb_byte *valbuf)
 
static enum return_value_convention nds32_return_value (struct gdbarch *gdbarch, struct value *func_type, struct type *type, struct regcache *regcache, gdb_byte *readbuf, const gdb_byte *writebuf)
 
static int nds32_get_longjmp_target (frame_info_ptr frame, CORE_ADDR *pc)
 
static int nds32_validate_tdesc_p (const struct target_desc *tdesc, struct tdesc_arch_data *tdesc_data, int *fpu_freg, int *use_pseudo_fsrs)
 
static struct gdbarchnds32_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
 
void _initialize_nds32_tdep ()
 

Variables

static const char *const nds32_register_names []
 
static const char *const nds32_fdr_register_names []
 
static const char *const nds32_fsr_register_names []
 
const int num_fdr_map [] = { 4, 8, 16, 32 }
 
const int num_fsr_map [] = { 8, 16, 32, 32 }
 
struct { 
 
   const char *   name 
 
   const char *   alias 
 
nds32_register_aliases [] 
 
constexpr gdb_byte nds32_break_insn [] = { 0xEA, 0x00 }
 
static const reggroupnds32_cr_reggroup
 
static const reggroupnds32_ir_reggroup
 
static const reggroupnds32_mr_reggroup
 
static const reggroupnds32_dr_reggroup
 
static const reggroupnds32_pfr_reggroup
 
static const reggroupnds32_hspr_reggroup
 
static const reggroupnds32_dmar_reggroup
 
static const reggroupnds32_racr_reggroup
 
static const reggroupnds32_idr_reggroup
 
static const reggroupnds32_secur_reggroup
 
static const struct frame_unwind nds32_frame_unwind
 
static const struct frame_base nds32_frame_base
 
static const struct frame_unwind nds32_epilogue_frame_unwind
 

Macro Definition Documentation

◆ CHOP_BITS

#define CHOP_BITS ( insn,
n )   (insn & ~__MASK (n))

◆ N32_FLDI_SP

#define N32_FLDI_SP    N32_TYPE2 (LDC, 0, REG_SP, 0)

Definition at line 55 of file nds32-tdep.c.

Referenced by nds32_analyze_epilogue_insn32().

◆ N32_LMW_BIM

#define N32_LMW_BIM    N32_TYPE4 (LSMW, 0, 0, 0, 0, (N32_LSMW_BIM << 2) | N32_LSMW_LSMW)

Definition at line 53 of file nds32-tdep.c.

Referenced by nds32_analyze_epilogue_insn32().

◆ N32_LSMW_ENABLE4

#define N32_LSMW_ENABLE4 ( insn)    (((insn) >> 6) & 0xf)

Definition at line 50 of file nds32-tdep.c.

Referenced by nds32_analyze_epilogue_insn32(), and nds32_analyze_prologue().

◆ N32_SMW_ADM

#define N32_SMW_ADM    N32_TYPE4 (LSMW, 0, 0, 0, 1, (N32_LSMW_ADM << 2) | N32_LSMW_LSMW)

Definition at line 51 of file nds32-tdep.c.

Referenced by nds32_analyze_prologue().

◆ NDS32_NUM_SAVED_REGS

#define NDS32_NUM_SAVED_REGS   (NDS32_LP_REGNUM + 1)

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
REG_UNAVAIL 

Definition at line 59 of file nds32-tdep.c.

◆ anonymous enum

anonymous enum
Enumerator
INVALID_OFFSET 

Definition at line 62 of file nds32-tdep.c.

◆ anonymous enum

anonymous enum
Enumerator
INSN_NORMAL 
INSN_RESET_SP 
INSN_RECOVER 
INSN_RETURN 
INSN_RECOVER_RETURN 

Definition at line 65 of file nds32-tdep.c.

Function Documentation

◆ _initialize_nds32_tdep()

void _initialize_nds32_tdep ( )

◆ BP_MANIPULATION()

typedef BP_MANIPULATION ( nds32_break_insn )

Definition at line 285 of file nds32-tdep.c.

References nds32_gdbarch_tdep::fs0_regnum, and NDS32_FD0_REGNUM.

◆ nds32_abi_split()

static int nds32_abi_split ( int elf_abi)
static

Definition at line 517 of file nds32-tdep.c.

Referenced by nds32_push_dummy_call().

◆ nds32_abi_use_fpr()

static int nds32_abi_use_fpr ( int elf_abi)
static

◆ nds32_add_reggroups()

static void nds32_add_reggroups ( struct gdbarch * gdbarch)
static

◆ nds32_alloc_frame_cache()

static struct nds32_frame_cache * nds32_alloc_frame_cache ( void )
static

◆ nds32_analyze_epilogue()

static int nds32_analyze_epilogue ( struct gdbarch * gdbarch,
CORE_ADDR pc,
struct nds32_frame_cache * cache )
static

◆ nds32_analyze_epilogue_insn16()

static int nds32_analyze_epilogue_insn16 ( uint32_t insn,
struct nds32_frame_cache * cache )
inlinestatic

◆ nds32_analyze_epilogue_insn32()

static int nds32_analyze_epilogue_insn32 ( int abi_use_fpr,
uint32_t insn,
struct nds32_frame_cache * cache )
inlinestatic

◆ nds32_analyze_prologue()

static CORE_ADDR nds32_analyze_prologue ( struct gdbarch * gdbarch,
CORE_ADDR pc,
CORE_ADDR limit_pc,
struct nds32_frame_cache * cache )
static

◆ nds32_check_calling_use_fpr()

static int nds32_check_calling_use_fpr ( struct type * type)
static

◆ nds32_epilogue_frame_cache()

static struct nds32_frame_cache * nds32_epilogue_frame_cache ( frame_info_ptr this_frame,
void ** this_cache )
static

◆ nds32_epilogue_frame_prev_register()

static struct value * nds32_epilogue_frame_prev_register ( frame_info_ptr this_frame,
void ** this_cache,
int regnum )
static

◆ nds32_epilogue_frame_sniffer()

static int nds32_epilogue_frame_sniffer ( const struct frame_unwind * self,
frame_info_ptr this_frame,
void ** this_cache )
static

◆ nds32_epilogue_frame_this_id()

static void nds32_epilogue_frame_this_id ( frame_info_ptr this_frame,
void ** this_cache,
struct frame_id * this_id )
static

◆ nds32_extract_return_value()

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

◆ nds32_frame_align()

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

Definition at line 276 of file nds32-tdep.c.

Referenced by nds32_gdbarch_init().

◆ nds32_frame_base_address()

static CORE_ADDR nds32_frame_base_address ( frame_info_ptr this_frame,
void ** this_cache )
static

Definition at line 1004 of file nds32-tdep.c.

References nds32_frame_cache::base, and nds32_frame_cache().

◆ nds32_frame_cache()

static struct nds32_frame_cache * nds32_frame_cache ( frame_info_ptr this_frame,
void ** this_cache )
static

◆ nds32_frame_prev_register()

static struct value * nds32_frame_prev_register ( frame_info_ptr this_frame,
void ** this_cache,
int regnum )
static

◆ nds32_frame_this_id()

static void nds32_frame_this_id ( frame_info_ptr this_frame,
void ** this_cache,
struct frame_id * this_id )
static

◆ nds32_gdbarch_init()

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

Definition at line 1944 of file nds32-tdep.c.

References alias, arches, core_addr_lessthan(), dwarf2_append_unwinders(), nds32_gdbarch_tdep::elf_abi, nds32_gdbarch_tdep::fpu_freg, frame_base_set_default(), frame_unwind_append_unwinder(), nds32_gdbarch_tdep::fs0_regnum, gdbarch_list::gdbarch, gdbarch_alloc(), gdbarch_init_osabi(), gdbarch_list_lookup_by_info(), gdbarch_num_cooked_regs(), gdbarch_register_name(), registry< T >::get(), name, nds32_add_reggroups(), nds32_epilogue_frame_unwind, nds32_frame_align(), nds32_frame_base, nds32_frame_unwind, nds32_get_longjmp_target(), NDS32_NUM_REGS, NDS32_PC_REGNUM, nds32_pseudo_register_name(), nds32_pseudo_register_read(), nds32_pseudo_register_type(), nds32_pseudo_register_write(), nds32_push_dummy_call(), nds32_register_aliases, nds32_register_reggroup_p(), nds32_return_value(), nds32_skip_prologue(), NDS32_SP_REGNUM, nds32_stack_frame_destroyed_p(), nds32_validate_tdesc_p(), gdbarch_list::next, num_fdr_map, num_fsr_map, regnum, set_gdbarch_breakpoint_kind_from_pc(), set_gdbarch_dwarf2_reg_to_regnum(), set_gdbarch_frame_align(), set_gdbarch_get_longjmp_target(), set_gdbarch_inner_than(), set_gdbarch_num_pseudo_regs(), set_gdbarch_num_regs(), set_gdbarch_pc_regnum(), set_gdbarch_pseudo_register_read(), set_gdbarch_pseudo_register_write(), set_gdbarch_push_dummy_call(), set_gdbarch_register_reggroup_p(), set_gdbarch_return_value(), set_gdbarch_skip_prologue(), set_gdbarch_sp_regnum(), set_gdbarch_stack_frame_destroyed_p(), set_gdbarch_sw_breakpoint_from_kind(), set_gdbarch_wchar_bit(), set_gdbarch_wchar_signed(), set_tdesc_pseudo_register_name(), set_tdesc_pseudo_register_type(), tdesc_data, tdesc_data_alloc(), tdesc_has_registers(), tdesc_nds32, tdesc_use_registers(), nds32_gdbarch_tdep::use_pseudo_fsrs, user_reg_add(), user_reg_map_name_to_regnum(), and value_of_nds32_reg().

Referenced by _initialize_nds32_tdep().

◆ nds32_get_longjmp_target()

static int nds32_get_longjmp_target ( frame_info_ptr frame,
CORE_ADDR * pc )
static

◆ nds32_init_reggroups()

static void nds32_init_reggroups ( void )
static

◆ nds32_pop_multiple_words()

static void nds32_pop_multiple_words ( struct nds32_frame_cache * cache,
int rb,
int re,
int enable4 )
static

◆ nds32_pseudo_register_name()

static const char * nds32_pseudo_register_name ( struct gdbarch * gdbarch,
int regnum )
static

◆ nds32_pseudo_register_read()

static enum register_status nds32_pseudo_register_read ( struct gdbarch * gdbarch,
readable_regcache * regcache,
int regnum,
gdb_byte * buf )
static

◆ nds32_pseudo_register_type()

static struct type * nds32_pseudo_register_type ( struct gdbarch * gdbarch,
int regnum )
static

◆ nds32_pseudo_register_write()

static void nds32_pseudo_register_write ( struct gdbarch * gdbarch,
struct regcache * regcache,
int regnum,
const gdb_byte * buf )
static

◆ nds32_push_dummy_call()

static CORE_ADDR nds32_push_dummy_call ( struct gdbarch * gdbarch,
struct value * function,
struct regcache * regcache,
CORE_ADDR bp_addr,
int nargs,
struct value ** args,
CORE_ADDR sp,
function_call_return_method return_method,
CORE_ADDR struct_addr )
static

◆ nds32_push_multiple_words()

static void nds32_push_multiple_words ( struct nds32_frame_cache * cache,
int rb,
int re,
int enable4 )
static

◆ nds32_register_reggroup_p()

static int nds32_register_reggroup_p ( struct gdbarch * gdbarch,
int regnum,
const struct reggroup * reggroup )
static

◆ nds32_return_value()

static enum return_value_convention nds32_return_value ( struct gdbarch * gdbarch,
struct value * func_type,
struct type * type,
struct regcache * regcache,
gdb_byte * readbuf,
const gdb_byte * writebuf )
static

◆ nds32_skip_prologue()

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

◆ nds32_stack_frame_destroyed_p()

static int nds32_stack_frame_destroyed_p ( struct gdbarch * gdbarch,
CORE_ADDR addr )
static

◆ nds32_store_return_value()

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

◆ nds32_validate_tdesc_p()

static int nds32_validate_tdesc_p ( const struct target_desc * tdesc,
struct tdesc_arch_data * tdesc_data,
int * fpu_freg,
int * use_pseudo_fsrs )
static

◆ value_of_nds32_reg()

static struct value * value_of_nds32_reg ( frame_info_ptr frame,
const void * baton )
static

Definition at line 268 of file nds32-tdep.c.

References value_of_register().

Referenced by nds32_gdbarch_init().

Variable Documentation

◆ alias

const char* alias

◆ name

const char* name

Definition at line 113 of file nds32-tdep.c.

Referenced by nds32_gdbarch_init().

◆ nds32_break_insn

constexpr gdb_byte nds32_break_insn[] = { 0xEA, 0x00 }
constexpr

Definition at line 283 of file nds32-tdep.c.

◆ nds32_cr_reggroup

const reggroup* nds32_cr_reggroup
static

Definition at line 317 of file nds32-tdep.c.

Referenced by nds32_add_reggroups(), and nds32_init_reggroups().

◆ nds32_dmar_reggroup

const reggroup* nds32_dmar_reggroup
static

Definition at line 323 of file nds32-tdep.c.

Referenced by nds32_add_reggroups(), and nds32_init_reggroups().

◆ nds32_dr_reggroup

const reggroup* nds32_dr_reggroup
static

Definition at line 320 of file nds32-tdep.c.

Referenced by nds32_add_reggroups(), and nds32_init_reggroups().

◆ nds32_epilogue_frame_unwind

const struct frame_unwind nds32_epilogue_frame_unwind
static
Initial value:
=
{
"nds32 epilogue",
NULL,
}
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 * nds32_epilogue_frame_prev_register(frame_info_ptr this_frame, void **this_cache, int regnum)
static void nds32_epilogue_frame_this_id(frame_info_ptr this_frame, void **this_cache, struct frame_id *this_id)
static int nds32_epilogue_frame_sniffer(const struct frame_unwind *self, frame_info_ptr this_frame, void **this_cache)

Definition at line 1374 of file nds32-tdep.c.

Referenced by nds32_gdbarch_init().

◆ nds32_fdr_register_names

const char* const nds32_fdr_register_names[]
static
Initial value:
=
{
"fd0", "fd1", "fd2", "fd3", "fd4", "fd5", "fd6", "fd7",
"fd8", "fd9", "fd10", "fd11", "fd12", "fd13", "fd14", "fd15",
"fd16", "fd17", "fd18", "fd19", "fd20", "fd21", "fd22", "fd23",
"fd24", "fd25", "fd26", "fd27", "fd28", "fd29", "fd30", "fd31"
}

Definition at line 90 of file nds32-tdep.c.

Referenced by nds32_validate_tdesc_p().

◆ nds32_frame_base

const struct frame_base nds32_frame_base
static
Initial value:
=
{
}
static const struct frame_unwind nds32_frame_unwind
Definition nds32-tdep.c:990
static CORE_ADDR nds32_frame_base_address(frame_info_ptr this_frame, void **this_cache)

Definition at line 1011 of file nds32-tdep.c.

Referenced by nds32_gdbarch_init().

◆ nds32_frame_unwind

const struct frame_unwind nds32_frame_unwind
static
Initial value:
=
{
"nds32 prologue",
NULL,
}
int default_frame_sniffer(const struct frame_unwind *self, frame_info_ptr this_frame, void **this_prologue_cache)
static struct value * nds32_frame_prev_register(frame_info_ptr this_frame, void **this_cache, int regnum)
Definition nds32-tdep.c:970
static void nds32_frame_this_id(frame_info_ptr this_frame, void **this_cache, struct frame_id *this_id)
Definition nds32-tdep.c:955

Definition at line 990 of file nds32-tdep.c.

Referenced by nds32_gdbarch_init().

◆ nds32_fsr_register_names

const char* const nds32_fsr_register_names[]
static
Initial value:
=
{
"fs0", "fs1", "fs2", "fs3", "fs4", "fs5", "fs6", "fs7",
"fs8", "fs9", "fs10", "fs11", "fs12", "fs13", "fs14", "fs15",
"fs16", "fs17", "fs18", "fs19", "fs20", "fs21", "fs22", "fs23",
"fs24", "fs25", "fs26", "fs27", "fs28", "fs29", "fs30", "fs31"
}

Definition at line 98 of file nds32-tdep.c.

Referenced by nds32_pseudo_register_name(), and nds32_validate_tdesc_p().

◆ nds32_hspr_reggroup

const reggroup* nds32_hspr_reggroup
static

Definition at line 322 of file nds32-tdep.c.

Referenced by nds32_add_reggroups(), and nds32_init_reggroups().

◆ nds32_idr_reggroup

const reggroup* nds32_idr_reggroup
static

Definition at line 325 of file nds32-tdep.c.

Referenced by nds32_add_reggroups(), and nds32_init_reggroups().

◆ nds32_ir_reggroup

const reggroup* nds32_ir_reggroup
static

Definition at line 318 of file nds32-tdep.c.

Referenced by nds32_add_reggroups(), and nds32_init_reggroups().

◆ nds32_mr_reggroup

const reggroup* nds32_mr_reggroup
static

Definition at line 319 of file nds32-tdep.c.

Referenced by nds32_add_reggroups(), and nds32_init_reggroups().

◆ nds32_pfr_reggroup

const reggroup* nds32_pfr_reggroup
static

Definition at line 321 of file nds32-tdep.c.

Referenced by nds32_add_reggroups(), and nds32_init_reggroups().

◆ nds32_racr_reggroup

const reggroup* nds32_racr_reggroup
static

Definition at line 324 of file nds32-tdep.c.

Referenced by nds32_add_reggroups(), and nds32_init_reggroups().

◆ [struct]

const struct { ... } nds32_register_aliases[]

Referenced by nds32_gdbarch_init().

◆ nds32_register_names

const char* const nds32_register_names[]
static
Initial value:
=
{
"r0", "r1", "r2", "r3", "r4", "r5", "r6", "r7",
"r8", "r9", "r10", "r11", "r12", "r13", "r14", "r15",
"r16", "r17", "r18", "r19", "r20", "r21", "r22", "r23",
"r24", "r25", "r26", "r27", "fp", "gp", "lp", "sp",
"pc",
}

Definition at line 79 of file nds32-tdep.c.

Referenced by nds32_validate_tdesc_p().

◆ nds32_secur_reggroup

const reggroup* nds32_secur_reggroup
static

Definition at line 326 of file nds32-tdep.c.

Referenced by nds32_add_reggroups(), and nds32_init_reggroups().

◆ num_fdr_map

const int num_fdr_map[] = { 4, 8, 16, 32 }

Definition at line 107 of file nds32-tdep.c.

Referenced by nds32_gdbarch_init(), and nds32_validate_tdesc_p().

◆ num_fsr_map

const int num_fsr_map[] = { 8, 16, 32, 32 }

Definition at line 108 of file nds32-tdep.c.

Referenced by nds32_gdbarch_init(), and nds32_validate_tdesc_p().