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.");
795 { ArmISA::INTREG_R0,
"R0" },
796 { ArmISA::INTREG_R1,
"R1" },
797 { ArmISA::INTREG_R2,
"R2" },
798 { ArmISA::INTREG_R3,
"R3" },
799 { ArmISA::INTREG_R4,
"R4" },
800 { ArmISA::INTREG_R5,
"R5" },
801 { ArmISA::INTREG_R6,
"R6" },
802 { ArmISA::INTREG_R7,
"R7" },
803 { ArmISA::INTREG_R8,
"R8" },
804 { ArmISA::INTREG_R9,
"R9" },
805 { ArmISA::INTREG_R10,
"R10" },
806 { ArmISA::INTREG_R11,
"R11" },
807 { ArmISA::INTREG_R12,
"R12" },
808 { ArmISA::INTREG_R13,
"R13" },
809 { ArmISA::INTREG_R14,
"R14" },
810 { ArmISA::INTREG_R15,
"R15" }
static IdxNameMap intReg32IdxNameMap
std::map< int, std::string > IdxNameMap
RegVal readIntReg(RegIndex reg_idx) const override
void sendFunctional(PacketPtr pkt) override
bool translateAddress(Addr &paddr, Addr vaddr) override
iris::IrisCppAdapter & call() const
static IdxNameMap ccRegIdxNameMap
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
static std::vector< iris::MemorySpaceId > bpSpaceIds
ThreadContext is the external interface to all thread state for anything outside of the CPU.
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)
RegVal readCCRegFlat(RegIndex idx) const override
RegVal readCCRegFlat(RegIndex idx) const override
void extractResourceMap(ResourceIds &ids, const ResourceMap &resources, const IdxNameMap &idx_names)
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)
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
void setCCRegFlat(RegIndex idx, RegVal val) override
#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
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
Reference material can be found at the JEDEC website: UFS standard http://www.jedec....
void writeMem(iris::MemorySpaceId space, Addr addr, const void *p, size_t size)
T * getPtr()
get a pointer to the data ptr.
Generated on Wed May 4 2022 12:13:46 for gem5 by doxygen 1.8.17