packet.hh (4905:0ccda2bb3be7) packet.hh (4908:771ec077a955)
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;

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

252 bool destValid;
253
254 enum Flag {
255 // Snoop response flags
256 MemInhibit,
257 Shared,
258 // Special control flags
259 ExpressSnoop,
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;

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

252 bool destValid;
253
254 enum Flag {
255 // Snoop response flags
256 MemInhibit,
257 Shared,
258 // Special control flags
259 ExpressSnoop,
260 LowerMSHRPending, // not yet in service
261 NUM_PACKET_FLAGS
262 };
263
264 /** Status flags */
265 std::bitset<NUM_PACKET_FLAGS> flags;
266
267 public:
268

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

318 void assertMemInhibit() { flags[MemInhibit] = true; }
319 void assertShared() { flags[Shared] = true; }
320 bool memInhibitAsserted() { return flags[MemInhibit]; }
321 bool sharedAsserted() { return flags[Shared]; }
322
323 // Special control flags
324 void setExpressSnoop() { flags[ExpressSnoop] = true; }
325 bool isExpressSnoop() { return flags[ExpressSnoop]; }
260 NUM_PACKET_FLAGS
261 };
262
263 /** Status flags */
264 std::bitset<NUM_PACKET_FLAGS> flags;
265
266 public:
267

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

317 void assertMemInhibit() { flags[MemInhibit] = true; }
318 void assertShared() { flags[Shared] = true; }
319 bool memInhibitAsserted() { return flags[MemInhibit]; }
320 bool sharedAsserted() { return flags[Shared]; }
321
322 // Special control flags
323 void setExpressSnoop() { flags[ExpressSnoop] = true; }
324 bool isExpressSnoop() { return flags[ExpressSnoop]; }
326 void setLowerMSHRPending() { flags[LowerMSHRPending] = true; }
327 bool lowerMSHRPending() { return flags[LowerMSHRPending]; }
328
329 // Network error conditions... encapsulate them as methods since
330 // their encoding keeps changing (from result field to command
331 // field, etc.)
332 void setNacked() { origCmd = cmd; cmd = MemCmd::NetworkNackError; }
333 void setBadAddress() { origCmd = cmd; cmd = MemCmd::BadAddressError; }
334 bool wasNacked() { return cmd == MemCmd::NetworkNackError; }
335 bool hadBadAddress() { return cmd == MemCmd::BadAddressError; }

--- 254 unchanged lines hidden ---
325
326 // Network error conditions... encapsulate them as methods since
327 // their encoding keeps changing (from result field to command
328 // field, etc.)
329 void setNacked() { origCmd = cmd; cmd = MemCmd::NetworkNackError; }
330 void setBadAddress() { origCmd = cmd; cmd = MemCmd::BadAddressError; }
331 bool wasNacked() { return cmd == MemCmd::NetworkNackError; }
332 bool hadBadAddress() { return cmd == MemCmd::BadAddressError; }

--- 254 unchanged lines hidden ---