ETISS 0.11.2
ExtendableTranslatingInstructionSetSimulator(version0.11.2)
Loading...
Searching...
No Matches
RV32IMACFDFuncs.h
Go to the documentation of this file.
1
7#ifndef __RV32IMACFD_FUNCS_H
8#define __RV32IMACFD_FUNCS_H
9
10#ifdef __cplusplus
11extern "C"
12{
13#endif
14
15#include "RV32IMACFD.h"
16#include "etiss/jit/CPU.h"
17#include "etiss/jit/System.h"
18#include "etiss/jit/ReturnCode.h"
19#include "etiss/jit/Coverage.h"
20 // clang-format off
21
22void leave(etiss_int32 priv_lvl);
23
24void wait(etiss_int32 flag);
25
26etiss_uint8 RV32IMACFD_extension_enabled(ETISS_CPU * const cpu, ETISS_System * const system, void * const * const plugin_pointers, etiss_int8 extension);
27
29
31
33
35
37
39
41
43
45
47
49
51
53
55
56etiss_uint8 RV32IMACFD_get_rm(ETISS_CPU * const cpu, ETISS_System * const system, void * const * const plugin_pointers, etiss_uint8 rm);
57
59
61
63
65
67
69
71
73
75
77
79
81
83
84etiss_uint64 etiss_get_cycles(ETISS_CPU * const cpu, ETISS_System * const system, void * const * const plugin_pointers);
85
87
88etiss_uint64 etiss_get_instret(ETISS_CPU * const cpu, ETISS_System * const system, void * const * const plugin_pointers);
89
90etiss_uint32 RV32IMACFD_sstatus_mask(ETISS_CPU * const cpu, ETISS_System * const system, void * const * const plugin_pointers);
91
92etiss_uint32 RV32IMACFD_mstatus_mask(ETISS_CPU * const cpu, ETISS_System * const system, void * const * const plugin_pointers);
93
94etiss_uint32 RV32IMACFD_csr_read(ETISS_CPU * const cpu, ETISS_System * const system, void * const * const plugin_pointers, etiss_uint32 csr);
95
96void RV32IMACFD_csr_write(ETISS_CPU * const cpu, ETISS_System * const system, void * const * const plugin_pointers, etiss_uint32 csr, etiss_uint32 val);
97
99
101
103
104void RV32IMACFD_raise(ETISS_CPU * const cpu, ETISS_System * const system, void * const * const plugin_pointers, etiss_int32 irq, etiss_uint32 mcause);
105
106void RV32IMACFD_translate_exc_code(ETISS_CPU * const cpu, ETISS_System * const system, void * const * const plugin_pointers, etiss_int32 cause);
107
108etiss_uint32 RV32IMACFD_calc_irq_mcause(ETISS_CPU * const cpu, ETISS_System * const system, void * const * const plugin_pointers);
109
110void RV32IMACFD_check_irq(ETISS_CPU * const cpu, ETISS_System * const system, void * const * const plugin_pointers);
111
113
114etiss_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);
115
116 // clang-format on
117
118#ifdef __cplusplus
119}
120#endif
121
122#endif
etiss_uint32 fcvt_64_32(etiss_uint64, etiss_uint32, etiss_uint8)
etiss_uint64 fadd_d(etiss_uint64, etiss_uint64, etiss_uint8)
etiss_uint32 fconv_d2f(etiss_uint64, etiss_uint8)
void leave(etiss_int32 priv_lvl)
Generated on Mon, 10 Nov 2025 11:27:12 +0000.
etiss_uint64 fsqrt_d(etiss_uint64, etiss_uint8)
void RV32IMACFD_translate_exc_code(ETISS_CPU *const cpu, ETISS_System *const system, void *const *const plugin_pointers, etiss_int32 cause)
etiss_uint32 fsqrt_s(etiss_uint32, etiss_uint8)
etiss_uint32 fcmp_s(etiss_uint32, etiss_uint32, etiss_uint32)
etiss_uint64 RV32IMACFD_get_field(etiss_uint64 reg, etiss_uint64 mask)
etiss_uint32 fdiv_s(etiss_uint32, etiss_uint32, etiss_uint8)
etiss_uint64 fcmp_d(etiss_uint64, etiss_uint64, etiss_uint32)
etiss_uint32 fcvt_s(etiss_uint32, etiss_uint32, etiss_uint8)
etiss_uint32 unbox_s(etiss_uint64)
etiss_uint64 etiss_get_instret(ETISS_CPU *const cpu, ETISS_System *const system, void *const *const plugin_pointers)
void wait(etiss_int32 flag)
void RV32IMACFD_check_irq(ETISS_CPU *const cpu, ETISS_System *const system, void *const *const plugin_pointers)
etiss_uint64 RV32IMACFD_set_field(etiss_uint64 reg, etiss_uint64 mask, etiss_uint64 val)
void RV32IMACFD_csr_write(ETISS_CPU *const cpu, ETISS_System *const system, void *const *const plugin_pointers, etiss_uint32 csr, etiss_uint32 val)
etiss_uint64 fconv_f2d(etiss_uint32, etiss_uint8)
etiss_uint64 etiss_get_time()
etiss_uint8 RV32IMACFD_ctz(etiss_uint64 val)
etiss_uint64 fsub_d(etiss_uint64, etiss_uint64, etiss_uint8)
etiss_uint8 RV32IMACFD_get_rm(ETISS_CPU *const cpu, ETISS_System *const system, void *const *const plugin_pointers, etiss_uint8 rm)
etiss_uint8 etiss_semihost_enabled()
Checks whether semihosting is enabled in the config.
Definition semihost.cpp:51
etiss_uint32 fsub_s(etiss_uint32, etiss_uint32, etiss_uint8)
etiss_uint64 fmadd_d(etiss_uint64, etiss_uint64, etiss_uint64, etiss_uint32, etiss_uint8)
etiss_uint32 fclass_s(etiss_uint32)
etiss_uint32 RV32IMACFD_sstatus_mask(ETISS_CPU *const cpu, ETISS_System *const system, void *const *const plugin_pointers)
etiss_uint64 etiss_get_cycles(ETISS_CPU *const cpu, ETISS_System *const system, void *const *const plugin_pointers)
etiss_uint32 RV32IMACFD_mstatus_mask(ETISS_CPU *const cpu, ETISS_System *const system, void *const *const plugin_pointers)
etiss_uint32 fget_flags()
etiss_uint64 fcvt_d(etiss_uint64, etiss_uint32, etiss_uint8)
etiss_uint64 fsel_d(etiss_uint64, etiss_uint64, etiss_uint32)
etiss_uint8 RV32IMACFD_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:12 +0000.
etiss_uint32 fadd_s(etiss_uint32, etiss_uint32, etiss_uint8)
etiss_uint32 fmul_s(etiss_uint32, etiss_uint32, etiss_uint8)
etiss_uint32 RV32IMACFD_calc_irq_mcause(ETISS_CPU *const cpu, ETISS_System *const system, void *const *const plugin_pointers)
etiss_uint64 fmul_d(etiss_uint64, etiss_uint64, etiss_uint8)
void RV32IMACFD_raise(ETISS_CPU *const cpu, ETISS_System *const system, void *const *const plugin_pointers, etiss_int32 irq, etiss_uint32 mcause)
etiss_uint32 fsel_s(etiss_uint32, etiss_uint32, etiss_uint32)
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.
Definition semihost.cpp:56
etiss_uint64 fclass_d(etiss_uint64)
etiss_uint64 unbox_d(etiss_uint64)
etiss_uint64 fcvt_32_64(etiss_uint32, etiss_uint32, etiss_uint8)
etiss_uint64 fdiv_d(etiss_uint64, etiss_uint64, etiss_uint8)
etiss_uint32 RV32IMACFD_csr_read(ETISS_CPU *const cpu, ETISS_System *const system, void *const *const plugin_pointers, etiss_uint32 csr)
etiss_uint32 fmadd_s(etiss_uint32, etiss_uint32, etiss_uint32, etiss_uint32, etiss_uint8)
uint64_t etiss_uint64
Definition types.h:58
uint32_t etiss_uint32
Definition types.h:55
int64_t etiss_int64
Definition types.h:57
int8_t etiss_int8
Definition types.h:48
uint8_t etiss_uint8
Definition types.h:49
int32_t etiss_int32
Definition types.h:54
basic cpu state structure needed for execution of any cpu architecture.
Definition CPU.h:51
memory access and time synchronization functions.
Definition System.h:40