request.hh (12355:568ec3a0c614) request.hh (12749:223c83ed9979)
1/*
2 * Copyright (c) 2012-2013,2017 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

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

76 DMA = 1023, /* Mostly Table Walker */
77 Unknown = 1024,
78 NumTaskId
79 };
80}
81
82class Request;
83
1/*
2 * Copyright (c) 2012-2013,2017 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

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

76 DMA = 1023, /* Mostly Table Walker */
77 Unknown = 1024,
78 NumTaskId
79 };
80}
81
82class Request;
83
84typedef Request* RequestPtr;
84typedef std::shared_ptr<Request> RequestPtr;
85typedef uint16_t MasterID;
86
87class Request
88{
89 public:
90 typedef uint64_t FlagsType;
91 typedef uint8_t ArchFlagsType;
92 typedef ::Flags<FlagsType> Flags;

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

510 * Generate two requests as if this request had been split into two
511 * pieces. The original request can't have been translated already.
512 */
513 void splitOnVaddr(Addr split_addr, RequestPtr &req1, RequestPtr &req2)
514 {
515 assert(privateFlags.isSet(VALID_VADDR));
516 assert(privateFlags.noneSet(VALID_PADDR));
517 assert(split_addr > _vaddr && split_addr < _vaddr + _size);
85typedef uint16_t MasterID;
86
87class Request
88{
89 public:
90 typedef uint64_t FlagsType;
91 typedef uint8_t ArchFlagsType;
92 typedef ::Flags<FlagsType> Flags;

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

510 * Generate two requests as if this request had been split into two
511 * pieces. The original request can't have been translated already.
512 */
513 void splitOnVaddr(Addr split_addr, RequestPtr &req1, RequestPtr &req2)
514 {
515 assert(privateFlags.isSet(VALID_VADDR));
516 assert(privateFlags.noneSet(VALID_PADDR));
517 assert(split_addr > _vaddr && split_addr < _vaddr + _size);
518 req1 = new Request(*this);
519 req2 = new Request(*this);
518 req1 = std::make_shared<Request>(*this);
519 req2 = std::make_shared<Request>(*this);
520 req1->_size = split_addr - _vaddr;
521 req2->_vaddr = split_addr;
522 req2->_size = _size - req1->_size;
523 }
524
525 /**
526 * Accessor for paddr.
527 */

--- 391 unchanged lines hidden ---
520 req1->_size = split_addr - _vaddr;
521 req2->_vaddr = split_addr;
522 req2->_size = _size - req1->_size;
523 }
524
525 /**
526 * Accessor for paddr.
527 */

--- 391 unchanged lines hidden ---