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 ---