|
ETISS 0.11.2
ExtendableTranslatingInstructionSetSimulator(version0.11.2)
|
#include "RV64IMACFD.h"#include "etiss/jit/CPU.h"#include "etiss/jit/System.h"#include "etiss/jit/ReturnCode.h"#include "etiss/jit/Coverage.h"

Go to the source code of this file.
| etiss_uint64 etiss_get_cycles | ( | ETISS_CPU *const | cpu, |
| ETISS_System *const | system, | ||
| void *const *const | plugin_pointers | ||
| ) |
Definition at line 19 of file CSRCounters.cpp.
| etiss_uint64 etiss_get_instret | ( | ETISS_CPU *const | cpu, |
| ETISS_System *const | system, | ||
| void *const *const | plugin_pointers | ||
| ) |
Definition at line 31 of file CSRCounters.cpp.
| etiss_uint64 etiss_get_time | ( | ) |
Definition at line 24 of file CSRCounters.cpp.
| etiss_int64 etiss_semihost | ( | ETISS_CPU *const | cpu, |
| ETISS_System *const | system, | ||
| void *const *const | plugin_pointers, | ||
| etiss_uint32 | XLEN, | ||
| etiss_uint64 | operation, | ||
| etiss_uint64 | parameter | ||
| ) |
Executes the semihosting call based on the operation number.
For description of all semihosting calls see: https://github.com/ARM-software/abi-aa/blob/main/semihosting/semihosting.rst
Definition at line 56 of file semihost.cpp.
| etiss_uint8 etiss_semihost_enabled | ( | ) |
Checks whether semihosting is enabled in the config.
Definition at line 51 of file semihost.cpp.
| etiss_uint64 fadd_d | ( | etiss_uint64 | v1, |
| etiss_uint64 | v2, | ||
| etiss_uint8 | mode | ||
| ) |
Definition at line 234 of file fp_functions.cpp.
| etiss_uint32 fadd_s | ( | etiss_uint32 | v1, |
| etiss_uint32 | v2, | ||
| etiss_uint8 | mode | ||
| ) |
Definition at line 59 of file fp_functions.cpp.
| etiss_uint64 fclass_d | ( | etiss_uint64 | v1 | ) |
Definition at line 366 of file fp_functions.cpp.
| etiss_uint32 fclass_s | ( | etiss_uint32 | v1 | ) |
Definition at line 183 of file fp_functions.cpp.
| etiss_uint64 fcmp_d | ( | etiss_uint64 | v1, |
| etiss_uint64 | v2, | ||
| etiss_uint32 | op | ||
| ) |
Definition at line 278 of file fp_functions.cpp.
| etiss_uint32 fcmp_s | ( | etiss_uint32 | v1, |
| etiss_uint32 | v2, | ||
| etiss_uint32 | op | ||
| ) |
Definition at line 99 of file fp_functions.cpp.
| etiss_uint32 fconv_d2f | ( | etiss_uint64 | v1, |
| etiss_uint8 | mode | ||
| ) |
Definition at line 212 of file fp_functions.cpp.
| etiss_uint64 fconv_f2d | ( | etiss_uint32 | v1, |
| etiss_uint8 | mode | ||
| ) |
Definition at line 223 of file fp_functions.cpp.
| etiss_uint64 fcvt_32_64 | ( | etiss_uint32 | v1, |
| etiss_uint32 | op, | ||
| etiss_uint8 | mode | ||
| ) |
Definition at line 395 of file fp_functions.cpp.
| etiss_uint32 fcvt_64_32 | ( | etiss_uint64 | v1, |
| etiss_uint32 | op, | ||
| etiss_uint8 | mode | ||
| ) |
Definition at line 414 of file fp_functions.cpp.
| etiss_uint64 fcvt_d | ( | etiss_uint64 | v1, |
| etiss_uint32 | op, | ||
| etiss_uint8 | mode | ||
| ) |
Definition at line 308 of file fp_functions.cpp.
| etiss_uint32 fcvt_s | ( | etiss_uint32 | v1, |
| etiss_uint32 | op, | ||
| etiss_uint8 | mode | ||
| ) |
Definition at line 129 of file fp_functions.cpp.
| etiss_uint64 fdiv_d | ( | etiss_uint64 | v1, |
| etiss_uint64 | v2, | ||
| etiss_uint8 | mode | ||
| ) |
Definition at line 262 of file fp_functions.cpp.
| etiss_uint32 fdiv_s | ( | etiss_uint32 | v1, |
| etiss_uint32 | v2, | ||
| etiss_uint8 | mode | ||
| ) |
Definition at line 83 of file fp_functions.cpp.
| etiss_uint32 fget_flags | ( | ) |
Definition at line 55 of file fp_functions.cpp.
| etiss_uint64 fmadd_d | ( | etiss_uint64 | v1, |
| etiss_uint64 | v2, | ||
| etiss_uint64 | v3, | ||
| etiss_uint32 | op, | ||
| etiss_uint8 | mode | ||
| ) |
Definition at line 331 of file fp_functions.cpp.
| etiss_uint32 fmadd_s | ( | etiss_uint32 | v1, |
| etiss_uint32 | v2, | ||
| etiss_uint32 | v3, | ||
| etiss_uint32 | op, | ||
| etiss_uint8 | mode | ||
| ) |
Definition at line 152 of file fp_functions.cpp.
| etiss_uint64 fmul_d | ( | etiss_uint64 | v1, |
| etiss_uint64 | v2, | ||
| etiss_uint8 | mode | ||
| ) |
Definition at line 254 of file fp_functions.cpp.
| etiss_uint32 fmul_s | ( | etiss_uint32 | v1, |
| etiss_uint32 | v2, | ||
| etiss_uint8 | mode | ||
| ) |
Definition at line 75 of file fp_functions.cpp.
| etiss_uint64 fsel_d | ( | etiss_uint64 | v1, |
| etiss_uint64 | v2, | ||
| etiss_uint32 | op | ||
| ) |
Definition at line 340 of file fp_functions.cpp.
| etiss_uint32 fsel_s | ( | etiss_uint32 | v1, |
| etiss_uint32 | v2, | ||
| etiss_uint32 | op | ||
| ) |
Definition at line 161 of file fp_functions.cpp.
| etiss_uint64 fsqrt_d | ( | etiss_uint64 | v1, |
| etiss_uint8 | mode | ||
| ) |
Definition at line 270 of file fp_functions.cpp.
| etiss_uint32 fsqrt_s | ( | etiss_uint32 | v1, |
| etiss_uint8 | mode | ||
| ) |
Definition at line 91 of file fp_functions.cpp.
| etiss_uint64 fsub_d | ( | etiss_uint64 | v1, |
| etiss_uint64 | v2, | ||
| etiss_uint8 | mode | ||
| ) |
Definition at line 246 of file fp_functions.cpp.
| etiss_uint32 fsub_s | ( | etiss_uint32 | v1, |
| etiss_uint32 | v2, | ||
| etiss_uint8 | mode | ||
| ) |
Definition at line 67 of file fp_functions.cpp.
| void leave | ( | etiss_int32 | priv_lvl | ) |
Generated on Mon, 10 Nov 2025 11:27:24 +0000.
This file contains the function prototypes for the RV64IMACFD core architecture.
| etiss_uint64 RV64IMACFD_calc_irq_mcause | ( | ETISS_CPU *const | cpu, |
| ETISS_System *const | system, | ||
| void *const *const | plugin_pointers | ||
| ) |
Definition at line 489 of file RV64IMACFDFuncs.c.
References etiss_coverage_count, RV64IMACFD_csr_read(), RV64IMACFD_ctz(), and RV64IMACFD_get_field().
Referenced by RV64IMACFD_check_irq(), and RV64IMACFD_translate_exc_code().


