request.hh (10020:2f33cb012383) | request.hh (10024:fc10e1f9f124) |
---|---|
1/* 2 * Copyright (c) 2012-2013 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 --- 205 unchanged lines hidden (view full) --- 214 215 /** 216 * The time this request was started. Used to calculate 217 * latencies. This field is set to curTick() any time paddr or vaddr 218 * is written. 219 */ 220 Tick _time; 221 | 1/* 2 * Copyright (c) 2012-2013 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 --- 205 unchanged lines hidden (view full) --- 214 215 /** 216 * The time this request was started. Used to calculate 217 * latencies. This field is set to curTick() any time paddr or vaddr 218 * is written. 219 */ 220 Tick _time; 221 |
222 /** 223 * The task id associated with this request 224 */ 225 uint32_t _taskId; 226 |
|
222 /** The address space ID. */ 223 int _asid; 224 225 /** The virtual address of the request. */ 226 Addr _vaddr; 227 228 /** 229 * Extra data for the request, such as the return value of --- 9 unchanged lines hidden (view full) --- 239 Addr _pc; 240 241 public: 242 /** Minimal constructor. No fields are initialized. 243 * (Note that _flags and privateFlags are cleared by Flags 244 * default constructor.) 245 */ 246 Request() | 227 /** The address space ID. */ 228 int _asid; 229 230 /** The virtual address of the request. */ 231 Addr _vaddr; 232 233 /** 234 * Extra data for the request, such as the return value of --- 9 unchanged lines hidden (view full) --- 244 Addr _pc; 245 246 public: 247 /** Minimal constructor. No fields are initialized. 248 * (Note that _flags and privateFlags are cleared by Flags 249 * default constructor.) 250 */ 251 Request() |
247 : translateDelta(0), accessDelta(0), depth(0) | 252 : _taskId(ContextSwitchTaskId::Unknown), 253 translateDelta(0), accessDelta(0), depth(0) |
248 {} 249 250 /** 251 * Constructor for physical (e.g. device) requests. Initializes 252 * just physical address, size, flags, and timestamp (to curTick()). 253 * These fields are adequate to perform a request. 254 */ 255 Request(Addr paddr, int size, Flags flags, MasterID mid) | 254 {} 255 256 /** 257 * Constructor for physical (e.g. device) requests. Initializes 258 * just physical address, size, flags, and timestamp (to curTick()). 259 * These fields are adequate to perform a request. 260 */ 261 Request(Addr paddr, int size, Flags flags, MasterID mid) |
262 : _taskId(ContextSwitchTaskId::Unknown) |
|
256 { 257 setPhys(paddr, size, flags, mid); 258 } 259 260 Request(Addr paddr, int size, Flags flags, MasterID mid, Tick time) | 263 { 264 setPhys(paddr, size, flags, mid); 265 } 266 267 Request(Addr paddr, int size, Flags flags, MasterID mid, Tick time) |
268 : _taskId(ContextSwitchTaskId::Unknown) |
|
261 { 262 setPhys(paddr, size, flags, mid, time); 263 } 264 265 Request(Addr paddr, int size, Flags flags, MasterID mid, Tick time, Addr pc) | 269 { 270 setPhys(paddr, size, flags, mid, time); 271 } 272 273 Request(Addr paddr, int size, Flags flags, MasterID mid, Tick time, Addr pc) |
274 : _taskId(ContextSwitchTaskId::Unknown) |
|
266 { 267 setPhys(paddr, size, flags, mid, time); 268 privateFlags.set(VALID_PC); 269 _pc = pc; 270 } 271 272 Request(int asid, Addr vaddr, int size, Flags flags, MasterID mid, Addr pc, 273 int cid, ThreadID tid) | 275 { 276 setPhys(paddr, size, flags, mid, time); 277 privateFlags.set(VALID_PC); 278 _pc = pc; 279 } 280 281 Request(int asid, Addr vaddr, int size, Flags flags, MasterID mid, Addr pc, 282 int cid, ThreadID tid) |
283 : _taskId(ContextSwitchTaskId::Unknown) |
|
274 { 275 setVirt(asid, vaddr, size, flags, mid, pc); 276 setThreadContext(cid, tid); 277 } 278 279 ~Request() {} 280 281 /** --- 190 unchanged lines hidden (view full) --- 472 473 /** Accesssor for the requestor id. */ 474 MasterID 475 masterId() 476 { 477 return _masterId; 478 } 479 | 284 { 285 setVirt(asid, vaddr, size, flags, mid, pc); 286 setThreadContext(cid, tid); 287 } 288 289 ~Request() {} 290 291 /** --- 190 unchanged lines hidden (view full) --- 482 483 /** Accesssor for the requestor id. */ 484 MasterID 485 masterId() 486 { 487 return _masterId; 488 } 489 |
490 uint32_t 491 taskId() const 492 { 493 return _taskId; 494 } 495 496 void 497 taskId(uint32_t id) { 498 _taskId = id; 499 } 500 |
|
480 /** Accessor function for asid.*/ 481 int 482 getAsid() 483 { 484 assert(privateFlags.isSet(VALID_VADDR)); 485 return _asid; 486 } 487 --- 109 unchanged lines hidden --- | 501 /** Accessor function for asid.*/ 502 int 503 getAsid() 504 { 505 assert(privateFlags.isSet(VALID_VADDR)); 506 return _asid; 507 } 508 --- 109 unchanged lines hidden --- |