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 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); |
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 --- |