49struct ControlConversionRegister
51 ControlConversionRegister()
63 pkt->req->setFlags(Request::PRIVILEGED);
65 pkt->req->clearFlags(Request::PRIVILEGED);
69 pkt->req->setFlags(Request::SECURE);
71 pkt->req->clearFlags(Request::SECURE);
75 pkt->req->setFlags(Request::INST_FETCH);
77 pkt->req->clearFlags(Request::INST_FETCH);
86 pkt->
req->setSubstreamId(
103 if (pkt->
req->hasStreamId()) {
106 if (pkt->
req->hasSubstreamId()) {
154 std::shared_ptr<gem5::AtomicOpFunctor> o,
bool r)
155 :
op(o), returnRequired(
r)
200 : privileged(false), secure(false), instruction(false), qos(0)
202 [[maybe_unused]]
static ControlConversionRegister *conversion_register =
203 new ControlConversionRegister();
288std::optional<uint32_t>
306std::optional<uint32_t>
tlm_extension_base * clone() const override
void copy_from(const tlm_extension_base &ext) override
static AtomicExtension & getExtension(const tlm::tlm_generic_payload *payload)
AtomicExtension(std::shared_ptr< gem5::AtomicOpFunctor > o, bool r)
std::shared_ptr< gem5::AtomicOpFunctor > op
bool isReturnRequired() const
gem5::AtomicOpFunctor * getAtomicOpFunctor() const
static ControlExtension & getExtension(const tlm::tlm_generic_payload *payload)
tlm_extension_base * clone() const override
std::optional< uint32_t > getSubstreamId() const
bool isPrivileged() const
void setSubstreamId(std::optional< uint32_t > s)
void setPrivileged(bool p)
bool isInstruction() const
std::optional< uint32_t > substream_id
void setStreamId(std::optional< uint32_t > s)
bool hasSubstreamId() const
std::optional< uint32_t > stream_id
void setInstruction(bool i)
void copy_from(const tlm_extension_base &ext) override
std::optional< uint32_t > getStreamId() const
static Gem5Extension & getExtension(const tlm::tlm_generic_payload *payload)
Gem5Extension(gem5::PacketPtr p)
tlm_extension_base * clone() const override
gem5::PacketPtr getPacket()
void copy_from(const tlm_extension_base &ext) override
A Packet is used to encapsulate a transfer between two objects in the memory system (e....
uint8_t qosValue() const
QoS Value getter Returns 0 if QoS value was never set (constructor default).
RequestPtr req
A pointer to the original request.
void get_extension(T *&ext) const
Copyright (c) 2024 - Pranith Kumar Copyright (c) 2020 Inria All rights reserved.
void addPayloadToPacketConversionStep(PayloadToPacketConversionStep step)
Notify the Tlm2Gem5 bridge that we need an extra step to properly convert a tlm payload to gem5 packe...
void addPacketToPayloadConversionStep(PacketToPayloadConversionStep step)
Notify the Gem5ToTlm bridge that we need an extra step to properly convert a gem5 packet to tlm paylo...