1/* 2 * Copyright (c) 2012 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 --- 106 unchanged lines hidden (view full) --- 115 SwapReq, 116 SwapResp, 117 MessageReq, 118 MessageResp, 119 // Error responses 120 // @TODO these should be classified as responses rather than 121 // requests; coding them as requests initially for backwards 122 // compatibility |
123 InvalidDestError, // packet dest field invalid 124 BadAddressError, // memory address invalid 125 FunctionalReadError, // unable to fulfill functional read 126 FunctionalWriteError, // unable to fulfill functional write 127 // Fake simulator-only commands 128 PrintReq, // Print state matching address 129 FlushReq, //request for a cache flush 130 InvalidationReq, // request for address to be invalidated from lsq --- 329 unchanged lines hidden (view full) --- 460 bool isSupplyExclusive() { return flags.isSet(SUPPLY_EXCLUSIVE); } 461 void setSuppressFuncError() { flags.set(SUPPRESS_FUNC_ERROR); } 462 bool suppressFuncError() { return flags.isSet(SUPPRESS_FUNC_ERROR); } 463 464 // Network error conditions... encapsulate them as methods since 465 // their encoding keeps changing (from result field to command 466 // field, etc.) 467 void |
468 setBadAddress() 469 { 470 assert(isResponse()); 471 cmd = MemCmd::BadAddressError; 472 } 473 |
474 bool hadBadAddress() const { return cmd == MemCmd::BadAddressError; } 475 void copyError(Packet *pkt) { assert(pkt->isError()); cmd = pkt->cmd; } 476 477 bool isSrcValid() const { return src != InvalidPortID; } 478 /// Accessor function to get the source index of the packet. 479 PortID getSrc() const { assert(isSrcValid()); return src; } 480 /// Accessor function to set the source index of the packet. 481 void setSrc(PortID _src) { src = _src; } --- 173 unchanged lines hidden (view full) --- 655 if (isWrite()) { 656 cmd = MemCmd::FunctionalWriteError; 657 } else { 658 cmd = MemCmd::FunctionalReadError; 659 } 660 } 661 } 662 |
663 void |
664 setSize(unsigned size) 665 { 666 assert(!flags.isSet(VALID_SIZE)); 667 668 this->size = size; 669 flags.set(VALID_SIZE); 670 } 671 --- 178 unchanged lines hidden --- |