Lines Matching defs:iShw

210                 const unsigned iShw = off / sizeof(X86PTE);
211 LogFlow(("PGMPOOLKIND_32BIT_PT_FOR_32BIT_PT iShw=%x\n", iShw));
212 if (uShw.pPT->a[iShw].n.u1Present)
218 Log4(("pgmPoolMonitorChainChanging 32_32: deref %016RX64 GCPhys %08RX32\n", uShw.pPT->a[iShw].u & X86_PTE_PAE_PG_MASK, GstPte.u & X86_PTE_PG_MASK));
220 uShw.pPT->a[iShw].u & X86_PTE_PAE_PG_MASK,
222 iShw);
223 ASMAtomicWriteU32(&uShw.pPT->a[iShw].u, 0);
235 const unsigned iShw = (off / sizeof(X86PTE)) & (X86_PG_PAE_ENTRIES - 1);
236 LogFlow(("PGMPOOLKIND_PAE_PT_FOR_32BIT_PT iShw=%x\n", iShw));
237 if (PGMSHWPTEPAE_IS_P(uShw.pPTPae->a[iShw]))
243 Log4(("pgmPoolMonitorChainChanging pae_32: deref %016RX64 GCPhys %08RX32\n", uShw.pPT->a[iShw].u & X86_PTE_PAE_PG_MASK, GstPte.u & X86_PTE_PG_MASK));
245 PGMSHWPTEPAE_GET_HCPHYS(uShw.pPTPae->a[iShw]),
247 iShw);
248 PGMSHWPTEPAE_ATOMIC_SET(uShw.pPTPae->a[iShw], 0);
261 unsigned iShw = (iGst % 256) * 2;
264 LogFlow(("pgmPoolMonitorChainChanging PAE for 32 bits: iGst=%x iShw=%x idx = %d page idx=%d\n", iGst, iShw, iShwPdpt, pPage->enmKind - PGMPOOLKIND_PAE_PD0_FOR_32BIT_PD));
271 if ((uShw.pPDPae->a[iShw + i].u & (PGM_PDFLAGS_MAPPING | X86_PDE_P)) == (PGM_PDFLAGS_MAPPING | X86_PDE_P))
275 LogFlow(("pgmPoolMonitorChainChanging: Detected conflict at iShwPdpt=%#x iShw=%#x!\n", iShwPdpt, iShw+i));
279 if (uShw.pPDPae->a[iShw+i].n.u1Present)
281 LogFlow(("pgmPoolMonitorChainChanging: pae pd iShw=%#x: %RX64 -> freeing it!\n", iShw+i, uShw.pPDPae->a[iShw+i].u));
283 uShw.pPDPae->a[iShw+i].u & X86_PDE_PAE_PG_MASK,
285 iShw + i);
286 ASMAtomicWriteU64(&uShw.pPDPae->a[iShw+i].u, 0);
293 const unsigned iShw2 = iShw + 2 + i;
307 LogFlow(("pgmPoolMonitorChainChanging: pae pd iShw=%#x: %RX64 -> freeing it!\n", iShw2, uShw.pPDPae->a[iShw2].u));
324 const unsigned iShw = off / sizeof(X86PTEPAE);
326 if (PGMSHWPTEPAE_IS_P(uShw.pPTPae->a[iShw]))
332 Log4(("pgmPoolMonitorChainChanging pae: deref %016RX64 GCPhys %016RX64\n", PGMSHWPTEPAE_GET_HCPHYS(uShw.pPTPae->a[iShw]), GstPte.u & X86_PTE_PAE_PG_MASK));
334 PGMSHWPTEPAE_GET_HCPHYS(uShw.pPTPae->a[iShw]),
336 iShw);
337 PGMSHWPTEPAE_ATOMIC_SET(uShw.pPTPae->a[iShw], 0);
370 const unsigned iShw = off / sizeof(X86PTE); // ASSUMING 32-bit guest paging!
372 LogFlow(("pgmPoolMonitorChainChanging: PGMPOOLKIND_32BIT_PD %x\n", iShw));
375 if (uShw.pPD->a[iShw].u & PGM_PDFLAGS_MAPPING)
380 LogFlow(("pgmPoolMonitorChainChanging: Detected conflict at iShw=%#x!\n", iShw));
386 if (uShw.pPD->a[iShw].n.u1Present)
388 LogFlow(("pgmPoolMonitorChainChanging: 32 bit pd iShw=%#x: %RX64 -> freeing it!\n", iShw, uShw.pPD->a[iShw].u));
390 uShw.pPD->a[iShw].u & X86_PDE_PAE_PG_MASK,
392 iShw);
393 ASMAtomicWriteU32(&uShw.pPD->a[iShw].u, 0);
401 if ( iShw2 != iShw
416 LogFlow(("pgmPoolMonitorChainChanging: 32 bit pd iShw=%#x: %RX64 -> freeing it!\n", iShw2, uShw.pPD->a[iShw2].u));
426 if ( uShw.pPD->a[iShw].n.u1Present
429 LogFlow(("pgmPoolMonitorChainChanging: iShw=%#x: %RX32 -> freeing it!\n", iShw, uShw.pPD->a[iShw].u));
433 pgmPoolFree(pVM, uShw.pPD->a[iShw].u & X86_PDE_PG_MASK, pPage->idx, iShw);
434 ASMAtomicWriteU32(&uShw.pPD->a[iShw].u, 0);
443 const unsigned iShw = off / sizeof(X86PDEPAE);
446 if (uShw.pPDPae->a[iShw].u & PGM_PDFLAGS_MAPPING)
451 LogFlow(("pgmPoolMonitorChainChanging: Detected conflict at iShw=%#x!\n", iShw));
464 if (uShw.pPDPae->a[iShw].n.u1Present)
466 LogFlow(("pgmPoolMonitorChainChanging: pae pd iShw=%#x: %RX64 -> freeing it!\n", iShw, uShw.pPDPae->a[iShw].u));
468 uShw.pPDPae->a[iShw].u & X86_PDE_PAE_PG_MASK,
470 iShw);
471 ASMAtomicWriteU64(&uShw.pPDPae->a[iShw].u, 0);
482 if ( iShw2 != iShw
518 const unsigned iShw = offPdpt / sizeof(X86PDPE);
519 if (iShw < X86_PG_PAE_PDPE_ENTRIES) /* don't use RT_ELEMENTS(uShw.pPDPT->a), because that's for long mode only */
522 if (uShw.pPDPT->a[iShw].u & PGM_PLXFLAGS_MAPPING)
527 LogFlow(("pgmPoolMonitorChainChanging: Detected pdpt conflict at iShw=%#x!\n", iShw));
532 if (uShw.pPDPT->a[iShw].n.u1Present)
534 LogFlow(("pgmPoolMonitorChainChanging: pae pdpt iShw=%#x: %RX64 -> freeing it!\n", iShw, uShw.pPDPT->a[iShw].u));
536 uShw.pPDPT->a[iShw].u & X86_PDPE_PG_MASK,
538 iShw);
539 ASMAtomicWriteU64(&uShw.pPDPT->a[iShw].u, 0);
547 if ( iShw2 != iShw
563 LogFlow(("pgmPoolMonitorChainChanging: pae pdpt iShw=%#x: %RX64 -> freeing it!\n", iShw2, uShw.pPDPT->a[iShw2].u));
581 const unsigned iShw = off / sizeof(X86PDEPAE);
582 Assert(!(uShw.pPDPae->a[iShw].u & PGM_PDFLAGS_MAPPING));
583 if (uShw.pPDPae->a[iShw].n.u1Present)
585 LogFlow(("pgmPoolMonitorChainChanging: pae pd iShw=%#x: %RX64 -> freeing it!\n", iShw, uShw.pPDPae->a[iShw].u));
587 uShw.pPDPae->a[iShw].u & X86_PDE_PAE_PG_MASK,
589 iShw);
590 ASMAtomicWriteU64(&uShw.pPDPae->a[iShw].u, 0);
621 const unsigned iShw = off / sizeof(X86PDPE);
622 if (uShw.pPDPT->a[iShw].n.u1Present)
624 LogFlow(("pgmPoolMonitorChainChanging: pdpt iShw=%#x: %RX64 -> freeing it!\n", iShw, uShw.pPDPT->a[iShw].u));
625 pgmPoolFree(pVM, uShw.pPDPT->a[iShw].u & X86_PDPE_PG_MASK, pPage->idx, iShw);
626 ASMAtomicWriteU64(&uShw.pPDPT->a[iShw].u, 0);
651 const unsigned iShw = off / sizeof(X86PDPE);
652 if (uShw.pPML4->a[iShw].n.u1Present)
654 LogFlow(("pgmPoolMonitorChainChanging: pml4 iShw=%#x: %RX64 -> freeing it!\n", iShw, uShw.pPML4->a[iShw].u));
655 pgmPoolFree(pVM, uShw.pPML4->a[iShw].u & X86_PML4E_PG_MASK, pPage->idx, iShw);
656 ASMAtomicWriteU64(&uShw.pPML4->a[iShw].u, 0);
3139 * @param iShw The shadow page table.
3142 static bool pgmPoolTrackFlushGCPhysPTInt(PVM pVM, PCPGMPAGE pPhysPage, bool fFlushPTEs, uint16_t iShw, uint16_t iPte)
3144 LogFlow(("pgmPoolTrackFlushGCPhysPTInt: pPhysPage=%RHp iShw=%d iPte=%d\n", PGM_PAGE_GET_HCPHYS(pPhysPage), iShw, iPte));
3152 AssertFatalMsg(iShw < pPool->cCurPages && iShw != NIL_PGMPOOL_IDX, ("iShw=%d\n", iShw));
3153 PPGMPOOLPAGE pPage = &pPool->aPages[iShw];
3375 AssertFatalMsgFailed(("enmKind=%d iShw=%d\n", pPage->enmKind, iShw));
3391 * @param iShw The shadow page table.
3393 static void pgmPoolTrackFlushGCPhysPT(PVM pVM, PPGMPAGE pPhysPage, bool fFlushPTEs, uint16_t iShw)
3400 Log2(("pgmPoolTrackFlushGCPhysPT: pPhysPage=%RHp iShw=%d\n", PGM_PAGE_GET_HCPHYS(pPhysPage), iShw));
3402 bool fKeptPTEs = pgmPoolTrackFlushGCPhysPTInt(pVM, pPhysPage, fFlushPTEs, iShw, PGM_PAGE_GET_PTE_INDEX(pPhysPage));