base.hh (9294:8fb03b13de02) base.hh (9332:ae2a5329ce96)
1/*
2 * Copyright (c) 2011 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

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

98 int _cpuId;
99
100 /** instruction side request id that must be placed in all requests */
101 MasterID _instMasterId;
102
103 /** data side request id that must be placed in all requests */
104 MasterID _dataMasterId;
105
1/*
2 * Copyright (c) 2011 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

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

98 int _cpuId;
99
100 /** instruction side request id that must be placed in all requests */
101 MasterID _instMasterId;
102
103 /** data side request id that must be placed in all requests */
104 MasterID _dataMasterId;
105
106 /** An intrenal representation of a task identifier within gem5. This is
107 * used so the CPU can add which taskId (which is an internal representation
108 * of the OS process ID) to each request so components in the memory system
109 * can track which process IDs are ultimately interacting with them
110 */
111 uint32_t _taskId;
112
113 /** The current OS process ID that is executing on this processor. This is
114 * used to generate a taskId */
115 uint32_t _pid;
116
106 /**
107 * Define a base class for the CPU ports (instruction and data)
108 * that is refined in the subclasses. This class handles the
109 * common cases, i.e. the functional accesses and the status
110 * changes and address range queries. The default behaviour for
111 * both atomic and timing access is to panic and the corresponding
112 * subclasses have to override these methods.
113 */

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

169 * @param if_name the port name
170 * @param idx ignored index
171 *
172 * @return a reference to the port with the given name
173 */
174 BaseMasterPort &getMasterPort(const std::string &if_name,
175 PortID idx = InvalidPortID);
176
117 /**
118 * Define a base class for the CPU ports (instruction and data)
119 * that is refined in the subclasses. This class handles the
120 * common cases, i.e. the functional accesses and the status
121 * changes and address range queries. The default behaviour for
122 * both atomic and timing access is to panic and the corresponding
123 * subclasses have to override these methods.
124 */

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

180 * @param if_name the port name
181 * @param idx ignored index
182 *
183 * @return a reference to the port with the given name
184 */
185 BaseMasterPort &getMasterPort(const std::string &if_name,
186 PortID idx = InvalidPortID);
187
188 /** Get cpu task id */
189 uint32_t taskId() const { return _taskId; }
190 /** Set cpu task id */
191 void taskId(uint32_t id) { _taskId = id; }
192
193 uint32_t getPid() const { return _pid; }
194 void setPid(uint32_t pid) { _pid = pid; }
195
177 inline void workItemBegin() { numWorkItemsStarted++; }
178 inline void workItemEnd() { numWorkItemsCompleted++; }
179 // @todo remove me after debugging with legion done
180 Tick instCount() { return instCnt; }
181
182 TheISA::MicrocodeRom microcodeRom;
183
184 protected:

--- 215 unchanged lines hidden ---
196 inline void workItemBegin() { numWorkItemsStarted++; }
197 inline void workItemEnd() { numWorkItemsCompleted++; }
198 // @todo remove me after debugging with legion done
199 Tick instCount() { return instCnt; }
200
201 TheISA::MicrocodeRom microcodeRom;
202
203 protected:

--- 215 unchanged lines hidden ---