1/* 2 * Copyright (c) 2011-2012,2016-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 --- 304 unchanged lines hidden (view full) --- 313} 314 315void 316BaseCPU::mwaitAtomic(ThreadID tid, ThreadContext *tc, BaseTLB *dtb) 317{ 318 assert(tid < numThreads); 319 AddressMonitor &monitor = addressMonitor[tid]; 320 |
321 RequestPtr req = std::make_shared<Request>(); 322 |
323 Addr addr = monitor.vAddr; 324 int block_size = cacheLineSize(); 325 uint64_t mask = ~((uint64_t)(block_size - 1)); 326 int size = block_size; 327 328 //The address of the next line if it crosses a cache line boundary. 329 Addr secondAddr = roundDown(addr + size - 1, block_size); 330 --- 529 unchanged lines hidden --- |