summaryrefslogtreecommitdiff
path: root/src/mem/packet.hh
diff options
context:
space:
mode:
authorGabe Black <gblack@eecs.umich.edu>2006-10-05 16:26:16 -0400
committerGabe Black <gblack@eecs.umich.edu>2006-10-05 16:26:16 -0400
commitd9172c8f462511cde474040581063180be18540a (patch)
tree9bff3f3dc9e1ea6d5ee18398d8ca543feb0eb4dc /src/mem/packet.hh
parent51c8eab7b336a6c83e545b741cb975883fe56440 (diff)
downloadgem5-d9172c8f462511cde474040581063180be18540a.tar.xz
Partial reimplementation of the bus. The "clock" and "width" parameters have been added, and the HasData flag has been partially added to packets.
--HG-- extra : convert_revision : abb2a259fcf843457abbc0bd36f9504fbe6d7d39
Diffstat (limited to 'src/mem/packet.hh')
-rw-r--r--src/mem/packet.hh23
1 files changed, 14 insertions, 9 deletions
diff --git a/src/mem/packet.hh b/src/mem/packet.hh
index c7d28010c..b14343b47 100644
--- a/src/mem/packet.hh
+++ b/src/mem/packet.hh
@@ -174,7 +174,8 @@ class Packet
IsResponse = 1 << 5,
NeedsResponse = 1 << 6,
IsSWPrefetch = 1 << 7,
- IsHWPrefetch = 1 << 8
+ IsHWPrefetch = 1 << 8,
+ HasData = 1 << 9
};
public:
@@ -183,21 +184,24 @@ class Packet
{
InvalidCmd = 0,
ReadReq = IsRead | IsRequest | NeedsResponse,
- WriteReq = IsWrite | IsRequest | NeedsResponse,
- WriteReqNoAck = IsWrite | IsRequest,
- ReadResp = IsRead | IsResponse | NeedsResponse,
+ WriteReq = IsWrite | IsRequest | NeedsResponse,// | HasData,
+ WriteReqNoAck = IsWrite | IsRequest,// | HasData,
+ ReadResp = IsRead | IsResponse | NeedsResponse,// | HasData,
WriteResp = IsWrite | IsResponse | NeedsResponse,
- Writeback = IsWrite | IsRequest,
+ Writeback = IsWrite | IsRequest,// | HasData,
SoftPFReq = IsRead | IsRequest | IsSWPrefetch | NeedsResponse,
HardPFReq = IsRead | IsRequest | IsHWPrefetch | NeedsResponse,
- SoftPFResp = IsRead | IsResponse | IsSWPrefetch | NeedsResponse,
- HardPFResp = IsRead | IsResponse | IsHWPrefetch | NeedsResponse,
+ SoftPFResp = IsRead | IsResponse | IsSWPrefetch
+ | NeedsResponse,// | HasData,
+ HardPFResp = IsRead | IsResponse | IsHWPrefetch
+ | NeedsResponse,// | HasData,
InvalidateReq = IsInvalidate | IsRequest,
- WriteInvalidateReq = IsWrite | IsInvalidate | IsRequest,
+ WriteInvalidateReq = IsWrite | IsInvalidate | IsRequest,// | HasData,
UpgradeReq = IsInvalidate | IsRequest | NeedsResponse,
UpgradeResp = IsInvalidate | IsResponse | NeedsResponse,
ReadExReq = IsRead | IsInvalidate | IsRequest | NeedsResponse,
- ReadExResp = IsRead | IsInvalidate | IsResponse | NeedsResponse
+ ReadExResp = IsRead | IsInvalidate | IsResponse
+ | NeedsResponse,// | HasData
};
/** Return the string name of the cmd field (for debugging and
@@ -219,6 +223,7 @@ class Packet
bool isResponse() { return (cmd & IsResponse) != 0; }
bool needsResponse() { return (cmd & NeedsResponse) != 0; }
bool isInvalidate() { return (cmd & IsInvalidate) != 0; }
+ bool hasData() { return (cmd & HasData) != 0; }
bool isCacheFill() { return (flags & CACHE_LINE_FILL) != 0; }
bool isNoAllocate() { return (flags & NO_ALLOCATE) != 0; }