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