Changed type of payloadID to uint64_t for overflow prevention.
This commit is contained in:
@@ -49,13 +49,13 @@ DramExtension::DramExtension() :
|
||||
|
||||
DramExtension::DramExtension(const Thread &thread, const Bank &bank,
|
||||
const BankGroup &bankgroup, const Row &row, const Column &column,
|
||||
unsigned int burstlength, unsigned int payloadID) :
|
||||
unsigned int burstlength, uint64_t payloadID) :
|
||||
thread(thread), channel(0), bank(bank), bankgroup(bankgroup), row(row),
|
||||
column(column), burstlength(burstlength), payloadID(payloadID) {}
|
||||
|
||||
DramExtension::DramExtension(const Thread &thread, const Channel &channel,
|
||||
const Bank &bank, const BankGroup &bankgroup, const Row &row,
|
||||
const Column &column, unsigned int burstlength, unsigned int payloadID) :
|
||||
const Column &column, unsigned int burstlength, uint64_t payloadID) :
|
||||
thread(thread), channel(channel), bank(bank), bankgroup(bankgroup), row(row),
|
||||
column(column), burstlength(burstlength), payloadID(payloadID) {}
|
||||
|
||||
@@ -113,12 +113,12 @@ Row DramExtension::getRow(const tlm_generic_payload &payload)
|
||||
return DramExtension::getRow(&payload);
|
||||
}
|
||||
|
||||
unsigned int DramExtension::getPayloadID(const tlm_generic_payload *payload)
|
||||
uint64_t DramExtension::getPayloadID(const tlm_generic_payload *payload)
|
||||
{
|
||||
return DramExtension::getExtension(payload).getPayloadID();
|
||||
}
|
||||
|
||||
unsigned int DramExtension::getPayloadID(const tlm_generic_payload &payload)
|
||||
uint64_t DramExtension::getPayloadID(const tlm_generic_payload &payload)
|
||||
{
|
||||
return DramExtension::getPayloadID(&payload);
|
||||
}
|
||||
@@ -174,7 +174,7 @@ unsigned int DramExtension::getBurstlength() const
|
||||
return burstlength;
|
||||
}
|
||||
|
||||
unsigned int DramExtension::getPayloadID() const
|
||||
uint64_t DramExtension::getPayloadID() const
|
||||
{
|
||||
return payloadID;
|
||||
}
|
||||
|
||||
@@ -151,10 +151,10 @@ public:
|
||||
DramExtension();
|
||||
DramExtension(const Thread &thread, const Bank &bank,
|
||||
const BankGroup &bankgroup, const Row &row, const Column &column,
|
||||
unsigned int burstlength, unsigned int payloadID);
|
||||
unsigned int burstlength, uint64_t payloadID);
|
||||
DramExtension(const Thread &thread, const Channel &channel, const Bank &bank,
|
||||
const BankGroup &bankgroup, const Row &row,
|
||||
const Column &column, unsigned int burstlength, unsigned int payloadID);
|
||||
const Column &column, unsigned int burstlength, uint64_t payloadID);
|
||||
|
||||
virtual tlm_extension_base *clone() const;
|
||||
virtual void copy_from(const tlm_extension_base &ext);
|
||||
@@ -171,8 +171,8 @@ public:
|
||||
static Thread getThread(const tlm::tlm_generic_payload &payload);
|
||||
static Row getRow(const tlm::tlm_generic_payload *payload);
|
||||
static Row getRow(const tlm::tlm_generic_payload &payload);
|
||||
static unsigned int getPayloadID(const tlm::tlm_generic_payload *payload);
|
||||
static unsigned int getPayloadID(const tlm::tlm_generic_payload &payload);
|
||||
static uint64_t getPayloadID(const tlm::tlm_generic_payload *payload);
|
||||
static uint64_t getPayloadID(const tlm::tlm_generic_payload &payload);
|
||||
|
||||
Thread getThread() const;
|
||||
Channel getChannel() const;
|
||||
@@ -182,7 +182,7 @@ public:
|
||||
Column getColumn() const;
|
||||
|
||||
unsigned int getBurstlength() const;
|
||||
unsigned int getPayloadID() const;
|
||||
uint64_t getPayloadID() const;
|
||||
void incrementRow();
|
||||
|
||||
private:
|
||||
@@ -193,7 +193,7 @@ private:
|
||||
Row row;
|
||||
Column column;
|
||||
unsigned int burstlength;
|
||||
unsigned int payloadID;
|
||||
uint64_t payloadID;
|
||||
};
|
||||
|
||||
|
||||
|
||||
@@ -169,7 +169,7 @@ void ControllerNew::controllerMethod()
|
||||
|
||||
void ControllerNew::releasePayload()
|
||||
{
|
||||
unsigned id = DramExtension::getPayloadID(payloadToRelease);
|
||||
uint64_t id = DramExtension::getPayloadID(payloadToRelease);
|
||||
printDebugMessage("Payload " + std::to_string(id) + " left system.");
|
||||
|
||||
responseQueue.pop();
|
||||
@@ -180,7 +180,7 @@ void ControllerNew::releasePayload()
|
||||
|
||||
void ControllerNew::acquirePayload()
|
||||
{
|
||||
unsigned id = DramExtension::getPayloadID(payloadToAcquire);
|
||||
uint64_t id = DramExtension::getPayloadID(payloadToAcquire);
|
||||
printDebugMessage("Payload " + std::to_string(id) + " entered system.");
|
||||
|
||||
scheduler->storeRequest(payloadToAcquire);
|
||||
|
||||
@@ -67,7 +67,7 @@ void ControllerRecordable::recordPhase(tlm_generic_payload &trans, tlm_phase pha
|
||||
unsigned int bank = DramExtension::getExtension(trans).getBank().ID();
|
||||
unsigned int row = DramExtension::getExtension(trans).getRow().ID();
|
||||
unsigned int col = DramExtension::getExtension(trans).getColumn().ID();
|
||||
unsigned int id = DramExtension::getExtension(trans).getPayloadID();
|
||||
uint64_t id = DramExtension::getExtension(trans).getPayloadID();
|
||||
|
||||
printDebugMessage("Recording " + phaseNameToString(phase) + " thread " +
|
||||
to_string(thr) + " channel " + to_string(ch) + " bank group " + to_string(
|
||||
|
||||
@@ -10,7 +10,7 @@ public:
|
||||
selectCommand(std::vector<std::pair<Command, tlm_generic_payload *>> &);
|
||||
|
||||
private:
|
||||
unsigned nextPayloadID = 0;
|
||||
uint64_t nextPayloadID = 0;
|
||||
};
|
||||
|
||||
#endif // CMDMUXSTRICT_H
|
||||
|
||||
@@ -96,7 +96,7 @@ private:
|
||||
const tlm_phase &phase, const sc_time &delay);
|
||||
|
||||
void appendDramExtension(int socketId, tlm_generic_payload &payload);
|
||||
std::vector<unsigned int> nextPayloadID;
|
||||
std::vector<uint64_t> nextPayloadID;
|
||||
|
||||
bool addressIsValid(DecodedAddress &decodedAddress);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user