diff options
author | Gabe Black <gblack@eecs.umich.edu> | 2007-08-26 21:45:40 -0700 |
---|---|---|
committer | Gabe Black <gblack@eecs.umich.edu> | 2007-08-26 21:45:40 -0700 |
commit | 7227ab5f223eb5f4d3ce80ea16bff5f87c3300b6 (patch) | |
tree | 3f6c407eccafc56c85a6077fd05f4e98f7e6f034 /src/mem/packet.hh | |
parent | 8d1c7a83d7c052ba312a21ff6c6b8967b1e4b5f4 (diff) | |
download | gem5-7227ab5f223eb5f4d3ce80ea16bff5f87c3300b6.tar.xz |
Merge with head
--HG--
extra : convert_revision : cc73b9aaf73e9dacf52f3350fa591e67ca4ccee6
Diffstat (limited to 'src/mem/packet.hh')
-rw-r--r-- | src/mem/packet.hh | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/mem/packet.hh b/src/mem/packet.hh index 2b650a51e..9c366f9fc 100644 --- a/src/mem/packet.hh +++ b/src/mem/packet.hh @@ -332,10 +332,11 @@ class Packet : public FastAlloc // Network error conditions... encapsulate them as methods since // their encoding keeps changing (from result field to command // field, etc.) - void setNacked() { origCmd = cmd; cmd = MemCmd::NetworkNackError; } - void setBadAddress() { origCmd = cmd; cmd = MemCmd::BadAddressError; } + void setNacked() { assert(isResponse()); cmd = MemCmd::NetworkNackError; } + void setBadAddress() { assert(isResponse()); cmd = MemCmd::BadAddressError; } bool wasNacked() { return cmd == MemCmd::NetworkNackError; } bool hadBadAddress() { return cmd == MemCmd::BadAddressError; } + void copyError(Packet *pkt) { assert(pkt->isError()); cmd = pkt->cmd; } bool nic_pkt() { panic("Unimplemented"); M5_DUMMY_RETURN } @@ -431,6 +432,7 @@ class Packet : public FastAlloc { assert(needsResponse()); assert(isRequest()); + origCmd = cmd; cmd = cmd.responseCommand(); dest = src; destValid = srcValid; |