bridge.hh (4965:ad0e792a5c78) | bridge.hh (4986:b7c82ad6b3ef) |
---|---|
1/* 2 * Copyright (c) 2006 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; --- 64 unchanged lines hidden (view full) --- 73 /** Pass ranges from one side of the bridge to the other? */ 74 std::vector<Range<Addr> > filterRanges; 75 76 class PacketBuffer : public Packet::SenderState { 77 78 public: 79 Tick ready; 80 PacketPtr pkt; | 1/* 2 * Copyright (c) 2006 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; --- 64 unchanged lines hidden (view full) --- 73 /** Pass ranges from one side of the bridge to the other? */ 74 std::vector<Range<Addr> > filterRanges; 75 76 class PacketBuffer : public Packet::SenderState { 77 78 public: 79 Tick ready; 80 PacketPtr pkt; |
81 bool nackedHere; |
|
81 Packet::SenderState *origSenderState; 82 short origSrc; 83 bool expectResponse; 84 85 PacketBuffer(PacketPtr _pkt, Tick t, bool nack = false) | 82 Packet::SenderState *origSenderState; 83 short origSrc; 84 bool expectResponse; 85 86 PacketBuffer(PacketPtr _pkt, Tick t, bool nack = false) |
86 : ready(t), pkt(_pkt), 87 origSenderState(_pkt->senderState), origSrc(_pkt->getSrc()), | 87 : ready(t), pkt(_pkt), nackedHere(nack), 88 origSenderState(_pkt->senderState), 89 origSrc(nack ? _pkt->getDest() : _pkt->getSrc() ), |
88 expectResponse(_pkt->needsResponse() && !nack) 89 90 { | 90 expectResponse(_pkt->needsResponse() && !nack) 91 92 { |
91 if (!pkt->isResponse() && !nack && !pkt->wasNacked()) | 93 if (!pkt->isResponse() && !nack) |
92 pkt->senderState = this; 93 } 94 95 void fixResponse(PacketPtr pkt) 96 { 97 assert(pkt->senderState == this); 98 pkt->setDest(origSrc); 99 pkt->senderState = origSenderState; --- 114 unchanged lines hidden --- | 94 pkt->senderState = this; 95 } 96 97 void fixResponse(PacketPtr pkt) 98 { 99 assert(pkt->senderState == this); 100 pkt->setDest(origSrc); 101 pkt->senderState = origSenderState; --- 114 unchanged lines hidden --- |