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 * Track the bytes found that satisfy a functional read.
308 */
309 std::vector<bool> bytesValid;
310
311 public:
312
313 /**
314 * The extra delay from seeing the packet until the header is
315 * transmitted. This delay is used to communicate the crossbar
316 * forwarding latency to the neighbouring object (e.g. a cache)
317 * that actually makes the packet wait. As the delay is relative,

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

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

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

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

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

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

--- 346 unchanged lines hidden ---