packet.hh (3212:41b04a73857f) packet.hh (3214:779bab9071b5)
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;

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

53#define NACKED_LINE 1 << 0
54#define SATISFIED 1 << 1
55#define SHARED_LINE 1 << 2
56#define CACHE_LINE_FILL 1 << 3
57#define COMPRESSED 1 << 4
58#define NO_ALLOCATE 1 << 5
59#define SNOOP_COMMIT 1 << 6
60
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;

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

53#define NACKED_LINE 1 << 0
54#define SATISFIED 1 << 1
55#define SHARED_LINE 1 << 2
56#define CACHE_LINE_FILL 1 << 3
57#define COMPRESSED 1 << 4
58#define NO_ALLOCATE 1 << 5
59#define SNOOP_COMMIT 1 << 6
60
61//for now. @todo fix later
62#define NUM_MEM_CMDS 1 << 11
61/**
62 * A Packet is used to encapsulate a transfer between two objects in
63 * the memory system (e.g., the L1 and L2 cache). (In contrast, a
64 * single Request travels all the way from the requester to the
65 * ultimate destination and back, possibly being conveyed by several
66 * different Packets along the way.)
67 */
68class Packet

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

168 IsWrite = 1 << 1,
169 IsPrefetch = 1 << 2,
170 IsInvalidate = 1 << 3,
171 IsRequest = 1 << 4,
172 IsResponse = 1 << 5,
173 NeedsResponse = 1 << 6,
174 IsSWPrefetch = 1 << 7,
175 IsHWPrefetch = 1 << 8,
63/**
64 * A Packet is used to encapsulate a transfer between two objects in
65 * the memory system (e.g., the L1 and L2 cache). (In contrast, a
66 * single Request travels all the way from the requester to the
67 * ultimate destination and back, possibly being conveyed by several
68 * different Packets along the way.)
69 */
70class Packet

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

170 IsWrite = 1 << 1,
171 IsPrefetch = 1 << 2,
172 IsInvalidate = 1 << 3,
173 IsRequest = 1 << 4,
174 IsResponse = 1 << 5,
175 NeedsResponse = 1 << 6,
176 IsSWPrefetch = 1 << 7,
177 IsHWPrefetch = 1 << 8,
176 HasData = 1 << 9
178 IsUpgrade = 1 << 9,
179 HasData = 1 << 10
177 };
180 };
178
179//For statistics we need max number of commands, hard code it at
180//20 for now. @todo fix later
181#define NUM_MEM_CMDS 1 << 10
182
183 public:
184 /** List of all commands associated with a packet. */
185 enum Command
186 {

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

194 SoftPFReq = IsRead | IsRequest | IsSWPrefetch | NeedsResponse,
195 HardPFReq = IsRead | IsRequest | IsHWPrefetch | NeedsResponse,
196 SoftPFResp = IsRead | IsResponse | IsSWPrefetch
197 | NeedsResponse | HasData,
198 HardPFResp = IsRead | IsResponse | IsHWPrefetch
199 | NeedsResponse | HasData,
200 InvalidateReq = IsInvalidate | IsRequest,
201 WriteInvalidateReq = IsWrite | IsInvalidate | IsRequest | HasData,
181//For statistics we need max number of commands, hard code it at
182//20 for now. @todo fix later
183#define NUM_MEM_CMDS 1 << 10
184
185 public:
186 /** List of all commands associated with a packet. */
187 enum Command
188 {

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

196 SoftPFReq = IsRead | IsRequest | IsSWPrefetch | NeedsResponse,
197 HardPFReq = IsRead | IsRequest | IsHWPrefetch | NeedsResponse,
198 SoftPFResp = IsRead | IsResponse | IsSWPrefetch
199 | NeedsResponse | HasData,
200 HardPFResp = IsRead | IsResponse | IsHWPrefetch
201 | NeedsResponse | HasData,
202 InvalidateReq = IsInvalidate | IsRequest,
203 WriteInvalidateReq = IsWrite | IsInvalidate | IsRequest | HasData,
202 UpgradeReq = IsInvalidate | IsRequest,
204 UpgradeReq = IsInvalidate | IsRequest | IsUpgrade,
203 ReadExReq = IsRead | IsInvalidate | IsRequest | NeedsResponse,
204 ReadExResp = IsRead | IsInvalidate | IsResponse
205 | NeedsResponse | HasData
206 };
207
208 /** Return the string name of the cmd field (for debugging and
209 * tracing). */
210 const std::string &cmdString() const;

--- 183 unchanged lines hidden ---
205 ReadExReq = IsRead | IsInvalidate | IsRequest | NeedsResponse,
206 ReadExResp = IsRead | IsInvalidate | IsResponse
207 | NeedsResponse | HasData
208 };
209
210 /** Return the string name of the cmd field (for debugging and
211 * tracing). */
212 const std::string &cmdString() const;

--- 183 unchanged lines hidden ---