Lines Matching defs:xc
65 handleLockedSnoop(XC *xc, PacketPtr pkt, Addr cacheBlockMask)
71 xc->getCpuPtr()->name(),pkt->getAddr(),
72 xc->readMiscReg(MISCREG_LOCKFLAG));
73 if (!xc->readMiscReg(MISCREG_LOCKFLAG))
76 Addr locked_addr = xc->readMiscReg(MISCREG_LOCKADDR) & cacheBlockMask;
81 xc->getCpuPtr()->name(),snoop_addr, locked_addr);
84 xc->getCpuPtr()->name());
85 xc->setMiscReg(MISCREG_LOCKFLAG, false);
87 xc->setMiscReg(MISCREG_SEV_MAILBOX, true);
88 xc->getCpuPtr()->wakeup(xc->threadId());
94 handleLockedRead(XC *xc, const RequestPtr &req)
96 xc->setMiscReg(MISCREG_LOCKADDR, req->getPaddr());
97 xc->setMiscReg(MISCREG_LOCKFLAG, true);
98 DPRINTF(LLSC,"%s: Placing address %#x in monitor\n", xc->getCpuPtr()->name(),
104 handleLockedSnoopHit(XC *xc)
107 xc->getCpuPtr()->name(), xc->readMiscReg(MISCREG_LOCKADDR));
108 xc->setMiscReg(MISCREG_LOCKFLAG, false);
109 xc->setMiscReg(MISCREG_SEV_MAILBOX, true);
114 handleLockedWrite(XC *xc, const RequestPtr &req, Addr cacheBlockMask)
120 xc->getCpuPtr()->name(), req->getPaddr());
123 bool lock_flag = xc->readMiscReg(MISCREG_LOCKFLAG);
124 Addr lock_addr = xc->readMiscReg(MISCREG_LOCKADDR) & cacheBlockMask;
129 xc->setMiscReg(MISCREG_LOCKFLAG, false);
131 xc->getCpuPtr()->name());
136 int stCondFailures = xc->readStCondFailures();
138 xc->setStCondFailures(stCondFailures);
142 xc->contextId(), stCondFailures);
153 globalClearExclusive(XC *xc)
160 xc->setMiscReg(MISCREG_LOCKFLAG, false);
162 xc->setMiscReg(MISCREG_SEV_MAILBOX, true);
163 xc->getCpuPtr()->wakeup(xc->threadId());