MCPcopy Create free account
hub / github.com/CMU-SAFARI/ramulator2 / HarnessMemorySystem

Method HarnessMemorySystem

tests/utils/test_harness.cpp:137–154  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

135class HarnessMemorySystem final : public IMemorySystem, public Implementation {
136 public:
137 explicit HarnessMemorySystem(ConfigNode controller_config)
138 : Implementation(ConfigNode(ConfigNode::Map{}), IMemorySystem::get_name(), "HarnessMemorySystem", nullptr) {
139 IMemorySystem::m_impl = this;
140
141 ConfigNode wrapped = wrap_interface_config(IController::get_name(), std::move(controller_config));
142 Implementation* controller_impl = Factory::create_implementation(IController::get_name(), wrapped, this);
143 add_child(controller_impl);
144
145 m_controller = dynamic_cast<IController*>(controller_impl);
146 if (!m_controller) {
147 throw std::runtime_error("HarnessMemorySystem failed to create a controller");
148 }
149 controller_impl->set_id("Channel 0");
150 m_controller->m_channel_id = 0;
151 m_controller->m_clock_ratio = 1;
152
153 gather_components();
154 }
155
156 void init() override {}
157 void setup(IFrontEnd* frontend, IMemorySystem* memory_system) override {}

Callers

nothing calls this directly

Calls 3

ConfigNodeClass · 0.85
wrap_interface_configFunction · 0.85
set_idMethod · 0.80

Tested by

no test coverage detected