ETISS 0.8.0
Extendable Translating Instruction Set Simulator (version 0.8.0)
Functions
RV64IMACFDFuncs.c File Reference
#include "RV64IMACFDFuncs.h"
Include dependency graph for RV64IMACFDFuncs.c:

Go to the source code of this file.

Functions

etiss_uint8 RV64IMACFD_extension_enabled (ETISS_CPU *const cpu, ETISS_System *const system, void *const *const plugin_pointers, etiss_int8 extension)
 Generated on Wed, 08 May 2024 17:36:07 +0200. More...
 
etiss_uint8 RV64IMACFD_get_rm (ETISS_CPU *const cpu, ETISS_System *const system, void *const *const plugin_pointers, etiss_uint8 rm)
 
etiss_uint64 RV64IMACFD_sstatus_mask (ETISS_CPU *const cpu, ETISS_System *const system, void *const *const plugin_pointers)
 
etiss_uint64 RV64IMACFD_mstatus_mask (ETISS_CPU *const cpu, ETISS_System *const system, void *const *const plugin_pointers)
 
etiss_uint64 RV64IMACFD_csr_read (ETISS_CPU *const cpu, ETISS_System *const system, void *const *const plugin_pointers, etiss_uint32 csr)
 
void RV64IMACFD_csr_write (ETISS_CPU *const cpu, ETISS_System *const system, void *const *const plugin_pointers, etiss_uint32 csr, etiss_uint64 val)
 
etiss_uint64 RV64IMACFD_get_field (etiss_uint64 reg, etiss_uint64 mask)
 
etiss_uint64 RV64IMACFD_set_field (etiss_uint64 reg, etiss_uint64 mask, etiss_uint64 val)
 
etiss_uint8 RV64IMACFD_ctz (etiss_uint64 val)
 
void RV64IMACFD_raise (ETISS_CPU *const cpu, ETISS_System *const system, void *const *const plugin_pointers, etiss_int32 irq, etiss_uint64 mcause)
 
void RV64IMACFD_translate_exc_code (ETISS_CPU *const cpu, ETISS_System *const system, void *const *const plugin_pointers, etiss_int32 cause)
 
etiss_uint64 RV64IMACFD_calc_irq_mcause (ETISS_CPU *const cpu, ETISS_System *const system, void *const *const plugin_pointers)
 
void RV64IMACFD_check_irq (ETISS_CPU *const cpu, ETISS_System *const system, void *const *const plugin_pointers)
 
etiss_int64 RV64IMACFD_mulh (etiss_int64 x, etiss_int64 y)
 
etiss_int64 RV64IMACFD_mulhsu (etiss_int64 x, etiss_uint64 y)
 
etiss_uint64 RV64IMACFD_mulhu (etiss_uint64 x, etiss_uint64 y)
 

Function Documentation

◆ RV64IMACFD_calc_irq_mcause()

etiss_uint64 RV64IMACFD_calc_irq_mcause ( ETISS_CPU *const  cpu,
ETISS_System *const  system,
void *const *const  plugin_pointers 
)

Definition at line 276 of file RV64IMACFDFuncs.c.

References RV64IMACFD_csr_read(), RV64IMACFD_ctz(), and RV64IMACFD_get_field().

Referenced by RV64IMACFD_check_irq(), and RV64IMACFD_translate_exc_code().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ RV64IMACFD_check_irq()

void RV64IMACFD_check_irq ( ETISS_CPU *const  cpu,
ETISS_System *const  system,
void *const *const  plugin_pointers 
)

Definition at line 339 of file RV64IMACFDFuncs.c.

References RV64IMACFD_calc_irq_mcause(), and RV64IMACFD_raise().

Here is the call graph for this function:

◆ RV64IMACFD_csr_read()

etiss_uint64 RV64IMACFD_csr_read ( ETISS_CPU *const  cpu,
ETISS_System *const  system,
void *const *const  plugin_pointers,
etiss_uint32  csr 
)

Definition at line 62 of file RV64IMACFDFuncs.c.

References etiss_get_cycles(), etiss_get_instret(), and etiss_get_time().

Referenced by RV64IMACFD_calc_irq_mcause(), and RV64IMACFD_raise().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ RV64IMACFD_csr_write()

void RV64IMACFD_csr_write ( ETISS_CPU *const  cpu,
ETISS_System *const  system,
void *const *const  plugin_pointers,
etiss_uint32  csr,
etiss_uint64  val 
)

Definition at line 99 of file RV64IMACFDFuncs.c.

