mshr.cc (7669:cc222ba29079) mshr.cc (7823:dac01f14f20f)
1/*
2 * Copyright (c) 2002-2005 The Regents of The University of Michigan
3 * Copyright (c) 2010 Advanced Micro Devices, Inc.
4 * All rights reserved.
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions are
8 * met: redistributions of source code must retain the above copyright

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

328 // and we need to respond after we receive data.
329 // 2. It's an invalidation (e.g., UpgradeReq), and we need
330 // to forward the snoop up the hierarchy after the current
331 // transaction completes.
332
333 // Actual target device (typ. PhysicalMemory) will delete the
334 // packet on reception, so we need to save a copy here.
335 PacketPtr cp_pkt = new Packet(pkt, true);
1/*
2 * Copyright (c) 2002-2005 The Regents of The University of Michigan
3 * Copyright (c) 2010 Advanced Micro Devices, Inc.
4 * All rights reserved.
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions are
8 * met: redistributions of source code must retain the above copyright

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

328 // and we need to respond after we receive data.
329 // 2. It's an invalidation (e.g., UpgradeReq), and we need
330 // to forward the snoop up the hierarchy after the current
331 // transaction completes.
332
333 // Actual target device (typ. PhysicalMemory) will delete the
334 // packet on reception, so we need to save a copy here.
335 PacketPtr cp_pkt = new Packet(pkt, true);
336 targets->add(cp_pkt, curTick, _order, Target::FromSnoop,
336 targets->add(cp_pkt, curTick(), _order, Target::FromSnoop,
337 downstreamPending && targets->needsExclusive);
338 ++ntargets;
339
340 if (isPendingDirty()) {
341 pkt->assertMemInhibit();
342 pkt->setSupplyExclusive();
343 }
344

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

373 deferredTargets = tmp;
374
375 assert(targets->size() == ntargets);
376
377 // clear deferredTargets flags
378 deferredTargets->resetFlags();
379
380 order = targets->front().order;
337 downstreamPending && targets->needsExclusive);
338 ++ntargets;
339
340 if (isPendingDirty()) {
341 pkt->assertMemInhibit();
342 pkt->setSupplyExclusive();
343 }
344

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

373 deferredTargets = tmp;
374
375 assert(targets->size() == ntargets);
376
377 // clear deferredTargets flags
378 deferredTargets->resetFlags();
379
380 order = targets->front().order;
381 readyTime = std::max(curTick, targets->front().readyTime);
381 readyTime = std::max(curTick(), targets->front().readyTime);
382
383 return true;
384}
385
386
387void
388MSHR::handleFill(Packet *pkt, CacheBlk *blk)
389{

--- 65 unchanged lines hidden ---
382
383 return true;
384}
385
386
387void
388MSHR::handleFill(Packet *pkt, CacheBlk *blk)
389{

--- 65 unchanged lines hidden ---