Go to the documentation of this file.
32 #include "iris/detail/IrisCppAdapter.h"
33 #include "iris/detail/IrisObjects.h"
45 const std::string &iris_path) :
60 ThreadContext::initFromIrisInstance(resources);
90 iris::ResourceReadResult result;
92 return result.data.at(0);
98 iris::ResourceWriteResult result;
108 result = ((ArmISA::CPSR)result).nz;
111 result =
bits(result, 31, 28);
147 for (
auto &msn : msns) {
149 if (
id != iris::IRIS_UINT64_MAX)
153 "Unable to find address space(s) for breakpoints.");
constexpr RegId R14(IntRegClass, _R14Idx)
static IdxNameMap intReg32IdxNameMap
std::map< int, std::string > IdxNameMap
RegVal readIntReg(RegIndex reg_idx) const override
constexpr RegId R3(IntRegClass, _R3Idx)
void sendFunctional(PacketPtr pkt) override
constexpr RegId R1(IntRegClass, _R1Idx)
constexpr RegId R6(IntRegClass, _R6Idx)
constexpr RegId R7(IntRegClass, _R7Idx)
virtual void setCCRegFlat(RegIndex idx, RegVal val)
bool translateAddress(Addr &paddr, Addr vaddr) override
iris::IrisCppAdapter & call() const
static IdxNameMap ccRegIdxNameMap
constexpr RegId Fp(CCRegClass, _FpIdx)
constexpr RegId R4(IntRegClass, _R4Idx)
CortexR52TC(gem5::BaseCPU *cpu, int id, System *system, gem5::BaseMMU *mmu, gem5::BaseISA *isa, iris::IrisConnectionInterface *iris_if, const std::string &iris_path)
static IdxNameMap miscRegIdxNameMap
constexpr RegId R10(IntRegClass, _R10Idx)
constexpr RegId Nz(CCRegClass, _NzIdx)
virtual RegVal readCCRegFlat(RegIndex idx) const
static std::vector< iris::MemorySpaceId > bpSpaceIds
ThreadContext is the external interface to all thread state for anything outside of the CPU.
constexpr RegId V(CCRegClass, _VIdx)
A Packet is used to encapsulate a transfer between two objects in the memory system (e....
void readMem(iris::MemorySpaceId space, Addr addr, void *p, size_t size)
constexpr RegId R8(IntRegClass, _R8Idx)
constexpr RegId R2(IntRegClass, _R2Idx)
constexpr RegId R11(IntRegClass, _R11Idx)
constexpr RegId R9(IntRegClass, _R9Idx)
RegVal readCCRegFlat(RegIndex idx) const override
void extractResourceMap(ResourceIds &ids, const ResourceMap &resources, const IdxNameMap &idx_names)
constexpr RegId R0(IntRegClass, _R0Idx)
constexpr T insertBits(T val, unsigned first, unsigned last, B bit_val)
Returns val with bits first to last set to the LSBs of bit_val.
constexpr T bits(T val, unsigned first, unsigned last)
Extract the bitfield from position 'first' to 'last' (inclusive) from 'val' and right justify it.
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
GEM5_DEPRECATED_NAMESPACE(GuestABI, guest_abi)
constexpr RegId C(CCRegClass, _CIdx)
const std::vector< iris::MemorySpaceId > & getBpSpaceIds() const override
iris::ResourceId extractResourceId(const ResourceMap &resources, const std::string &name)
void setIntReg(RegIndex reg_idx, RegVal val) override
constexpr RegId Ge(CCRegClass, _GeIdx)
#define panic_if(cond,...)
Conditional panic macro that checks the supplied condition and only panics if the condition is true a...
void initFromIrisInstance(const ResourceMap &resources) override
std::map< std::string, iris::ResourceInfo > ResourceMap
constexpr RegId R15(IntRegClass, _R15Idx)
void makeResponse()
Take a request packet and modify it in place to be suitable for returning as a response to that reque...
RegVal readMiscRegNoEffect(RegIndex idx) const override
void setCCRegFlat(RegIndex idx, RegVal val) override
iris::MemorySpaceId getMemorySpaceId(const Iris::CanonicalMsn &msn) const
constexpr RegId R5(IntRegClass, _R5Idx)
Reference material can be found at the JEDEC website: UFS standard http://www.jedec....
constexpr RegId R12(IntRegClass, _R12Idx)
constexpr RegId R13(IntRegClass, _R13Idx)
void writeMem(iris::MemorySpaceId space, Addr addr, const void *p, size_t size)
T * getPtr()
get a pointer to the data ptr.
Generated on Thu Jul 28 2022 13:32:22 for gem5 by doxygen 1.8.17