packet.cc (10883:9294c4a60251) | packet.cc (10885:3ac92bf1f31f) |
---|---|
1/* 2 * Copyright (c) 2011-2015 ARM Limited 3 * All rights reserved 4 * 5 * The license below extends only to copyright in the software and shall 6 * not be construed as granting a license to any other intellectual 7 * property including but not limited to intellectual property relating 8 * to a hardware implementation of the functionality of the software --- 57 unchanged lines hidden (view full) --- 66#define SET5(a1, a2, a3, a4, a5) (SET4(a1, a2, a3, a4) | SET1(a5)) 67#define SET6(a1, a2, a3, a4, a5, a6) (SET5(a1, a2, a3, a4, a5) | SET1(a6)) 68 69const MemCmd::CommandInfo 70MemCmd::commandInfo[] = 71{ 72 /* InvalidCmd */ 73 { 0, InvalidCmd, "InvalidCmd" }, | 1/* 2 * Copyright (c) 2011-2015 ARM Limited 3 * All rights reserved 4 * 5 * The license below extends only to copyright in the software and shall 6 * not be construed as granting a license to any other intellectual 7 * property including but not limited to intellectual property relating 8 * to a hardware implementation of the functionality of the software --- 57 unchanged lines hidden (view full) --- 66#define SET5(a1, a2, a3, a4, a5) (SET4(a1, a2, a3, a4) | SET1(a5)) 67#define SET6(a1, a2, a3, a4, a5, a6) (SET5(a1, a2, a3, a4, a5) | SET1(a6)) 68 69const MemCmd::CommandInfo 70MemCmd::commandInfo[] = 71{ 72 /* InvalidCmd */ 73 { 0, InvalidCmd, "InvalidCmd" }, |
74 /* ReadReq */ | 74 /* ReadReq - Read issued by a non-caching agent such as a CPU or 75 * device, with no restrictions on alignment. */ |
75 { SET3(IsRead, IsRequest, NeedsResponse), ReadResp, "ReadReq" }, 76 /* ReadResp */ 77 { SET3(IsRead, IsResponse, HasData), InvalidCmd, "ReadResp" }, 78 /* ReadRespWithInvalidate */ 79 { SET4(IsRead, IsResponse, HasData, IsInvalidate), 80 InvalidCmd, "ReadRespWithInvalidate" }, 81 /* WriteReq */ 82 { SET5(IsWrite, NeedsExclusive, IsRequest, NeedsResponse, HasData), --- 37 unchanged lines hidden (view full) --- 120 /* SCUpgradeFailReq: generates UpgradeFailResp but still gets the data */ 121 { SET6(IsRead, NeedsExclusive, IsInvalidate, 122 IsLlsc, IsRequest, NeedsResponse), 123 UpgradeFailResp, "SCUpgradeFailReq" }, 124 /* UpgradeFailResp - Behaves like a ReadExReq, but notifies an SC 125 * that it has failed, acquires line as Dirty*/ 126 { SET4(IsRead, NeedsExclusive, IsResponse, HasData), 127 InvalidCmd, "UpgradeFailResp" }, | 76 { SET3(IsRead, IsRequest, NeedsResponse), ReadResp, "ReadReq" }, 77 /* ReadResp */ 78 { SET3(IsRead, IsResponse, HasData), InvalidCmd, "ReadResp" }, 79 /* ReadRespWithInvalidate */ 80 { SET4(IsRead, IsResponse, HasData, IsInvalidate), 81 InvalidCmd, "ReadRespWithInvalidate" }, 82 /* WriteReq */ 83 { SET5(IsWrite, NeedsExclusive, IsRequest, NeedsResponse, HasData), --- 37 unchanged lines hidden (view full) --- 121 /* SCUpgradeFailReq: generates UpgradeFailResp but still gets the data */ 122 { SET6(IsRead, NeedsExclusive, IsInvalidate, 123 IsLlsc, IsRequest, NeedsResponse), 124 UpgradeFailResp, "SCUpgradeFailReq" }, 125 /* UpgradeFailResp - Behaves like a ReadExReq, but notifies an SC 126 * that it has failed, acquires line as Dirty*/ 127 { SET4(IsRead, NeedsExclusive, IsResponse, HasData), 128 InvalidCmd, "UpgradeFailResp" }, |
128 /* ReadExReq */ | 129 /* ReadExReq - Read issues by a cache, always cache-line aligned, 130 * and the response is guaranteed to be writeable (exclusive or 131 * even modified) */ |
129 { SET5(IsRead, NeedsExclusive, IsInvalidate, IsRequest, NeedsResponse), 130 ReadExResp, "ReadExReq" }, | 132 { SET5(IsRead, NeedsExclusive, IsInvalidate, IsRequest, NeedsResponse), 133 ReadExResp, "ReadExReq" }, |
131 /* ReadExResp */ | 134 /* ReadExResp - Response matching a read exclusive, as we check 135 * the need for exclusive also on responses */ |
132 { SET4(IsRead, NeedsExclusive, IsResponse, HasData), 133 InvalidCmd, "ReadExResp" }, | 136 { SET4(IsRead, NeedsExclusive, IsResponse, HasData), 137 InvalidCmd, "ReadExResp" }, |
138 /* ReadCleanReq - Read issued by a cache, always cache-line 139 * aligned, and the response is guaranteed to not contain dirty data 140 * (exclusive or shared).*/ 141 { SET3(IsRead, IsRequest, NeedsResponse), ReadResp, "ReadCleanReq" }, 142 /* ReadSharedReq - Read issued by a cache, always cache-line 143 * aligned, response is shared, possibly exclusive, owned or even 144 * modified. */ 145 { SET3(IsRead, IsRequest, NeedsResponse), ReadResp, "ReadSharedReq" }, |
|
134 /* LoadLockedReq: note that we use plain ReadResp as response, so that 135 * we can also use ReadRespWithInvalidate when needed */ 136 { SET4(IsRead, IsLlsc, IsRequest, NeedsResponse), 137 ReadResp, "LoadLockedReq" }, 138 /* StoreCondReq */ 139 { SET6(IsWrite, NeedsExclusive, IsLlsc, 140 IsRequest, NeedsResponse, HasData), 141 StoreCondResp, "StoreCondReq" }, --- 250 unchanged lines hidden --- | 146 /* LoadLockedReq: note that we use plain ReadResp as response, so that 147 * we can also use ReadRespWithInvalidate when needed */ 148 { SET4(IsRead, IsLlsc, IsRequest, NeedsResponse), 149 ReadResp, "LoadLockedReq" }, 150 /* StoreCondReq */ 151 { SET6(IsWrite, NeedsExclusive, IsLlsc, 152 IsRequest, NeedsResponse, HasData), 153 StoreCondResp, "StoreCondReq" }, --- 250 unchanged lines hidden --- |