| void RV64IMACFD_check_irq | ( | ETISS_CPU *const | cpu, |
| ETISS_System *const | system, | ||
| void *const *const | plugin_pointers | ||
| ) |
Definition at line 601 of file RV64IMACFDFuncs.c.
References etiss_coverage_count, RV64IMACFD_calc_irq_mcause(), and RV64IMACFD_raise().

| etiss_uint64 RV64IMACFD_csr_read | ( | ETISS_CPU *const | cpu, |
| ETISS_System *const | system, | ||
| void *const *const | plugin_pointers, | ||
| etiss_uint32 | csr | ||
| ) |
Definition at line 103 of file RV64IMACFDFuncs.c.
References etiss_coverage_count, etiss_get_cycles(), etiss_get_instret(), and etiss_get_time().
Referenced by RV64IMACFD_calc_irq_mcause(), and RV64IMACFD_raise().


| 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 184 of file RV64IMACFDFuncs.c.
References etiss_coverage_count, RV64IMACFD_mstatus_mask(), and RV64IMACFD_sstatus_mask().
Referenced by RV64IMACFD_raise().


| etiss_uint8 RV64IMACFD_ctz | ( | etiss_uint64 | val | ) |
Definition at line 252 of file RV64IMACFDFuncs.c.
References etiss_coverage_count.
Referenced by RV64IMACFD_calc_irq_mcause().

