Lines Matching refs:csam

26 #include <VBox/vmm/csam.h>
65 STAM_COUNTER_ADD(&pVM->csam.s.StatNrKnownPagesGC, 1);
69 STAM_COUNTER_ADD(&pVM->csam.s.StatNrTraps, 1);
95 return pVM->csam.s.CTXSUFF(pPDBitmap)[pgdir] && ASMBitTest((void *)pVM->csam.s.CTXSUFF(pPDBitmap)[pgdir], bit);
132 if(!CTXSUFF(pVM->csam.s.pPDBitmap)[pgdir])
134 STAM_COUNTER_INC(&pVM->csam.s.StatBitmapAlloc);
135 int rc = MMHyperAlloc(pVM, CSAM_PAGE_BITMAP_SIZE, 0, MM_TAG_CSAM, (void **)&pVM->csam.s.CTXSUFF(pPDBitmap)[pgdir]);
142 pVM->csam.s.pPDHCBitmapGC[pgdir] = MMHyperRCToR3(pVM, (RCPTRTYPE(void*))pVM->csam.s.pPDBitmapGC[pgdir]);
143 if (!pVM->csam.s.pPDHCBitmapGC[pgdir])
145 Log(("MMHyperHC2GC failed for %RRv\n", pVM->csam.s.pPDBitmapGC[pgdir]));
149 pVM->csam.s.pPDGCBitmapHC[pgdir] = MMHyperR3ToRC(pVM, pVM->csam.s.pPDBitmapHC[pgdir]);
150 if (!pVM->csam.s.pPDGCBitmapHC[pgdir])
152 Log(("MMHyperHC2GC failed for %RHv\n", pVM->csam.s.pPDBitmapHC[pgdir]));
158 ASMBitSet((void *)pVM->csam.s.CTXSUFF(pPDBitmap)[pgdir], bit);
160 ASMBitClear((void *)pVM->csam.s.CTXSUFF(pPDBitmap)[pgdir], bit);
190 STAM_COUNTER_ADD(&CTXSUFF(pVM->csam.s.StatNrKnownPages), 1);
193 STAM_COUNTER_ADD(&CTXSUFF(pVM->csam.s.StatNrPageNP), 1);
208 if (pVM->csam.s.cPossibleCodePages < RT_ELEMENTS(pVM->csam.s.pvPossibleCodePage))
210 pVM->csam.s.pvPossibleCodePage[pVM->csam.s.cPossibleCodePages++] = (RTRCPTR)GCPtr;
258 for (uint32_t i=0;i<pVM->csam.s.cDangerousInstr;i++)
260 if (pVM->csam.s.aDangerousInstr[i] == (RTRCPTR)GCPtr)
262 STAM_COUNTER_INC(&pVM->csam.s.StatInstrCacheHit);
267 pVM->csam.s.aDangerousInstr[pVM->csam.s.iDangerousInstr++] = (RTRCPTR)GCPtr;
268 pVM->csam.s.iDangerousInstr &= CSAM_MAX_DANGR_INSTR_MASK;
270 if (++pVM->csam.s.cDangerousInstr > CSAM_MAX_DANGR_INSTR)
271 pVM->csam.s.cDangerousInstr = CSAM_MAX_DANGR_INSTR;
273 STAM_COUNTER_INC(&pVM->csam.s.StatInstrCacheMiss);