atomic.cc (4040:eb894f3fc168) | atomic.cc (4050:cf1daaef9109) |
---|---|
1/* 2 * Copyright (c) 2002-2005 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; --- 407 unchanged lines hidden (view full) --- 416 panic("Unable to find responder for address pa = %#X va = %#X\n", 417 pkt->req->getPaddr(), pkt->req->getVaddr()); 418#endif 419 } 420 421 if (req->isSwap()) { 422 assert(res); 423 *res = pkt->get<T>(); | 1/* 2 * Copyright (c) 2002-2005 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; --- 407 unchanged lines hidden (view full) --- 416 panic("Unable to find responder for address pa = %#X va = %#X\n", 417 pkt->req->getPaddr(), pkt->req->getVaddr()); 418#endif 419 } 420 421 if (req->isSwap()) { 422 assert(res); 423 *res = pkt->get<T>(); |
424 } else if (res) { 425 *res = req->getScResult(); |
|
424 } | 426 } |
425 426 if (req->isLocked()) { 427 uint64_t scResult = req->getExtraData(); 428 if (scResult != 0) { 429 // clear failure counter 430 thread->setStCondFailures(0); 431 } 432 if (res) { 433 *res = req->getExtraData(); 434 } 435 } | |
436 } 437 438 // This will need a new way to tell if it's hooked up to a cache or not. 439 if (req->isUncacheable()) 440 recordEvent("Uncached Write"); 441 442 // If the write needs to have a fault on the access, consider calling 443 // changeStatus() and changing it to "bad addr write" or something. --- 212 unchanged lines hidden --- | 427 } 428 429 // This will need a new way to tell if it's hooked up to a cache or not. 430 if (req->isUncacheable()) 431 recordEvent("Uncached Write"); 432 433 // If the write needs to have a fault on the access, consider calling 434 // changeStatus() and changing it to "bad addr write" or something. --- 212 unchanged lines hidden --- |