43 #ifndef __ARCH_ALPHA_LOCKED_MEM_HH__ 44 #define __ARCH_ALPHA_LOCKED_MEM_HH__ 81 if (locked_addr == snoop_addr)
104 if (req->isUncacheable()) {
107 req->setExtraData(2);
112 if (!lock_flag || (req->getPaddr() & ~0xf) != lock_addr) {
115 req->setExtraData(0);
121 int stCondFailures = xc->readStCondFailures();
123 xc->setStCondFailures(stCondFailures);
124 if (stCondFailures % 100000 == 0) {
125 warn(
"context %d: %d consecutive " 126 "store conditional failures\n",
127 xc->contextId(), stCondFailures);
142 xc->getCpuPtr()->wakeup(xc->threadId());
147 #endif // __ARCH_ALPHA_LOCKED_MEM_HH__
Declaration of a request, the overall memory request consisting of the parts of the request that are ...
void globalClearExclusive(XC *xc)
std::shared_ptr< Request > RequestPtr
void handleLockedSnoop(XC *xc, PacketPtr pkt, Addr cacheBlockMask)
void handleLockedRead(XC *xc, const RequestPtr &req)
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
A Packet is used to encapsulate a transfer between two objects in the memory system (e...
bool handleLockedWrite(XC *xc, const RequestPtr &req, Addr cacheBlockMask)
Declaration of the Packet class.
void handleLockedSnoopHit(XC *xc)