ETISS 0.8.0
Extendable Translating Instruction Set Simulator (version 0.8.0)
|
#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 13 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 26 of file CSRCounters.cpp.
etiss_uint64 etiss_get_time | ( | ) |
Definition at line 18 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 48 of file semihost.cpp.
etiss_uint8 etiss_semihost_enabled | ( | ) |
Checks whether semihosting is enabled in the config.
Definition at line 43 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 Thu, 24 Oct 2024 10:16:12 +0200.
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 488 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 600 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 102 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 183 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 251 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 Thu, 24 Oct 2024 10:16:12 +0200.
This file contains the function implementations for the RV64IMACFD core architecture.
Definition at line 9 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 222 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 20 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 89 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 616 of file RV64IMACFDFuncs.c.
References etiss_coverage_count, and etiss::fault::x.
etiss_int64 RV64IMACFD_mulhsu | ( | etiss_int64 | x, |
etiss_uint64 | y | ||
) |
Definition at line 629 of file RV64IMACFDFuncs.c.
References etiss_coverage_count, and etiss::fault::x.
etiss_uint64 RV64IMACFD_mulhu | ( | etiss_uint64 | x, |
etiss_uint64 | y | ||
) |
Definition at line 642 of file RV64IMACFDFuncs.c.
References etiss_coverage_count, and etiss::fault::x.
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 337 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 240 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 43 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 427 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 | ) |