system.hh (8799:dac1e33e07b0) system.hh (8832:247fee427324)
1/*
2 * Copyright (c) 2012 ARM Limited
3 * All rights reserved
4 *
5 * The license below extends only to copyright in the software and shall
6 * not be construed as granting a license to any other intellectual
7 * property including but not limited to intellectual property relating
8 * to a hardware implementation of the functionality of the software

--- 215 unchanged lines hidden (view full) ---

224
225 protected:
226 Enums::MemoryMode memoryMode;
227 uint64_t workItemsBegin;
228 uint64_t workItemsEnd;
229 uint32_t numWorkIds;
230 std::vector<bool> activeCpus;
231
1/*
2 * Copyright (c) 2012 ARM Limited
3 * All rights reserved
4 *
5 * The license below extends only to copyright in the software and shall
6 * not be construed as granting a license to any other intellectual
7 * property including but not limited to intellectual property relating
8 * to a hardware implementation of the functionality of the software

--- 215 unchanged lines hidden (view full) ---

224
225 protected:
226 Enums::MemoryMode memoryMode;
227 uint64_t workItemsBegin;
228 uint64_t workItemsEnd;
229 uint32_t numWorkIds;
230 std::vector<bool> activeCpus;
231
232 /** This array is a per-sytem list of all devices capable of issuing a
233 * memory system request and an associated string for each master id.
234 * It's used to uniquely id any master in the system by name for things
235 * like cache statistics.
236 */
237 std::vector<std::string> masterIds;
238
232 public:
239 public:
240
241 /** Request an id used to create a request object in the system. All objects
242 * that intend to issues requests into the memory system must request an id
243 * in the init() phase of startup. All master ids must be fixed by the
244 * regStats() phase that immediately preceeds it. This allows objects in the
245 * memory system to understand how many masters may exist and
246 * appropriately name the bins of their per-master stats before the stats
247 * are finalized
248 */
249 MasterID getMasterId(std::string req_name);
250
251 /** Get the name of an object for a given request id.
252 */
253 std::string getMasterName(MasterID master_id);
254
255 /** Get the number of masters registered in the system */
256 MasterID maxMasters()
257 {
258 return masterIds.size();
259 }
260
233 virtual void regStats();
234 /**
235 * Called by pseudo_inst to track the number of work items started by this
236 * system.
237 */
238 uint64_t
239 incWorkItemsBegin()
240 {

--- 144 unchanged lines hidden ---
261 virtual void regStats();
262 /**
263 * Called by pseudo_inst to track the number of work items started by this
264 * system.
265 */
266 uint64_t
267 incWorkItemsBegin()
268 {

--- 144 unchanged lines hidden ---