11#ifndef ETISS_RV64IMACFDArch_RV64IMACFDARCHSPECIFICIMP_H_
12#define ETISS_RV64IMACFDArch_RV64IMACFDARCHSPECIFICIMP_H_
17#include "etiss/jit/CPU.h"
38 std::string(
"X") +
etiss::toString(gprid),
39 std::string(
"X") +
etiss::toString(gprid),
68 assert((offset == 0 || (offset < (
bitwidth_ /
sizeof(
uint64_t)))) &&
"Virtualstruct field offset out of range");
76 assert((offset == 0 || (offset < (
bitwidth_ /
sizeof(
uint64_t)))) &&
"Virtualstruct field offset out of range");
92 std::string(
"F")+
etiss::toString(gprid),
93 std::string(
"F")+
etiss::toString(gprid),
121 assert((offset == 0 || (offset < (
bitwidth_ /
sizeof(
uint64_t)))) &&
"Virtualstruct field offset out of range");
129 assert((offset == 0 || (offset < (
bitwidth_ /
sizeof(
uint64_t)))) &&
"Virtualstruct field offset out of range");
146 std::string(
"CSR")+
etiss::toString(gprid),
147 std::string(
"CSR")+
etiss::toString(gprid),
175 assert((offset == 0 || (offset < (
bitwidth_ /
sizeof(
uint64_t)))) &&
"Virtualstruct field offset out of range");
183 assert((offset == 0 || (offset < (
bitwidth_ /
sizeof(
uint64_t)))) &&
"Virtualstruct field offset out of range");
198 "instructionPointer",
199 "instructionPointer",
213 assert((offset == 0 || (offset < (
bitwidth_ /
sizeof(
uint64_t)))) &&
"Virtualstruct field offset out of range");
221 assert((offset == 0 || (offset < (
bitwidth_ /
sizeof(
uint64_t)))) &&
"Virtualstruct field offset out of range");
contains container classes to store instruction definitions + translation functions and build a trans...
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)
static __inline__ uint64_t
virtual void _write(uint64_t val, size_t offset)
override this function to implement writes in case of AccessMode::VIRTUAL / AccessMode::PREFER_LAMBDA
virtual ~CSRField_RV64IMACFD()
virtual uint64_t _read(size_t offset) const
override this function to implement reads in case of AccessMode::VIRTUAL / AccessMode::PREFER_LAMBDA
CSRField_RV64IMACFD(etiss::VirtualStruct &parent, std::string name, unsigned gprid)
CSRField_RV64IMACFD(etiss::VirtualStruct &parent, unsigned gprid)
virtual void _write(uint64_t val, size_t offset)
override this function to implement writes in case of AccessMode::VIRTUAL / AccessMode::PREFER_LAMBDA
virtual ~FloatRegField_RV64IMACFD()
virtual uint64_t _read(size_t offset) const
override this function to implement reads in case of AccessMode::VIRTUAL / AccessMode::PREFER_LAMBDA
FloatRegField_RV64IMACFD(etiss::VirtualStruct &parent, unsigned gprid)
FloatRegField_RV64IMACFD(etiss::VirtualStruct &parent, std::string name, unsigned gprid)
Generated on Fri, 19 Jun 2026 11:47:54 +0000.
virtual uint64_t _read(size_t offset) const
override this function to implement reads in case of AccessMode::VIRTUAL / AccessMode::PREFER_LAMBDA
virtual ~RegField_RV64IMACFD()
RegField_RV64IMACFD(etiss::VirtualStruct &parent, std::string name, unsigned gprid)
RegField_RV64IMACFD(etiss::VirtualStruct &parent, unsigned gprid)
virtual void _write(uint64_t val, size_t offset)
override this function to implement writes in case of AccessMode::VIRTUAL / AccessMode::PREFER_LAMBDA
a Field instance represents e.g.
static const int W
write flag
Field(VirtualStruct &parent, const std::string &name, const std::string &prettyname, int flags, size_t width, size_t bitwidth=0)
const std::string name_
name of the field.
VirtualStruct & parent_
reference to parent virtual struct
static const int R
read flag
const size_t bitwidth_
width in bits
abstract representation of an module of a simulation which could be a embedded device of the cpu of a...
pcField_RV64IMACFD(etiss::VirtualStruct &parent)
virtual void _write(uint64_t val, size_t offset)
override this function to implement writes in case of AccessMode::VIRTUAL / AccessMode::PREFER_LAMBDA
virtual ~pcField_RV64IMACFD()
virtual uint64_t _read(size_t offset) const
override this function to implement reads in case of AccessMode::VIRTUAL / AccessMode::PREFER_LAMBDA
void log(Verbosity level, std::string msg)
write log message at the given level.
basic cpu state structure needed for execution of any cpu architecture.
Generated on Fri, 19 Jun 2026 11:47:54 +0000.