atomic.cc (7045:e21fe6a62b1c) atomic.cc (7046:d21d575a6f99)
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;

--- 337 unchanged lines hidden (view full) ---

346
347 assert(!pkt.isError());
348
349 if (req->isLLSC()) {
350 TheISA::handleLockedRead(thread, req);
351 }
352 }
353
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;

--- 337 unchanged lines hidden (view full) ---

346
347 assert(!pkt.isError());
348
349 if (req->isLLSC()) {
350 TheISA::handleLockedRead(thread, req);
351 }
352 }
353
354 // This will need a new way to tell if it has a dcache attached.
355 if (req->isUncacheable())
356 recordEvent("Uncached Read");
357
358 //If there's a fault, return it
359 if (fault != NoFault) {
360 if (req->isPrefetch()) {
361 return NoFault;
362 } else {
363 return fault;
364 }
365 }

--- 152 unchanged lines hidden (view full) ---

518 }
519 }
520
521 if (res && !req->isSwap()) {
522 *res = req->getExtraData();
523 }
524 }
525
354 //If there's a fault, return it
355 if (fault != NoFault) {
356 if (req->isPrefetch()) {
357 return NoFault;
358 } else {
359 return fault;
360 }
361 }

--- 152 unchanged lines hidden (view full) ---

514 }
515 }
516
517 if (res && !req->isSwap()) {
518 *res = req->getExtraData();
519 }
520 }
521
526 // This will need a new way to tell if it's hooked up to a cache or not.
527 if (req->isUncacheable())
528 recordEvent("Uncached Write");
529
530 //If there's a fault or we don't need to access a second cache line,
531 //stop now.
532 if (fault != NoFault || secondAddr <= addr)
533 {
534 if (req->isLocked() && fault == NoFault) {
535 assert(locked);
536 locked = false;
537 }

--- 206 unchanged lines hidden ---
522 //If there's a fault or we don't need to access a second cache line,
523 //stop now.
524 if (fault != NoFault || secondAddr <= addr)
525 {
526 if (req->isLocked() && fault == NoFault) {
527 assert(locked);
528 locked = false;
529 }

--- 206 unchanged lines hidden ---