packet.hh (3074:e87fbe7941f8) | packet.hh (3135:8e008e281579) |
---|---|
1/* 2 * Copyright (c) 2006 The Regents of The University of Michigan 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions are 7 * met: redistributions of source code must retain the above copyright 8 * notice, this list of conditions and the following disclaimer; --- 298 unchanged lines hidden (view full) --- 307 arrayData = false; 308 } 309 } 310 311 /** Take a request packet and modify it in place to be suitable 312 * for returning as a response to that request. Used for timing 313 * accesses only. For atomic and functional accesses, the 314 * request packet is always implicitly passed back *without* | 1/* 2 * Copyright (c) 2006 The Regents of The University of Michigan 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions are 7 * met: redistributions of source code must retain the above copyright 8 * notice, this list of conditions and the following disclaimer; --- 298 unchanged lines hidden (view full) --- 307 arrayData = false; 308 } 309 } 310 311 /** Take a request packet and modify it in place to be suitable 312 * for returning as a response to that request. Used for timing 313 * accesses only. For atomic and functional accesses, the 314 * request packet is always implicitly passed back *without* |
315 * modifying the command or destination fields, so this function | 315 * modifying the destination fields, so this function |
316 * should not be called. */ 317 void makeTimingResponse() { 318 assert(needsResponse()); 319 assert(isRequest()); 320 int icmd = (int)cmd; 321 icmd &= ~(IsRequest); 322 icmd |= IsResponse; 323 cmd = (Command)icmd; 324 dest = src; 325 srcValid = false; 326 } 327 | 316 * should not be called. */ 317 void makeTimingResponse() { 318 assert(needsResponse()); 319 assert(isRequest()); 320 int icmd = (int)cmd; 321 icmd &= ~(IsRequest); 322 icmd |= IsResponse; 323 cmd = (Command)icmd; 324 dest = src; 325 srcValid = false; 326 } 327 |
328 /** Take a request packet and modify it in place to be suitable 329 * for returning as a response to that request. 330 */ 331 void makeAtomicResponse() { 332 assert(needsResponse()); 333 assert(isRequest()); 334 int icmd = (int)cmd; 335 icmd &= ~(IsRequest); 336 icmd |= IsResponse; 337 cmd = (Command)icmd; 338 } 339 |
|
328 /** Take a request packet that has been returned as NACKED and modify it so 329 * that it can be sent out again. Only packets that need a response can be 330 * NACKED, so verify that that is true. */ 331 void reinitNacked() { 332 assert(needsResponse() && result == Nacked); 333 dest = Broadcast; 334 result = Unknown; 335 } --- 40 unchanged lines hidden --- | 340 /** Take a request packet that has been returned as NACKED and modify it so 341 * that it can be sent out again. Only packets that need a response can be 342 * NACKED, so verify that that is true. */ 343 void reinitNacked() { 344 assert(needsResponse() && result == Nacked); 345 dest = Broadcast; 346 result = Unknown; 347 } --- 40 unchanged lines hidden --- |