timing.cc (14085:0075b0d29d55) | timing.cc (14297:b4519e586f5e) |
---|---|
1/* 2 * Copyright 2014 Google, Inc. 3 * Copyright (c) 2010-2013,2015,2017-2018 ARM Limited 4 * All rights reserved 5 * 6 * The license below extends only to copyright in the software and shall 7 * not be construed as granting a license to any other intellectual 8 * property including but not limited to intellectual property relating --- 550 unchanged lines hidden (view full) --- 559 560 // Translation faults will be returned via finishTranslation() 561 return NoFault; 562} 563 564Fault 565TimingSimpleCPU::initiateMemAMO(Addr addr, unsigned size, 566 Request::Flags flags, | 1/* 2 * Copyright 2014 Google, Inc. 3 * Copyright (c) 2010-2013,2015,2017-2018 ARM Limited 4 * All rights reserved 5 * 6 * The license below extends only to copyright in the software and shall 7 * not be construed as granting a license to any other intellectual 8 * property including but not limited to intellectual property relating --- 550 unchanged lines hidden (view full) --- 559 560 // Translation faults will be returned via finishTranslation() 561 return NoFault; 562} 563 564Fault 565TimingSimpleCPU::initiateMemAMO(Addr addr, unsigned size, 566 Request::Flags flags, |
567 AtomicOpFunctor *amo_op) | 567 AtomicOpFunctorPtr amo_op) |
568{ 569 SimpleExecContext &t_info = *threadInfo[curThread]; 570 SimpleThread* thread = t_info.thread; 571 572 Fault fault; 573 const int asid = 0; 574 const Addr pc = thread->instAddr(); 575 unsigned block_size = cacheLineSize(); 576 BaseTLB::Mode mode = BaseTLB::Write; 577 578 if (traceData) 579 traceData->setMem(addr, size, flags); 580 581 RequestPtr req = make_shared<Request>(asid, addr, size, flags, | 568{ 569 SimpleExecContext &t_info = *threadInfo[curThread]; 570 SimpleThread* thread = t_info.thread; 571 572 Fault fault; 573 const int asid = 0; 574 const Addr pc = thread->instAddr(); 575 unsigned block_size = cacheLineSize(); 576 BaseTLB::Mode mode = BaseTLB::Write; 577 578 if (traceData) 579 traceData->setMem(addr, size, flags); 580 581 RequestPtr req = make_shared<Request>(asid, addr, size, flags, |
582 dataMasterId(), pc, thread->contextId(), amo_op); | 582 dataMasterId(), pc, thread->contextId(), 583 std::move(amo_op)); |
583 584 assert(req->hasAtomicOpFunctor()); 585 586 req->taskId(taskId()); 587 588 Addr split_addr = roundDown(addr + size - 1, block_size); 589 590 // AMO requests that access across a cache line boundary are not --- 491 unchanged lines hidden --- | 584 585 assert(req->hasAtomicOpFunctor()); 586 587 req->taskId(taskId()); 588 589 Addr split_addr = roundDown(addr + size - 1, block_size); 590 591 // AMO requests that access across a cache line boundary are not --- 491 unchanged lines hidden --- |