base.cc (11321:02e930db812d) base.cc (11325:67cc559d513a)
1/*
2 * Copyright (c) 2011-2012 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

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

283}
284
285bool
286BaseCPU::mwait(ThreadID tid, PacketPtr pkt)
287{
288 assert(tid < numThreads);
289 AddressMonitor &monitor = addressMonitor[tid];
290
1/*
2 * Copyright (c) 2011-2012 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

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

283}
284
285bool
286BaseCPU::mwait(ThreadID tid, PacketPtr pkt)
287{
288 assert(tid < numThreads);
289 AddressMonitor &monitor = addressMonitor[tid];
290
291 if (monitor.gotWakeup == false) {
291 if (!monitor.gotWakeup) {
292 int block_size = cacheLineSize();
293 uint64_t mask = ~((uint64_t)(block_size - 1));
294
295 assert(pkt->req->hasPaddr());
296 monitor.pAddr = pkt->getAddr() & mask;
297 monitor.waiting = true;
298
299 DPRINTF(Mwait,"[tid:%d] mwait called (vAddr=0x%lx, "

--- 451 unchanged lines hidden ---
292 int block_size = cacheLineSize();
293 uint64_t mask = ~((uint64_t)(block_size - 1));
294
295 assert(pkt->req->hasPaddr());
296 monitor.pAddr = pkt->getAddr() & mask;
297 monitor.waiting = true;
298
299 DPRINTF(Mwait,"[tid:%d] mwait called (vAddr=0x%lx, "

--- 451 unchanged lines hidden ---