| etiss_uint8 RV64IMACFD_extension_enabled | ( | ETISS_CPU *const | cpu, |
| ETISS_System *const | system, | ||
| void *const *const | plugin_pointers, | ||
| etiss_int8 | extension | ||
| ) |
Generated on Mon, 10 Nov 2025 11:27:24 +0000.
This file contains the function implementations for the RV64IMACFD core architecture.
Definition at line 10 of file RV64IMACFDFuncs.c.
References etiss_coverage_count.
Referenced by RV64IMACFD_sstatus_mask().

| etiss_uint64 RV64IMACFD_get_field | ( | etiss_uint64 | reg, |
| etiss_uint64 | mask | ||
| ) |
Definition at line 223 of file RV64IMACFDFuncs.c.
References etiss_coverage_count.
Referenced by RV64IMACFD_calc_irq_mcause(), RV64IMACFD_raise(), and RV64IMACFD_sstatus_mask().

| etiss_uint8 RV64IMACFD_get_rm | ( | ETISS_CPU *const | cpu, |
| ETISS_System *const | system, | ||
| void *const *const | plugin_pointers, | ||
| etiss_uint8 | rm | ||
| ) |
Definition at line 21 of file RV64IMACFDFuncs.c.
References etiss_coverage_count, and RV64IMACFD_raise().

| etiss_uint64 RV64IMACFD_mstatus_mask | ( | ETISS_CPU *const | cpu, |
| ETISS_System *const | system, | ||
| void *const *const | plugin_pointers | ||
| ) |
Definition at line 90 of file RV64IMACFDFuncs.c.
References etiss_coverage_count, and RV64IMACFD_sstatus_mask().
Referenced by RV64IMACFD_csr_write().


| etiss_int64 RV64IMACFD_mulh | ( | etiss_int64 | x, |
| etiss_int64 | y | ||
| ) |
Definition at line 617 of file RV64IMACFDFuncs.c.
References etiss_coverage_count.
| etiss_int64 RV64IMACFD_mulhsu | ( | etiss_int64 | x, |
| etiss_uint64 | y | ||
| ) |
Definition at line 630 of file RV64IMACFDFuncs.c.
References etiss_coverage_count.
| etiss_uint64 RV64IMACFD_mulhu | ( | etiss_uint64 | x, |
| etiss_uint64 | y | ||
| ) |
Definition at line 643 of file RV64IMACFDFuncs.c.
References etiss_coverage_count.
| void RV64IMACFD_raise | ( | ETISS_CPU *const | cpu, |
| ETISS_System *const | system, | ||
| void *const *const | plugin_pointers, | ||
| etiss_int32 | irq, | ||
| etiss_uint64 | mcause | ||
| ) |
Definition at line 338 of file RV64IMACFDFuncs.c.
References etiss_coverage_count, ETISS_CPU::exception, ETISS_CPU::instructionPointer, ETISS_CPU::return_pending, RV64IMACFD_csr_read(), RV64IMACFD_csr_write(), RV64IMACFD_get_field(), RV64IMACFD_set_field(), and s.
Referenced by RV64IMACFD_check_irq(), RV64IMACFD_get_rm(), and RV64IMACFD_translate_exc_code().


| etiss_uint64 RV64IMACFD_set_field | ( | etiss_uint64 | reg, |
| etiss_uint64 | mask, | ||
| etiss_uint64 | val | ||
| ) |
Definition at line 241 of file RV64IMACFDFuncs.c.
References etiss_coverage_count.
Referenced by RV64IMACFD_raise().

| etiss_uint64 RV64IMACFD_sstatus_mask | ( | ETISS_CPU *const | cpu, |
| ETISS_System *const | system, | ||
| void *const *const | plugin_pointers | ||
| ) |
Definition at line 44 of file RV64IMACFDFuncs.c.
References etiss_coverage_count, RV64IMACFD_extension_enabled(), and RV64IMACFD_get_field().
Referenced by RV64IMACFD_csr_write(), and RV64IMACFD_mstatus_mask().


| void RV64IMACFD_translate_exc_code | ( | ETISS_CPU *const | cpu, |
| ETISS_System *const | system, | ||
| void *const *const | plugin_pointers, | ||
| etiss_int32 | cause | ||
| ) |
Definition at line 428 of file RV64IMACFDFuncs.c.
References etiss_coverage_count, RV64IMACFD_calc_irq_mcause(), and RV64IMACFD_raise().
Referenced by RV64IMACFDArch::handleException().


| etiss_uint64 unbox_d | ( | etiss_uint64 | ) |
| etiss_uint32 unbox_s | ( | etiss_uint64 | v | ) |
Definition at line 436 of file fp_functions.cpp.
| void wait | ( | etiss_int32 | flag | ) |