atomic.cc (6658:f4de76601762) | atomic.cc (6739:48d10ba361c9) |
---|---|
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; --- 339 unchanged lines hidden (view full) --- 348 } 349 } 350 351 // This will need a new way to tell if it has a dcache attached. 352 if (req->isUncacheable()) 353 recordEvent("Uncached Read"); 354 355 //If there's a fault, return it | 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; --- 339 unchanged lines hidden (view full) --- 348 } 349 } 350 351 // This will need a new way to tell if it has a dcache attached. 352 if (req->isUncacheable()) 353 recordEvent("Uncached Read"); 354 355 //If there's a fault, return it |
356 if (fault != NoFault) 357 return fault; | 356 if (fault != NoFault) { 357 if (req->isPrefetch()) { 358 return NoFault; 359 } else { 360 return fault; 361 } 362 } 363 |
358 //If we don't need to access a second cache line, stop now. 359 if (secondAddr <= addr) 360 { 361 data = gtoh(data); 362 if (traceData) { 363 traceData->setData(data); 364 } 365 if (req->isLocked() && fault == NoFault) { --- 160 unchanged lines hidden (view full) --- 526 // or something. 527 if (traceData) { 528 traceData->setData(gtoh(data)); 529 } 530 if (req->isLocked() && fault == NoFault) { 531 assert(locked); 532 locked = false; 533 } | 364 //If we don't need to access a second cache line, stop now. 365 if (secondAddr <= addr) 366 { 367 data = gtoh(data); 368 if (traceData) { 369 traceData->setData(data); 370 } 371 if (req->isLocked() && fault == NoFault) { --- 160 unchanged lines hidden (view full) --- 532 // or something. 533 if (traceData) { 534 traceData->setData(gtoh(data)); 535 } 536 if (req->isLocked() && fault == NoFault) { 537 assert(locked); 538 locked = false; 539 } |
534 return fault; | 540 if (fault != NoFault && req->isPrefetch()) { 541 return NoFault; 542 } else { 543 return fault; 544 } |
535 } 536 537 /* 538 * Set up for accessing the second cache line. 539 */ 540 541 //Move the pointer we're reading into to the correct location. 542 dataPtr += dataSize; --- 193 unchanged lines hidden --- | 545 } 546 547 /* 548 * Set up for accessing the second cache line. 549 */ 550 551 //Move the pointer we're reading into to the correct location. 552 dataPtr += dataSize; --- 193 unchanged lines hidden --- |