Deleted Added
sdiff udiff text old ( 10694:1a6785e37d81 ) new ( 10723:b1d90d88420e )
full compact
1/*
2 * Copyright (c) 2012-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

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

299 * The original value of the command field. Only valid when the
300 * current command field is an error condition; in that case, the
301 * previous contents of the command field are copied here. This
302 * field is *not* set on non-error responses.
303 */
304 MemCmd origCmd;
305
306 /**
307 * These values specify the range of bytes found that satisfy a
308 * functional read.
309 */
310 uint16_t bytesValidStart;
311 uint16_t bytesValidEnd;
312
313 public:
314
315 /**
316 * The extra delay from seeing the packet until the header is
317 * transmitted. This delay is used to communicate the crossbar
318 * forwarding latency to the neighbouring object (e.g. a cache)
319 * that actually makes the packet wait. As the delay is relative,

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

568
569 /**
570 * Constructor. Note that a Request object must be constructed
571 * first, but the Requests's physical address and size fields need
572 * not be valid. The command must be supplied.
573 */
574 Packet(const RequestPtr _req, MemCmd _cmd)
575 : cmd(_cmd), req(_req), data(nullptr), addr(0), _isSecure(false),
576 size(0), bytesValidStart(0), bytesValidEnd(0),
577 headerDelay(0), payloadDelay(0),
578 senderState(NULL)
579 {
580 if (req->hasPaddr()) {
581 addr = req->getPaddr();
582 flags.set(VALID_ADDR);
583 _isSecure = req->isSecure();
584 }
585 if (req->hasSize()) {

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

590
591 /**
592 * Alternate constructor if you are trying to create a packet with
593 * a request that is for a whole block, not the address from the
594 * req. this allows for overriding the size/addr of the req.
595 */
596 Packet(const RequestPtr _req, MemCmd _cmd, int _blkSize)
597 : cmd(_cmd), req(_req), data(nullptr), addr(0), _isSecure(false),
598 bytesValidStart(0), bytesValidEnd(0),
599 headerDelay(0), payloadDelay(0),
600 senderState(NULL)
601 {
602 if (req->hasPaddr()) {
603 addr = req->getPaddr() & ~(_blkSize - 1);
604 flags.set(VALID_ADDR);
605 _isSecure = req->isSecure();
606 }

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

614 * that, as we can't guarantee that the new packet's lifetime is
615 * less than that of the original packet. In this case the new
616 * packet should allocate its own data.
617 */
618 Packet(PacketPtr pkt, bool clear_flags, bool alloc_data)
619 : cmd(pkt->cmd), req(pkt->req),
620 data(nullptr),
621 addr(pkt->addr), _isSecure(pkt->_isSecure), size(pkt->size),
622 bytesValidStart(pkt->bytesValidStart),
623 bytesValidEnd(pkt->bytesValidEnd),
624 headerDelay(pkt->headerDelay),
625 payloadDelay(pkt->payloadDelay),
626 senderState(pkt->senderState)
627 {
628 if (!clear_flags)
629 flags.set(pkt->flags & COPY_FLAGS);
630
631 flags.set(pkt->flags & (VALID_ADDR|VALID_SIZE));

--- 346 unchanged lines hidden ---