ETISS 0.11.2
ExtendableTranslatingInstructionSetSimulator(version0.11.2)
Loading...
Searching...
No Matches
RV64IMACFDArch.cpp
Go to the documentation of this file.
1
7/*********************************************************************************************************************************
8
9* Modification guidelines:
10
11 1. The initial value of SP register should be initialized by ctr0.S/board.S. If not, it could be initialized
12 through utility class etiss::VirtualStruct::Field.
13
14 2. Debug mode print out all assignment results. GDB in 8 is prefered.
15
16 3. Manually copy the content in bracket ["return ETISS_RETURNCODE_CPUFINISHED; \n"] to terminating instruction,
17 otherwise the emulation can not be ended.
18
19 4. If subset of encoding error occurs, it means the format of the encoding in the input model was not appropriate
20
21 5. If the PC register points to wrong address, please notice that some assembly may cause branch operation
22 implicitly such as "MOV Rd Rn" in ARMv6-M
23
24 6. If a variable is the result of dynamic slicing such as, var_1 = var_2<Hshift-1..Lshift-2>, the size would be
25 calculated during process (if possible), otherwise it is assumed to be the register size. Problems may occur
26 when var_1 encounters bit manipulation such as "~" due to bit expansion. To change the nml model with explicit
27 slicing e.g var_1 = val_2<3..0> or avoid bit manipulation for dynamic sliced variable. Otherwise, you have to
28 manually correct it.
29
30 7. Implementation dependent functionalities such as exception handling should be manully added. Corresponding
31 interfaces are provided in RV64IMACFDArchSpecificImp.h
32
33 8. RV64IMACFDGDBCore.h provides the GDBCore class to support gdb flavor debugging feature, modify iy if in need.
34
35 *********************************************************************************************************************************/
36
37#include "RV64IMACFDArch.h"
38#include "RV64IMACFDFuncs.h"
39
40#define RV64IMACFD_DEBUG_CALL 0
41using namespace etiss;
42using namespace etiss::instr;
43
44RV64IMACFDArch::RV64IMACFDArch(unsigned int coreno) : CPUArch("RV64IMACFD"), coreno_(coreno)
45{
46 headers_.insert("Arch/RV64IMACFD/RV64IMACFD.h");
47}
48
50{
52}
53
55{
56 ETISS_CPU *ret = (ETISS_CPU *)new RV64IMACFD();
57 resetCPU(ret, 0);
58 return ret;
59}
60
61void RV64IMACFDArch::resetCPU(ETISS_CPU *cpu, etiss::uint64 *startpointer)
62{
63 memset(cpu, 0, sizeof(RV64IMACFD));
64 RV64IMACFD *rv64imacfdcpu = (RV64IMACFD *)cpu;
65
66 if (startpointer)
67 cpu->instructionPointer = *startpointer & ~((etiss::uint64)0x1);
68 else
69 cpu->instructionPointer = 0x0; // reference to manual
70 cpu->nextPc = cpu->instructionPointer;
71 cpu->mode = 1;
72 cpu->cpuTime_ps = 0;
73 cpu->cpuCycleTime_ps = 31250;
74
75 for (int i = 0; i < 32; ++i)
76 {
77 rv64imacfdcpu->ins_X[i] = 0;
78 rv64imacfdcpu->X[i] = &rv64imacfdcpu->ins_X[i];
79 }
80 for (int i = 0; i < 4096; ++i)
81 {
82 rv64imacfdcpu->ins_CSR[i] = 0;
83 rv64imacfdcpu->CSR[i] = &rv64imacfdcpu->ins_CSR[i];
84 }
85 for (int i = 0; i < 32; ++i)
86 {
87 rv64imacfdcpu->ins_F[i] = 0;
88 rv64imacfdcpu->F[i] = &rv64imacfdcpu->ins_F[i];
89 }
90
91 rv64imacfdcpu->ZERO = 0;
92 rv64imacfdcpu->RA = 0;
93 rv64imacfdcpu->SP = 0;
94 rv64imacfdcpu->GP = 0;
95 rv64imacfdcpu->TP = 0;
96 rv64imacfdcpu->T0 = 0;
97 rv64imacfdcpu->T1 = 0;
98 rv64imacfdcpu->T2 = 0;
99 rv64imacfdcpu->S0 = 0;
100 rv64imacfdcpu->S1 = 0;
101 rv64imacfdcpu->A0 = 0;
102 rv64imacfdcpu->A1 = 0;
103 rv64imacfdcpu->A2 = 0;
104 rv64imacfdcpu->A3 = 0;
105 rv64imacfdcpu->A4 = 0;
106 rv64imacfdcpu->A5 = 0;
107 rv64imacfdcpu->A6 = 0;
108 rv64imacfdcpu->A7 = 0;
109 rv64imacfdcpu->S2 = 0;
110 rv64imacfdcpu->S3 = 0;
111 rv64imacfdcpu->S4 = 0;
112 rv64imacfdcpu->S5 = 0;
113 rv64imacfdcpu->S6 = 0;
114 rv64imacfdcpu->S7 = 0;
115 rv64imacfdcpu->S8 = 0;
116 rv64imacfdcpu->S9 = 0;
117 rv64imacfdcpu->S10 = 0;
118 rv64imacfdcpu->S11 = 0;
119 rv64imacfdcpu->T3 = 0;
120 rv64imacfdcpu->T4 = 0;
121 rv64imacfdcpu->T5 = 0;
122 rv64imacfdcpu->T6 = 0;
123 for (int i = 0; i < 8; ++i)
124 {
125 rv64imacfdcpu->FENCE[i] = 0;
126 }
127 for (int i = 0; i < 8; ++i)
128 {
129 rv64imacfdcpu->RES[i] = 0;
130 }
131 rv64imacfdcpu->PRIV = 0;
132 rv64imacfdcpu->DPC = 0;
133 rv64imacfdcpu->FCSR = 0;
134 rv64imacfdcpu->FFLAGS = 0;
135 rv64imacfdcpu->FRM = 0;
136 rv64imacfdcpu->MSTATUS = 0;
137 rv64imacfdcpu->MIE = 0;
138 rv64imacfdcpu->MIP = 0;
139 rv64imacfdcpu->CYCLE = 0;
140 rv64imacfdcpu->CYCLEH = 0;
141 rv64imacfdcpu->MCYCLE = 0;
142 rv64imacfdcpu->MCYCLEH = 0;
143 rv64imacfdcpu->TIME = 0;
144 rv64imacfdcpu->TIMEH = 0;
145 rv64imacfdcpu->INSTRET = 0;
146 rv64imacfdcpu->INSTRETH = 0;
147 rv64imacfdcpu->MINSTRET = 0;
148 rv64imacfdcpu->MINSTRETH = 0;
149 rv64imacfdcpu->MVENDORID = 0;
150 rv64imacfdcpu->MARCHID = 0;
151 rv64imacfdcpu->MIMPID = 0;
152 rv64imacfdcpu->MHARTID = 0;
153 rv64imacfdcpu->MISA = 0;
154 rv64imacfdcpu->MEDELEG = 0;
155 rv64imacfdcpu->MIDELEG = 0;
156 rv64imacfdcpu->MTVEC = 0;
157 rv64imacfdcpu->MCOUNTEREN = 0;
158 rv64imacfdcpu->MSCRATCH = 0;
159 rv64imacfdcpu->MEPC = 0;
160 rv64imacfdcpu->MCAUSE = 0;
161 rv64imacfdcpu->MTVAL = 0;
162 rv64imacfdcpu->FT0 = 0;
163 rv64imacfdcpu->FT1 = 0;
164 rv64imacfdcpu->FT2 = 0;
165 rv64imacfdcpu->FT3 = 0;
166 rv64imacfdcpu->FT4 = 0;
167 rv64imacfdcpu->FT5 = 0;
168 rv64imacfdcpu->FT6 = 0;
169 rv64imacfdcpu->FT7 = 0;
170 rv64imacfdcpu->FS0 = 0;
171 rv64imacfdcpu->FS1 = 0;
172 rv64imacfdcpu->FA0 = 0;
173 rv64imacfdcpu->FA1 = 0;
174 rv64imacfdcpu->FA2 = 0;
175 rv64imacfdcpu->FA3 = 0;
176 rv64imacfdcpu->FA4 = 0;
177 rv64imacfdcpu->FA5 = 0;
178 rv64imacfdcpu->FA6 = 0;
179 rv64imacfdcpu->FA7 = 0;
180 rv64imacfdcpu->FS2 = 0;
181 rv64imacfdcpu->FS3 = 0;
182 rv64imacfdcpu->FS4 = 0;
183 rv64imacfdcpu->FS5 = 0;
184 rv64imacfdcpu->FS6 = 0;
185 rv64imacfdcpu->FS7 = 0;
186 rv64imacfdcpu->FS8 = 0;
187 rv64imacfdcpu->FS9 = 0;
188 rv64imacfdcpu->FS10 = 0;
189 rv64imacfdcpu->FS11 = 0;
190 rv64imacfdcpu->FT8 = 0;
191 rv64imacfdcpu->FT9 = 0;
192 rv64imacfdcpu->FT10 = 0;
193 rv64imacfdcpu->FT11 = 0;
194 rv64imacfdcpu->RES_ADDR = 0;
195
196 rv64imacfdcpu->X[0] = &rv64imacfdcpu->ZERO;
197 rv64imacfdcpu->X[1] = &rv64imacfdcpu->RA;
198 rv64imacfdcpu->X[2] = &rv64imacfdcpu->SP;
199 rv64imacfdcpu->X[3] = &rv64imacfdcpu->GP;
200 rv64imacfdcpu->X[4] = &rv64imacfdcpu->TP;
201 rv64imacfdcpu->X[5] = &rv64imacfdcpu->T0;
202 rv64imacfdcpu->X[6] = &rv64imacfdcpu->T1;
203 rv64imacfdcpu->X[7] = &rv64imacfdcpu->T2;
204 rv64imacfdcpu->X[8] = &rv64imacfdcpu->S0;
205 rv64imacfdcpu->X[9] = &rv64imacfdcpu->S1;
206 rv64imacfdcpu->X[10] = &rv64imacfdcpu->A0;
207 rv64imacfdcpu->X[11] = &rv64imacfdcpu->A1;
208 rv64imacfdcpu->X[12] = &rv64imacfdcpu->A2;
209 rv64imacfdcpu->X[13] = &rv64imacfdcpu->A3;
210 rv64imacfdcpu->X[14] = &rv64imacfdcpu->A4;
211 rv64imacfdcpu->X[15] = &rv64imacfdcpu->A5;
212 rv64imacfdcpu->X[16] = &rv64imacfdcpu->A6;
213 rv64imacfdcpu->X[17] = &rv64imacfdcpu->A7;
214 rv64imacfdcpu->X[18] = &rv64imacfdcpu->S2;
215 rv64imacfdcpu->X[19] = &rv64imacfdcpu->S3;
216 rv64imacfdcpu->X[20] = &rv64imacfdcpu->S4;
217 rv64imacfdcpu->X[21] = &rv64imacfdcpu->S5;
218 rv64imacfdcpu->X[22] = &rv64imacfdcpu->S6;
219 rv64imacfdcpu->X[23] = &rv64imacfdcpu->S7;
220 rv64imacfdcpu->X[24] = &rv64imacfdcpu->S8;
221 rv64imacfdcpu->X[25] = &rv64imacfdcpu->S9;
222 rv64imacfdcpu->X[26] = &rv64imacfdcpu->S10;
223 rv64imacfdcpu->X[27] = &rv64imacfdcpu->S11;
224 rv64imacfdcpu->X[28] = &rv64imacfdcpu->T3;
225 rv64imacfdcpu->X[29] = &rv64imacfdcpu->T4;
226 rv64imacfdcpu->X[30] = &rv64imacfdcpu->T5;
227 rv64imacfdcpu->X[31] = &rv64imacfdcpu->T6;
228 rv64imacfdcpu->CSR[3] = &rv64imacfdcpu->FCSR;
229 rv64imacfdcpu->CSR[1] = &rv64imacfdcpu->FFLAGS;
230 rv64imacfdcpu->CSR[2] = &rv64imacfdcpu->FRM;
231 rv64imacfdcpu->CSR[768] = &rv64imacfdcpu->MSTATUS;
232 rv64imacfdcpu->CSR[772] = &rv64imacfdcpu->MIE;
233 rv64imacfdcpu->CSR[836] = &rv64imacfdcpu->MIP;
234 rv64imacfdcpu->CSR[3072] = &rv64imacfdcpu->CYCLE;
235 rv64imacfdcpu->CSR[3200] = &rv64imacfdcpu->CYCLEH;
236 rv64imacfdcpu->CSR[2816] = &rv64imacfdcpu->MCYCLE;
237 rv64imacfdcpu->CSR[2944] = &rv64imacfdcpu->MCYCLEH;
238 rv64imacfdcpu->CSR[3073] = &rv64imacfdcpu->TIME;
239 rv64imacfdcpu->CSR[3201] = &rv64imacfdcpu->TIMEH;
240 rv64imacfdcpu->CSR[3074] = &rv64imacfdcpu->INSTRET;
241 rv64imacfdcpu->CSR[3202] = &rv64imacfdcpu->INSTRETH;
242 rv64imacfdcpu->CSR[2818] = &rv64imacfdcpu->MINSTRET;
243 rv64imacfdcpu->CSR[2946] = &rv64imacfdcpu->MINSTRETH;
244 rv64imacfdcpu->CSR[3857] = &rv64imacfdcpu->MVENDORID;
245 rv64imacfdcpu->CSR[3858] = &rv64imacfdcpu->MARCHID;
246 rv64imacfdcpu->CSR[3859] = &rv64imacfdcpu->MIMPID;
247 rv64imacfdcpu->CSR[3860] = &rv64imacfdcpu->MHARTID;
248 rv64imacfdcpu->CSR[769] = &rv64imacfdcpu->MISA;
249 rv64imacfdcpu->CSR[770] = &rv64imacfdcpu->MEDELEG;
250 rv64imacfdcpu->CSR[771] = &rv64imacfdcpu->MIDELEG;
251 rv64imacfdcpu->CSR[773] = &rv64imacfdcpu->MTVEC;
252 rv64imacfdcpu->CSR[774] = &rv64imacfdcpu->MCOUNTEREN;
253 rv64imacfdcpu->CSR[832] = &rv64imacfdcpu->MSCRATCH;
254 rv64imacfdcpu->CSR[833] = &rv64imacfdcpu->MEPC;
255 rv64imacfdcpu->CSR[834] = &rv64imacfdcpu->MCAUSE;
256 rv64imacfdcpu->CSR[835] = &rv64imacfdcpu->MTVAL;
257 rv64imacfdcpu->F[0] = &rv64imacfdcpu->FT0;
258 rv64imacfdcpu->F[1] = &rv64imacfdcpu->FT1;
259 rv64imacfdcpu->F[2] = &rv64imacfdcpu->FT2;
260 rv64imacfdcpu->F[3] = &rv64imacfdcpu->FT3;
261 rv64imacfdcpu->F[4] = &rv64imacfdcpu->FT4;
262 rv64imacfdcpu->F[5] = &rv64imacfdcpu->FT5;
263 rv64imacfdcpu->F[6] = &rv64imacfdcpu->FT6;
264 rv64imacfdcpu->F[7] = &rv64imacfdcpu->FT7;
265 rv64imacfdcpu->F[8] = &rv64imacfdcpu->FS0;
266 rv64imacfdcpu->F[9] = &rv64imacfdcpu->FS1;
267 rv64imacfdcpu->F[10] = &rv64imacfdcpu->FA0;
268 rv64imacfdcpu->F[11] = &rv64imacfdcpu->FA1;
269 rv64imacfdcpu->F[12] = &rv64imacfdcpu->FA2;
270 rv64imacfdcpu->F[13] = &rv64imacfdcpu->FA3;
271 rv64imacfdcpu->F[14] = &rv64imacfdcpu->FA4;
272 rv64imacfdcpu->F[15] = &rv64imacfdcpu->FA5;
273 rv64imacfdcpu->F[16] = &rv64imacfdcpu->FA6;
274 rv64imacfdcpu->F[17] = &rv64imacfdcpu->FA7;
275 rv64imacfdcpu->F[18] = &rv64imacfdcpu->FS2;
276 rv64imacfdcpu->F[19] = &rv64imacfdcpu->FS3;
277 rv64imacfdcpu->F[20] = &rv64imacfdcpu->FS4;
278 rv64imacfdcpu->F[21] = &rv64imacfdcpu->FS5;
279 rv64imacfdcpu->F[22] = &rv64imacfdcpu->FS6;
280 rv64imacfdcpu->F[23] = &rv64imacfdcpu->FS7;
281 rv64imacfdcpu->F[24] = &rv64imacfdcpu->FS8;
282 rv64imacfdcpu->F[25] = &rv64imacfdcpu->FS9;
283 rv64imacfdcpu->F[26] = &rv64imacfdcpu->FS10;
284 rv64imacfdcpu->F[27] = &rv64imacfdcpu->FS11;
285 rv64imacfdcpu->F[28] = &rv64imacfdcpu->FT8;
286 rv64imacfdcpu->F[29] = &rv64imacfdcpu->FT9;
287 rv64imacfdcpu->F[30] = &rv64imacfdcpu->FT10;
288 rv64imacfdcpu->F[31] = &rv64imacfdcpu->FT11;
289
290 rv64imacfdcpu->PRIV = 3ULL;
291 rv64imacfdcpu->DPC = 0LL;
292 *rv64imacfdcpu->CSR[0] = 11ULL;
293 *rv64imacfdcpu->CSR[256] = 11ULL;
294 *rv64imacfdcpu->CSR[768] = 11ULL;
295 *rv64imacfdcpu->CSR[769] = 9223372036856090925ULL;
296 *rv64imacfdcpu->CSR[3088] = 3ULL;
297 *rv64imacfdcpu->CSR[772] = 4294966203ULL;
298 *rv64imacfdcpu->CSR[260] = 4294964019ULL;
299 *rv64imacfdcpu->CSR[4] = 4294963473ULL;
300 rv64imacfdcpu->RES_ADDR = -1LL;
301}
302
304{
305 delete (RV64IMACFD *)cpu;
306}
307
312{
313 return 8;
314}
315
320{
321 return 2;
322}
323
327const std::set<std::string> &RV64IMACFDArch::getHeaders() const
328{
329 return headers_;
330}
331
333{
334 cb.fileglobalCode().insert("#include \"Arch/RV64IMACFD/RV64IMACFD.h\"\n");
335 cb.fileglobalCode().insert("#include \"Arch/RV64IMACFD/RV64IMACFDFuncs.h\"\n");
336 cb.functionglobalCode().insert("cpu->exception = 0;\n");
337 cb.functionglobalCode().insert("cpu->return_pending = 0;\n");
338 cb.functionglobalCode().insert("etiss_uint32 mem_ret_code = 0;\n");
339}
340
345
346// clang-format off
347const char * const reg_name[] =
348{
349 "X0",
350 "X1",
351 "X2",
352 "X3",
353 "X4",
354 "X5",
355 "X6",
356 "X7",
357 "X8",
358 "X9",
359 "X10",
360 "X11",
361 "X12",
362 "X13",
363 "X14",
364 "X15",
365 "X16",
366 "X17",
367 "X18",
368 "X19",
369 "X20",
370 "X21",
371 "X22",
372 "X23",
373 "X24",
374 "X25",
375 "X26",
376 "X27",
377 "X28",
378 "X29",
379 "X30",
380 "X31",
381};
382// clang-format on
383
388
const char *const reg_name[]
Generated on Mon, 15 Jun 2026 06:54:08 +0000.
etiss::instr::InstructionClass ISA16_RV64IMACFDClass(1, "ISA16_RV64IMACFD", 16, ISA16_RV64IMACFD)
etiss::instr::InstructionCollection RV64IMACFDISA("RV64IMACFDISA", ISA16_RV64IMACFDClass, ISA32_RV64IMACFDClass)
etiss::instr::InstructionGroup ISA32_RV64IMACFD("ISA32_RV64IMACFD", 32)
etiss::instr::InstructionClass ISA32_RV64IMACFDClass(1, "ISA32_RV64IMACFD", 32, ISA32_RV64IMACFD)
etiss::instr::InstructionGroup ISA16_RV64IMACFD("ISA16_RV64IMACFD", 16)
__DEVICE__ void * memset(void *__a, int __b, size_t __c)
std::set< std::string > listenerSupportedRegisters_
virtual void deleteCPU(ETISS_CPU *)
delete cpu structure
virtual unsigned getInstructionSizeInBytes()
virtual unsigned getMaximumInstructionSizeInBytes()
RV64IMACFDGDBCore gdbcore_
RV64IMACFDArch(unsigned int)
virtual const std::set< std::string > & getHeaders() const
required headers (RV64IMACFD.h)
virtual ETISS_CPU * newCPU()
allocate new cpu structure
virtual void resetCPU(ETISS_CPU *cpu, etiss::uint64 *startpointer)
reset cpu (structure)
virtual void initCodeBlock(etiss::CodeBlock &cb) const
called before instructions are translated for the code block
virtual etiss::plugin::gdb::GDBCore & getGDBCore()
get the GDBcore for RV64IMACFD architecture
std::set< std::string > headers_
virtual const std::set< std::string > & getListenerSupportedRegisters()
the interface to translate instructions of and processor architecture
Definition CPUArch.h:116
A list of CodeSets.
Definition CodePart.h:532
std::set< std::string > & functionglobalCode()
Definition CodePart.h:567
std::set< std::string > & fileglobalCode()
Definition CodePart.h:566
maps to VariableInstructionSet
maps to ModedInstructionSet
maps to InstructionSet
provides to architecture dependent registers as defined by gdb
Definition GDBCore.h:39
forwards: include/jit/*
Definition Benchmark.h:17
basic cpu state structure needed for execution of any cpu architecture.
Definition CPU.h:51
etiss_uint64 instructionPointer
pointer to next instruction.
Definition CPU.h:54
etiss_uint64 cpuCycleTime_ps
frequency of the cpu. use to allign e.g. memory delays
Definition CPU.h:67
etiss_uint64 cpuTime_ps
simulation time of cpu
Definition CPU.h:59
etiss_uint64 nextPc
Definition CPU.h:57
etiss_uint32 mode
instruction set mode of the processor
Definition CPU.h:71
Generated on Mon, 15 Jun 2026 06:54:17 +0000.
Definition RV64IMACFD.h:18
etiss_uint64 CYCLE
Definition RV64IMACFD.h:65
etiss_uint64 FRM
Definition RV64IMACFD.h:61
etiss_uint64 S8
Definition RV64IMACFD.h:45
etiss_uint64 FA6
Definition RV64IMACFD.h:106
etiss_uint64 A6
Definition RV64IMACFD.h:37
etiss_uint64 A1
Definition RV64IMACFD.h:32
etiss_uint64 FS3
Definition RV64IMACFD.h:109
etiss_uint64 MINSTRET
Definition RV64IMACFD.h:73
etiss_uint64 T1
Definition RV64IMACFD.h:27
etiss_uint64 FT3
Definition RV64IMACFD.h:93
etiss_uint64 INSTRET
Definition RV64IMACFD.h:71
etiss_uint64 INSTRETH
Definition RV64IMACFD.h:72
etiss_uint64 FS5
Definition RV64IMACFD.h:111
etiss_uint64 S2
Definition RV64IMACFD.h:39
etiss_uint64 MCAUSE
Definition RV64IMACFD.h:86
etiss_uint64 * F[32]
Definition RV64IMACFD.h:122
etiss_uint64 FENCE[8]
Definition RV64IMACFD.h:55
etiss_uint64 MINSTRETH
Definition RV64IMACFD.h:74
etiss_uint64 RES_ADDR
Definition RV64IMACFD.h:124
etiss_uint64 MTVEC
Definition RV64IMACFD.h:82
etiss_uint64 A5
Definition RV64IMACFD.h:36
etiss_uint64 MIP
Definition RV64IMACFD.h:64
etiss_uint64 ins_X[32]
Definition RV64IMACFD.h:54
etiss_uint8 PRIV
Definition RV64IMACFD.h:57
etiss_uint64 S1
Definition RV64IMACFD.h:30
etiss_uint64 MIE
Definition RV64IMACFD.h:63
etiss_uint64 FT0
Definition RV64IMACFD.h:90
etiss_uint64 MEPC
Definition RV64IMACFD.h:85
etiss_uint64 MEDELEG
Definition RV64IMACFD.h:80
etiss_uint64 ins_CSR[4096]
Definition RV64IMACFD.h:89
etiss_uint64 T2
Definition RV64IMACFD.h:28
etiss_uint64 S10
Definition RV64IMACFD.h:47
etiss_uint64 MARCHID
Definition RV64IMACFD.h:76
etiss_uint64 FS1
Definition RV64IMACFD.h:99
etiss_uint64 * CSR[4096]
Definition RV64IMACFD.h:88
etiss_uint64 RA
Definition RV64IMACFD.h:22
etiss_uint64 FS8
Definition RV64IMACFD.h:114
etiss_uint64 S6
Definition RV64IMACFD.h:43
etiss_uint64 MVENDORID
Definition RV64IMACFD.h:75
etiss_uint64 FA4
Definition RV64IMACFD.h:104
etiss_uint64 S0
Definition RV64IMACFD.h:29
etiss_uint64 S4
Definition RV64IMACFD.h:41
etiss_uint64 FS0
Definition RV64IMACFD.h:98
etiss_uint64 FS7
Definition RV64IMACFD.h:113
etiss_uint64 ins_F[32]
Definition RV64IMACFD.h:123
etiss_uint64 MTVAL
Definition RV64IMACFD.h:87
etiss_uint64 FFLAGS
Definition RV64IMACFD.h:60
etiss_uint64 FA7
Definition RV64IMACFD.h:107
etiss_uint64 TIME
Definition RV64IMACFD.h:69
etiss_uint64 T3
Definition RV64IMACFD.h:49
etiss_uint64 FT1
Definition RV64IMACFD.h:91
etiss_uint64 FS9
Definition RV64IMACFD.h:115
etiss_uint64 FT7
Definition RV64IMACFD.h:97
etiss_uint64 FS4
Definition RV64IMACFD.h:110
etiss_uint64 MIDELEG
Definition RV64IMACFD.h:81
etiss_uint64 MCYCLE
Definition RV64IMACFD.h:67
etiss_uint64 FCSR
Definition RV64IMACFD.h:59
etiss_uint64 FS10
Definition RV64IMACFD.h:116
etiss_uint64 S7
Definition RV64IMACFD.h:44
etiss_uint64 SP
Definition RV64IMACFD.h:23
etiss_uint64 A7
Definition RV64IMACFD.h:38
etiss_uint64 MCOUNTEREN
Definition RV64IMACFD.h:83
etiss_uint64 * X[32]
Definition RV64IMACFD.h:53
etiss_uint64 S3
Definition RV64IMACFD.h:40
etiss_uint64 FT4
Definition RV64IMACFD.h:94
etiss_uint64 FS11
Definition RV64IMACFD.h:117
etiss_uint64 TIMEH
Definition RV64IMACFD.h:70
etiss_uint64 A0
Definition RV64IMACFD.h:31
etiss_uint64 FA3
Definition RV64IMACFD.h:103
etiss_uint64 T6
Definition RV64IMACFD.h:52
etiss_uint64 MCYCLEH
Definition RV64IMACFD.h:68
etiss_uint64 ZERO
Definition RV64IMACFD.h:21
etiss_uint64 CYCLEH
Definition RV64IMACFD.h:66
etiss_uint8 RES[8]
Definition RV64IMACFD.h:56
etiss_uint64 TP
Definition RV64IMACFD.h:25
etiss_uint64 T0
Definition RV64IMACFD.h:26
etiss_uint64 MSCRATCH
Definition RV64IMACFD.h:84
etiss_uint64 FS2
Definition RV64IMACFD.h:108
etiss_uint64 A3
Definition RV64IMACFD.h:34
etiss_uint64 FA5
Definition RV64IMACFD.h:105
etiss_uint64 S5
Definition RV64IMACFD.h:42
etiss_uint64 FT10
Definition RV64IMACFD.h:120
etiss_uint64 MISA
Definition RV64IMACFD.h:79
etiss_uint64 FT8
Definition RV64IMACFD.h:118
etiss_uint64 A2
Definition RV64IMACFD.h:33
etiss_uint64 T5
Definition RV64IMACFD.h:51
etiss_uint64 FA1
Definition RV64IMACFD.h:101
etiss_uint64 GP
Definition RV64IMACFD.h:24
etiss_uint64 MSTATUS
Definition RV64IMACFD.h:62
etiss_uint64 FA0
Definition RV64IMACFD.h:100
etiss_uint64 MHARTID
Definition RV64IMACFD.h:78
etiss_uint64 A4
Definition RV64IMACFD.h:35
etiss_uint64 FT5
Definition RV64IMACFD.h:95
etiss_uint64 S9
Definition RV64IMACFD.h:46
etiss_uint64 MIMPID
Definition RV64IMACFD.h:77
etiss_uint64 FT2
Definition RV64IMACFD.h:92
etiss_uint64 S11
Definition RV64IMACFD.h:48
etiss_uint64 FT6
Definition RV64IMACFD.h:96
etiss_uint64 FA2
Definition RV64IMACFD.h:102
etiss_uint64 FT11
Definition RV64IMACFD.h:121
etiss_uint64 T4
Definition RV64IMACFD.h:50
etiss_uint64 FT9
Definition RV64IMACFD.h:119
etiss_uint64 FS6
Definition RV64IMACFD.h:112
etiss_uint64 DPC
Definition RV64IMACFD.h:58