packet.hh (10572:fc4c90a7d2f5) packet.hh (10583:d1e1e8588881)
1/*
2 * Copyright (c) 2012-2014 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

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

172 bool
173 testCmdAttrib(MemCmd::Attribute attrib) const
174 {
175 return commandInfo[cmd].attributes[attrib] != 0;
176 }
177
178 public:
179
1/*
2 * Copyright (c) 2012-2014 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

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

172 bool
173 testCmdAttrib(MemCmd::Attribute attrib) const
174 {
175 return commandInfo[cmd].attributes[attrib] != 0;
176 }
177
178 public:
179
180 bool isRead() const { return testCmdAttrib(IsRead); }
181 bool isWrite() const { return testCmdAttrib(IsWrite); }
182 bool isUpgrade() const { return testCmdAttrib(IsUpgrade); }
183 bool isRequest() const { return testCmdAttrib(IsRequest); }
184 bool isResponse() const { return testCmdAttrib(IsResponse); }
185 bool needsExclusive() const { return testCmdAttrib(NeedsExclusive); }
186 bool needsResponse() const { return testCmdAttrib(NeedsResponse); }
187 bool isInvalidate() const { return testCmdAttrib(IsInvalidate); }
180 bool isRead() const { return testCmdAttrib(IsRead); }
181 bool isWrite() const { return testCmdAttrib(IsWrite); }
182 bool isUpgrade() const { return testCmdAttrib(IsUpgrade); }
183 bool isRequest() const { return testCmdAttrib(IsRequest); }
184 bool isResponse() const { return testCmdAttrib(IsResponse); }
185 bool needsExclusive() const { return testCmdAttrib(NeedsExclusive); }
186 bool needsResponse() const { return testCmdAttrib(NeedsResponse); }
187 bool isInvalidate() const { return testCmdAttrib(IsInvalidate); }
188 bool isWriteInvalidate() const { return testCmdAttrib(IsWrite) &&
189 testCmdAttrib(IsInvalidate); }
188
189 /**
190 * Check if this particular packet type carries payload data. Note
191 * that this does not reflect if the data pointer of the packet is
192 * valid or not.
193 */
194 bool hasData() const { return testCmdAttrib(HasData); }
195 bool isLLSC() const { return testCmdAttrib(IsLlsc); }

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

490
491 /// Return the string name of the cmd field (for debugging and
492 /// tracing).
493 const std::string &cmdString() const { return cmd.toString(); }
494
495 /// Return the index of this command.
496 inline int cmdToIndex() const { return cmd.toInt(); }
497
190
191 /**
192 * Check if this particular packet type carries payload data. Note
193 * that this does not reflect if the data pointer of the packet is
194 * valid or not.
195 */
196 bool hasData() const { return testCmdAttrib(HasData); }
197 bool isLLSC() const { return testCmdAttrib(IsLlsc); }

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

492
493 /// Return the string name of the cmd field (for debugging and
494 /// tracing).
495 const std::string &cmdString() const { return cmd.toString(); }
496
497 /// Return the index of this command.
498 inline int cmdToIndex() const { return cmd.toInt(); }
499
498 bool isRead() const { return cmd.isRead(); }
499 bool isWrite() const { return cmd.isWrite(); }
500 bool isUpgrade() const { return cmd.isUpgrade(); }
501 bool isRequest() const { return cmd.isRequest(); }
502 bool isResponse() const { return cmd.isResponse(); }
503 bool needsExclusive() const { return cmd.needsExclusive(); }
504 bool needsResponse() const { return cmd.needsResponse(); }
505 bool isInvalidate() const { return cmd.isInvalidate(); }
506 bool hasData() const { return cmd.hasData(); }
507 bool isLLSC() const { return cmd.isLLSC(); }
508 bool isError() const { return cmd.isError(); }
509 bool isPrint() const { return cmd.isPrint(); }
510 bool isFlush() const { return cmd.isFlush(); }
500 bool isRead() const { return cmd.isRead(); }
501 bool isWrite() const { return cmd.isWrite(); }
502 bool isUpgrade() const { return cmd.isUpgrade(); }
503 bool isRequest() const { return cmd.isRequest(); }
504 bool isResponse() const { return cmd.isResponse(); }
505 bool needsExclusive() const { return cmd.needsExclusive(); }
506 bool needsResponse() const { return cmd.needsResponse(); }
507 bool isInvalidate() const { return cmd.isInvalidate(); }
508 bool isWriteInvalidate() const { return cmd.isWriteInvalidate(); }
509 bool hasData() const { return cmd.hasData(); }
510 bool isLLSC() const { return cmd.isLLSC(); }
511 bool isError() const { return cmd.isError(); }
512 bool isPrint() const { return cmd.isPrint(); }
513 bool isFlush() const { return cmd.isFlush(); }
511
512 // Snoop flags
513 void assertMemInhibit()
514 {
515 assert(isRequest());
516 assert(!flags.isSet(MEM_INHIBIT));
517 flags.set(MEM_INHIBIT);
518 }

--- 501 unchanged lines hidden ---
514
515 // Snoop flags
516 void assertMemInhibit()
517 {
518 assert(isRequest());
519 assert(!flags.isSet(MEM_INHIBIT));
520 flags.set(MEM_INHIBIT);
521 }

--- 501 unchanged lines hidden ---