GDB (xrefs)
Loading...
Searching...
No Matches
Classes | Macros | Enumerations | Functions | Variables
riscv-tdep.h File Reference
#include "arch/riscv.h"
#include "gdbarch.h"
#include "opcode/riscv-opc.h"

Go to the source code of this file.

Classes

struct  riscv_gdbarch_tdep
 

Macros

#define DECLARE_CSR(name, num, class, define_version, abort_version)    RISCV_ ## num ## _REGNUM = RISCV_FIRST_CSR_REGNUM + num,
 

Enumerations

enum  {
  RISCV_ZERO_REGNUM = 0 , RISCV_RA_REGNUM = 1 , RISCV_SP_REGNUM = 2 , RISCV_GP_REGNUM = 3 ,
  RISCV_TP_REGNUM = 4 , RISCV_FP_REGNUM = 8 , RISCV_A0_REGNUM = 10 , RISCV_A1_REGNUM = 11 ,
  RISCV_A7_REGNUM = 17 , RISCV_PC_REGNUM = 32 , RISCV_NUM_INTEGER_REGS = 32 , RISCV_FIRST_FP_REGNUM = 33 ,
  RISCV_FA0_REGNUM = 43 , RISCV_FA1_REGNUM = RISCV_FA0_REGNUM + 1 , RISCV_LAST_FP_REGNUM = 64 , RISCV_FIRST_CSR_REGNUM = 65 ,
  RISCV_LAST_CSR_REGNUM = 4160 , RISCV_CSR_LEGACY_MISA_REGNUM = 0xf10 + RISCV_FIRST_CSR_REGNUM , RISCV_PRIV_REGNUM = 4161 , RISCV_V0_REGNUM ,
  RISCV_V31_REGNUM = RISCV_V0_REGNUM + 31 , RISCV_LAST_REGNUM = RISCV_V31_REGNUM
}
 
enum  {
  RISCV_DWARF_REGNUM_X0 = 0 , RISCV_DWARF_REGNUM_X31 = 31 , RISCV_DWARF_REGNUM_F0 = 32 , RISCV_DWARF_REGNUM_F31 = 63 ,
  RISCV_DWARF_REGNUM_V0 = 96 , RISCV_DWARF_REGNUM_V31 = 127 , RISCV_DWARF_FIRST_CSR = 4096 , RISCV_DWARF_LAST_CSR = 8191
}
 

Functions

int riscv_isa_xlen (struct gdbarch *gdbarch)
 
int riscv_isa_flen (struct gdbarch *gdbarch)
 
int riscv_abi_xlen (struct gdbarch *gdbarch)
 
int riscv_abi_flen (struct gdbarch *gdbarch)
 
bool riscv_abi_embedded (struct gdbarch *gdbarch)
 
std::vector< CORE_ADDR > riscv_software_single_step (struct regcache *regcache)
 
void riscv_supply_regset (const struct regset *regset, struct regcache *regcache, int regnum, const void *regs, size_t len)
 

Variables

const char * riscv_feature_name_csr
 

Macro Definition Documentation

◆ DECLARE_CSR

#define DECLARE_CSR ( name,
num,
class,
define_version,
abort_version )    RISCV_ ## num ## _REGNUM = RISCV_FIRST_CSR_REGNUM + num,

Definition at line 49 of file riscv-tdep.h.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
RISCV_ZERO_REGNUM 
RISCV_RA_REGNUM 
RISCV_SP_REGNUM 
RISCV_GP_REGNUM 
RISCV_TP_REGNUM 
RISCV_FP_REGNUM 
RISCV_A0_REGNUM 
RISCV_A1_REGNUM 
RISCV_A7_REGNUM 
RISCV_PC_REGNUM 
RISCV_NUM_INTEGER_REGS 
RISCV_FIRST_FP_REGNUM 
RISCV_FA0_REGNUM 
RISCV_FA1_REGNUM 
RISCV_LAST_FP_REGNUM 
RISCV_FIRST_CSR_REGNUM 
RISCV_LAST_CSR_REGNUM 
RISCV_CSR_LEGACY_MISA_REGNUM 
RISCV_PRIV_REGNUM 
RISCV_V0_REGNUM 
RISCV_V31_REGNUM 
RISCV_LAST_REGNUM 

Definition at line 28 of file riscv-tdep.h.

◆ anonymous enum

anonymous enum
Enumerator
RISCV_DWARF_REGNUM_X0 
RISCV_DWARF_REGNUM_X31 
RISCV_DWARF_REGNUM_F0 
RISCV_DWARF_REGNUM_F31 
RISCV_DWARF_REGNUM_V0 
RISCV_DWARF_REGNUM_V31 
RISCV_DWARF_FIRST_CSR 
RISCV_DWARF_LAST_CSR 

Definition at line 66 of file riscv-tdep.h.

Function Documentation

◆ riscv_abi_embedded()

bool riscv_abi_embedded ( struct gdbarch * gdbarch)
extern

◆ riscv_abi_flen()

int riscv_abi_flen ( struct gdbarch * gdbarch)
extern

◆ riscv_abi_xlen()

int riscv_abi_xlen ( struct gdbarch * gdbarch)
extern

◆ riscv_isa_flen()

int riscv_isa_flen ( struct gdbarch * gdbarch)
extern

◆ riscv_isa_xlen()

int riscv_isa_xlen ( struct gdbarch * gdbarch)
extern

◆ riscv_software_single_step()

std::vector< CORE_ADDR > riscv_software_single_step ( struct regcache * regcache)
extern

◆ riscv_supply_regset()

void riscv_supply_regset ( const struct regset * regset,
struct regcache * regcache,
int regnum,
const void * regs,
size_t len )
extern

Variable Documentation

◆ riscv_feature_name_csr

const char* riscv_feature_name_csr
extern

Definition at line 129 of file riscv-tdep.c.

Referenced by riscv_iterate_over_regset_sections().