References RV64IMACFD_mstatus_mask(), and RV64IMACFD_sstatus_mask().

Referenced by RV64IMACFD_raise().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ RV64IMACFD_ctz()

etiss_uint8 RV64IMACFD_ctz ( etiss_uint64  val)

Definition at line 140 of file RV64IMACFDFuncs.c.

Referenced by RV64IMACFD_calc_irq_mcause().

Here is the caller graph for this function:

◆ RV64IMACFD_extension_enabled()

etiss_uint8 RV64IMACFD_extension_enabled ( ETISS_CPU *const  cpu,
ETISS_System *const  system,
void *const *const  plugin_pointers,
etiss_int8  extension 
)

Generated on Wed, 08 May 2024 17:36:07 +0200.

This file contains the function implementations for the RV64IMACFD core architecture.

Definition at line 9 of file RV64IMACFDFuncs.c.

Referenced by RV64IMACFD_sstatus_mask().

Here is the caller graph for this function:

◆ RV64IMACFD_get_field()

etiss_uint64 RV64IMACFD_get_field ( etiss_uint64  reg,
etiss_uint64  mask 
)

Definition at line 123 of file RV64IMACFDFuncs.c.

Referenced by RV64IMACFD_calc_irq_mcause(), RV64IMACFD_raise(), and RV64IMACFD_sstatus_mask().

Here is the caller graph for this function:

◆ RV64IMACFD_get_rm()

etiss_uint8 RV64IMACFD_get_rm ( ETISS_CPU *const  cpu,
ETISS_System *const  system,
void *const *const  plugin_pointers,
etiss_uint8  rm 
)

Definition at line 16 of file RV64IMACFDFuncs.c.

References RV64IMACFD_raise().

Here is the call graph for this function:

◆ RV64IMACFD_mstatus_mask()

etiss_uint64 RV64IMACFD_mstatus_mask ( ETISS_CPU *const  cpu,
ETISS_System *const  system,
void *const *const  plugin_pointers 
)

Definition at line 54 of file RV64IMACFDFuncs.c.

References RV64IMACFD_sstatus_mask().

Referenced by RV64IMACFD_csr_write().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ RV64IMACFD_mulh()

etiss_int64 RV64IMACFD_mulh ( etiss_int64  x,
etiss_int64  y 
)

Definition at line 349 of file RV64IMACFDFuncs.c.

References etiss::fault::x.

◆ RV64IMACFD_mulhsu()

etiss_int64 RV64IMACFD_mulhsu ( etiss_int64  x,
etiss_uint64  y 
)

Definition at line 357 of file RV64IMACFDFuncs.c.

References etiss::fault::x.

◆ RV64IMACFD_mulhu()

etiss_uint64 RV64IMACFD_mulhu ( etiss_uint64  x,
etiss_uint64  y 
)

Definition at line 365 of file RV64IMACFDFuncs.c.

References etiss::fault::x.

◆ RV64IMACFD_raise()

void RV64IMACFD_raise ( ETISS_CPU *const  cpu,
ETISS_System *const  system,
void *const *const  plugin_pointers,
etiss_int32  irq,
etiss_uint64  mcause 
)

◆ RV64IMACFD_set_field()

etiss_uint64 RV64IMACFD_set_field ( etiss_uint64  reg,
etiss_uint64  mask,
etiss_uint64  val 
)

Definition at line 133 of file RV64IMACFDFuncs.c.

Referenced by RV64IMACFD_raise().

Here is the caller graph for this function:

◆ RV64IMACFD_sstatus_mask()

etiss_uint64 RV64IMACFD_sstatus_mask ( ETISS_CPU *const  cpu,
ETISS_System *const  system,
void *const *const  plugin_pointers 
)

Definition at line 29 of file RV64IMACFDFuncs.c.

References RV64IMACFD_extension_enabled(), and RV64IMACFD_get_field().

Referenced by RV64IMACFD_csr_write(), and RV64IMACFD_mstatus_mask().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ RV64IMACFD_translate_exc_code()

void RV64IMACFD_translate_exc_code ( ETISS_CPU *const  cpu,
ETISS_System *const  system,
void *const *const  plugin_pointers,
etiss_int32  cause 
)

Definition at line 239 of file RV64IMACFDFuncs.c.

References RV64IMACFD_calc_irq_mcause(), and RV64IMACFD_raise().

Referenced by RV64IMACFDArch::handleException().

Here is the call graph for this function:
Here is the caller graph for this function: