diff --git a/src/libdramsys/DRAMSys/common/DebugManager.h b/src/libdramsys/DRAMSys/common/DebugManager.h index cee92445..0c93e050 100644 --- a/src/libdramsys/DRAMSys/common/DebugManager.h +++ b/src/libdramsys/DRAMSys/common/DebugManager.h @@ -64,6 +64,8 @@ private: public: DebugManager(const DebugManager&) = delete; DebugManager& operator=(const DebugManager&) = delete; + DebugManager(DebugManager&&) = delete; + DebugManager& operator=(DebugManager&&) = delete; void setup(bool _debugEnabled, bool _writeToConsole, bool _writeToFile); diff --git a/src/libdramsys/DRAMSys/common/TlmRecorder.h b/src/libdramsys/DRAMSys/common/TlmRecorder.h index 6a4a8d04..4cbc705d 100644 --- a/src/libdramsys/DRAMSys/common/TlmRecorder.h +++ b/src/libdramsys/DRAMSys/common/TlmRecorder.h @@ -63,8 +63,11 @@ class TlmRecorder { public: TlmRecorder(const std::string& name, const Configuration& config, const std::string& dbName); - TlmRecorder(const TlmRecorder&) = delete; - TlmRecorder(TlmRecorder&&) = default; + TlmRecorder(const TlmRecorder &) = delete; + TlmRecorder(TlmRecorder &&) = default; + TlmRecorder &operator=(const TlmRecorder &) = delete; + TlmRecorder &operator=(TlmRecorder &&) = delete; + ~TlmRecorder() = default; void recordMcConfig(std::string _mcconfig) { @@ -95,7 +98,6 @@ private: struct Transaction { - Transaction(const Transaction& other) = default; Transaction(uint64_t id, uint64_t address, unsigned int dataLength, char cmd, const sc_core::sc_time& timeOfGeneration, Thread thread, Channel channel) : id(id), address(address), dataLength(dataLength), cmd(cmd), timeOfGeneration(timeOfGeneration), diff --git a/src/libdramsys/DRAMSys/configuration/Configuration.h b/src/libdramsys/DRAMSys/configuration/Configuration.h index 5cdfb938..55700028 100644 --- a/src/libdramsys/DRAMSys/configuration/Configuration.h +++ b/src/libdramsys/DRAMSys/configuration/Configuration.h @@ -55,10 +55,6 @@ namespace DRAMSys class Configuration { public: - Configuration() = default; - Configuration(const Configuration&) = delete; - Configuration& operator=(const Configuration &) = delete; - // MCConfig: enum class PagePolicy {Open, Closed, OpenAdaptive, ClosedAdaptive} pagePolicy = PagePolicy::Open; enum class Scheduler {Fifo, FrFcfs, FrFcfsGrp, GrpFrFcfs, GrpFrFcfsWm} scheduler = Scheduler::FrFcfs; diff --git a/src/libdramsys/DRAMSys/configuration/memspec/MemSpec.h b/src/libdramsys/DRAMSys/configuration/memspec/MemSpec.h index 25706279..a808d241 100644 --- a/src/libdramsys/DRAMSys/configuration/memspec/MemSpec.h +++ b/src/libdramsys/DRAMSys/configuration/memspec/MemSpec.h @@ -54,6 +54,10 @@ namespace DRAMSys class MemSpec { public: + MemSpec &operator=(const MemSpec &) = delete; + MemSpec &operator=(MemSpec &&) = delete; + virtual ~MemSpec() = default; + const unsigned numberOfChannels; const unsigned pseudoChannelsPerChannel; const unsigned ranksPerChannel; @@ -84,8 +88,6 @@ public: WideIO2, GDDR5, GDDR5X, GDDR6, HBM2, HBM3, STTMRAM } memoryType; - virtual ~MemSpec() = default; - [[nodiscard]] virtual sc_core::sc_time getRefreshIntervalAB() const; [[nodiscard]] virtual sc_core::sc_time getRefreshIntervalPB() const; [[nodiscard]] virtual sc_core::sc_time getRefreshIntervalP2B() const; @@ -115,6 +117,9 @@ protected: unsigned banksPerChannel, unsigned bankGroupsPerChannel, unsigned devicesPerRank); + MemSpec(const MemSpec &) = default; + MemSpec(MemSpec &&) = default; + // Command lengths in cycles on bus, usually one clock cycle std::vector commandLengthInCycles; sc_core::sc_time burstDuration; diff --git a/src/libdramsys/DRAMSys/controller/Controller.h b/src/libdramsys/DRAMSys/controller/Controller.h index f2a1ea60..5913083e 100644 --- a/src/libdramsys/DRAMSys/controller/Controller.h +++ b/src/libdramsys/DRAMSys/controller/Controller.h @@ -118,7 +118,13 @@ private: class MemoryManager : public tlm::tlm_mm_interface { public: + MemoryManager() = default; + MemoryManager(const MemoryManager &) = delete; + MemoryManager(MemoryManager &&) = delete; + MemoryManager &operator=(const MemoryManager &) = delete; + MemoryManager &operator=(MemoryManager &&) = delete; ~MemoryManager() override; + tlm::tlm_generic_payload& allocate(); void free(tlm::tlm_generic_payload* trans) override; diff --git a/src/libdramsys/DRAMSys/controller/ControllerRecordable.h b/src/libdramsys/DRAMSys/controller/ControllerRecordable.h index 91fd3832..0445179c 100644 --- a/src/libdramsys/DRAMSys/controller/ControllerRecordable.h +++ b/src/libdramsys/DRAMSys/controller/ControllerRecordable.h @@ -49,7 +49,6 @@ class ControllerRecordable final : public Controller public: ControllerRecordable(const sc_core::sc_module_name& name, const Configuration& config, const AddressDecoder& addressDecoder, TlmRecorder& tlmRecorder); - ~ControllerRecordable() override = default; protected: tlm::tlm_sync_enum nb_transport_fw(tlm::tlm_generic_payload& trans, tlm::tlm_phase& phase, diff --git a/src/libdramsys/DRAMSys/controller/ManagerIF.h b/src/libdramsys/DRAMSys/controller/ManagerIF.h index 06a8afaa..b4e1c380 100644 --- a/src/libdramsys/DRAMSys/controller/ManagerIF.h +++ b/src/libdramsys/DRAMSys/controller/ManagerIF.h @@ -42,11 +42,19 @@ namespace DRAMSys class ManagerIF { +protected: + ManagerIF(const ManagerIF &) = default; + ManagerIF(ManagerIF &&) = default; + ManagerIF &operator=(const ManagerIF &) = default; + ManagerIF &operator=(ManagerIF &&) = default; + public: + ManagerIF() = default; + virtual ~ManagerIF() = default; + virtual void evaluate() = 0; virtual CommandTuple::Type getNextCommand() = 0; virtual void update(Command command) = 0; - virtual ~ManagerIF() = default; }; } // namespace DRAMSys diff --git a/src/libdramsys/DRAMSys/controller/checker/CheckerIF.h b/src/libdramsys/DRAMSys/controller/checker/CheckerIF.h index 35f0ecd4..6580e910 100644 --- a/src/libdramsys/DRAMSys/controller/checker/CheckerIF.h +++ b/src/libdramsys/DRAMSys/controller/checker/CheckerIF.h @@ -44,7 +44,14 @@ namespace DRAMSys class CheckerIF { +protected: + CheckerIF(const CheckerIF &) = default; + CheckerIF(CheckerIF &&) = default; + CheckerIF &operator=(const CheckerIF &) = default; + CheckerIF &operator=(CheckerIF &&) = default; + public: + CheckerIF() = default; virtual ~CheckerIF() = default; [[nodiscard]] virtual sc_core::sc_time timeToSatisfyConstraints(Command command, const tlm::tlm_generic_payload& payload) const = 0; diff --git a/src/libdramsys/DRAMSys/controller/cmdmux/CmdMuxIF.h b/src/libdramsys/DRAMSys/controller/cmdmux/CmdMuxIF.h index a3070f8c..c032a159 100644 --- a/src/libdramsys/DRAMSys/controller/cmdmux/CmdMuxIF.h +++ b/src/libdramsys/DRAMSys/controller/cmdmux/CmdMuxIF.h @@ -42,8 +42,16 @@ namespace DRAMSys class CmdMuxIF { +protected: + CmdMuxIF(const CmdMuxIF &) = default; + CmdMuxIF(CmdMuxIF &&) = default; + CmdMuxIF &operator=(const CmdMuxIF &) = default; + CmdMuxIF &operator=(CmdMuxIF &&) = default; + public: + CmdMuxIF() = default; virtual ~CmdMuxIF() = default; + virtual CommandTuple::Type selectCommand(const ReadyCommands & readyCommands) = 0; }; diff --git a/src/libdramsys/DRAMSys/controller/respqueue/RespQueueIF.h b/src/libdramsys/DRAMSys/controller/respqueue/RespQueueIF.h index 30a6c53b..dad6725a 100644 --- a/src/libdramsys/DRAMSys/controller/respqueue/RespQueueIF.h +++ b/src/libdramsys/DRAMSys/controller/respqueue/RespQueueIF.h @@ -43,11 +43,19 @@ namespace DRAMSys class RespQueueIF { +protected: + RespQueueIF(const RespQueueIF &) = default; + RespQueueIF(RespQueueIF &&) = default; + RespQueueIF &operator=(const RespQueueIF &) = default; + RespQueueIF &operator=(RespQueueIF &&) = default; + public: + RespQueueIF() = default; + virtual ~RespQueueIF() = default; + virtual void insertPayload(tlm::tlm_generic_payload* payload, sc_core::sc_time strobeEnd) = 0; virtual tlm::tlm_generic_payload* nextPayload() = 0; [[nodiscard]] virtual sc_core::sc_time getTriggerTime() const = 0; - virtual ~RespQueueIF() = default; }; } // namespace DRAMSys diff --git a/src/libdramsys/DRAMSys/controller/scheduler/BufferCounterIF.h b/src/libdramsys/DRAMSys/controller/scheduler/BufferCounterIF.h index fd4a6fbe..02357545 100644 --- a/src/libdramsys/DRAMSys/controller/scheduler/BufferCounterIF.h +++ b/src/libdramsys/DRAMSys/controller/scheduler/BufferCounterIF.h @@ -43,8 +43,16 @@ namespace DRAMSys class BufferCounterIF { +protected: + BufferCounterIF(const BufferCounterIF &) = default; + BufferCounterIF(BufferCounterIF &&) = default; + BufferCounterIF &operator=(const BufferCounterIF &) = default; + BufferCounterIF &operator=(BufferCounterIF &&) = default; + public: + BufferCounterIF() = default; virtual ~BufferCounterIF() = default; + [[nodiscard]] virtual bool hasBufferSpace() const = 0; virtual void storeRequest(const tlm::tlm_generic_payload& trans) = 0; virtual void removeRequest(const tlm::tlm_generic_payload& trans) = 0; diff --git a/src/libdramsys/DRAMSys/controller/scheduler/SchedulerIF.h b/src/libdramsys/DRAMSys/controller/scheduler/SchedulerIF.h index da3639b4..0aed1e9e 100644 --- a/src/libdramsys/DRAMSys/controller/scheduler/SchedulerIF.h +++ b/src/libdramsys/DRAMSys/controller/scheduler/SchedulerIF.h @@ -47,8 +47,16 @@ class BankMachine; class SchedulerIF { +protected: + SchedulerIF(const SchedulerIF &) = default; + SchedulerIF(SchedulerIF &&) = default; + SchedulerIF &operator=(const SchedulerIF &) = default; + SchedulerIF &operator=(SchedulerIF &&) = default; + public: + SchedulerIF() = default; virtual ~SchedulerIF() = default; + [[nodiscard]] virtual bool hasBufferSpace() const = 0; virtual void storeRequest(tlm::tlm_generic_payload& payload) = 0; virtual void removeRequest(tlm::tlm_generic_payload& payload) = 0; diff --git a/src/libdramsys/DRAMSys/simulation/dram/Dram.h b/src/libdramsys/DRAMSys/simulation/dram/Dram.h index 9227d391..acf16459 100644 --- a/src/libdramsys/DRAMSys/simulation/dram/Dram.h +++ b/src/libdramsys/DRAMSys/simulation/dram/Dram.h @@ -86,6 +86,11 @@ public: tlm_utils::simple_target_socket tSocket; virtual void reportPower(); + + Dram(const Dram &) = delete; + Dram(Dram &&) = delete; + Dram &operator=(const Dram &) = delete; + Dram &operator=(Dram &&) = delete; ~Dram() override; }; diff --git a/src/simulator/simulator/Initiator.h b/src/simulator/simulator/Initiator.h index 4f6e0187..8cc14675 100644 --- a/src/simulator/simulator/Initiator.h +++ b/src/simulator/simulator/Initiator.h @@ -39,7 +39,14 @@ class Initiator { +protected: + Initiator(const Initiator &) = default; + Initiator(Initiator &&) = default; + Initiator &operator=(const Initiator &) = default; + Initiator &operator=(Initiator &&) = default; + public: + Initiator() = default; virtual ~Initiator() = default; virtual void bind(tlm_utils::multi_target_base<> &target) = 0; diff --git a/src/simulator/simulator/MemoryManager.h b/src/simulator/simulator/MemoryManager.h index f5dc99b5..52c760a1 100644 --- a/src/simulator/simulator/MemoryManager.h +++ b/src/simulator/simulator/MemoryManager.h @@ -45,7 +45,12 @@ class MemoryManager : public tlm::tlm_mm_interface { public: explicit MemoryManager(bool storageEnabled); + MemoryManager(const MemoryManager &) = delete; + MemoryManager(MemoryManager &&) = delete; + MemoryManager &operator=(const MemoryManager &) = delete; + MemoryManager &operator=(MemoryManager &&) = delete; ~MemoryManager() override; + tlm::tlm_generic_payload& allocate(unsigned dataLength); void free(tlm::tlm_generic_payload* payload) override; diff --git a/src/simulator/simulator/request/RequestProducer.h b/src/simulator/simulator/request/RequestProducer.h index 212f14c6..5c22ead1 100644 --- a/src/simulator/simulator/request/RequestProducer.h +++ b/src/simulator/simulator/request/RequestProducer.h @@ -39,7 +39,14 @@ class RequestProducer { +protected: + RequestProducer(const RequestProducer &) = default; + RequestProducer(RequestProducer &&) = default; + RequestProducer &operator=(const RequestProducer &) = default; + RequestProducer &operator=(RequestProducer &&) = default; + public: + RequestProducer() = default; virtual ~RequestProducer() = default; virtual Request nextRequest() = 0; diff --git a/src/util/DRAMSys/util/json.h b/src/util/DRAMSys/util/json.h index 5279c8f1..5d34a4b2 100644 --- a/src/util/DRAMSys/util/json.h +++ b/src/util/DRAMSys/util/json.h @@ -142,6 +142,8 @@ struct adl_serializer> { NLOHMANN_JSON_NAMESPACE_END +// NOLINTBEGIN(cppcoreguidelines-macro-usage) + #define EXTEND_JSON_TO(v1) DRAMSys::util::extended_to_json(#v1, nlohmann_json_j, nlohmann_json_t.v1); #define EXTEND_JSON_FROM(v1) DRAMSys::util::extended_from_json(#v1, nlohmann_json_j, nlohmann_json_t.v1); @@ -153,4 +155,6 @@ NLOHMANN_JSON_NAMESPACE_END NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_PASTE(EXTEND_JSON_FROM, __VA_ARGS__)) \ } -#endif \ No newline at end of file +// NOLINTEND(cppcoreguidelines-macro-usage) + +#endif // DRAMSYS_UTIL_JSON_H