From fb9abb9cee887294d16067c53feae02609442466 Mon Sep 17 00:00:00 2001 From: Lukas Steiner Date: Mon, 29 Jul 2019 20:55:40 +0200 Subject: [PATCH] Changed type of payloadID to uint64_t for overflow prevention. --- DRAMSys/library/src/common/dramExtensions.cpp | 10 +++++----- DRAMSys/library/src/common/dramExtensions.h | 12 ++++++------ DRAMSys/library/src/controller/ControllerNew.cpp | 4 ++-- .../library/src/controller/ControllerRecordable.cpp | 2 +- DRAMSys/library/src/controller/cmdmux/CmdMuxStrict.h | 2 +- DRAMSys/library/src/simulation/Arbiter.h | 2 +- 6 files changed, 16 insertions(+), 16 deletions(-) diff --git a/DRAMSys/library/src/common/dramExtensions.cpp b/DRAMSys/library/src/common/dramExtensions.cpp index 18ae9a40..cce8f853 100644 --- a/DRAMSys/library/src/common/dramExtensions.cpp +++ b/DRAMSys/library/src/common/dramExtensions.cpp @@ -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; } diff --git a/DRAMSys/library/src/common/dramExtensions.h b/DRAMSys/library/src/common/dramExtensions.h index 4491f3ca..aa3a176b 100644 --- a/DRAMSys/library/src/common/dramExtensions.h +++ b/DRAMSys/library/src/common/dramExtensions.h @@ -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; }; diff --git a/DRAMSys/library/src/controller/ControllerNew.cpp b/DRAMSys/library/src/controller/ControllerNew.cpp index 48239bb6..ea047f85 100644 --- a/DRAMSys/library/src/controller/ControllerNew.cpp +++ b/DRAMSys/library/src/controller/ControllerNew.cpp @@ -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); diff --git a/DRAMSys/library/src/controller/ControllerRecordable.cpp b/DRAMSys/library/src/controller/ControllerRecordable.cpp index 4a424a9a..d6d6480b 100644 --- a/DRAMSys/library/src/controller/ControllerRecordable.cpp +++ b/DRAMSys/library/src/controller/ControllerRecordable.cpp @@ -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( diff --git a/DRAMSys/library/src/controller/cmdmux/CmdMuxStrict.h b/DRAMSys/library/src/controller/cmdmux/CmdMuxStrict.h index 1b70b695..e5228e99 100644 --- a/DRAMSys/library/src/controller/cmdmux/CmdMuxStrict.h +++ b/DRAMSys/library/src/controller/cmdmux/CmdMuxStrict.h @@ -10,7 +10,7 @@ public: selectCommand(std::vector> &); private: - unsigned nextPayloadID = 0; + uint64_t nextPayloadID = 0; }; #endif // CMDMUXSTRICT_H diff --git a/DRAMSys/library/src/simulation/Arbiter.h b/DRAMSys/library/src/simulation/Arbiter.h index 206cd605..cb2bc27a 100644 --- a/DRAMSys/library/src/simulation/Arbiter.h +++ b/DRAMSys/library/src/simulation/Arbiter.h @@ -96,7 +96,7 @@ private: const tlm_phase &phase, const sc_time &delay); void appendDramExtension(int socketId, tlm_generic_payload &payload); - std::vector nextPayloadID; + std::vector nextPayloadID; bool addressIsValid(DecodedAddress &decodedAddress);