Changeset 96966 in vbox
- Timestamp:
- Oct 3, 2022 12:09:15 PM (2 years ago)
- svn:sync-xref-src-repo-rev:
- 153887
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/PGMAllPool.cpp
r96899 r96966 4673 4673 } 4674 4674 4675 4675 4676 #ifdef VBOX_WITH_NESTED_HWVIRT_VMX_EPT 4676 4677 4677 /** 4678 4678 * Clears references to shadowed pages in a SLAT EPT page table. … … 4699 4699 } 4700 4700 } 4701 4702 # if 04703 /**4704 * Clears refernces to shadowed pages in a SLAT EPT PM4 table.4705 *4706 * @param pPool The pool.4707 * @param pPage The page.4708 * @param pShwPml4 The shadow PML4 table.4709 */4710 DECLINLINE(void) pgmPoolTrackDerefNestedPML4EPT(PPGMPOOL pPool, PPGMPOOLPAGE pPage, PEPTPML4 pShwPml4)4711 {4712 /** @todo later merge this with 64-bit PML and pass the assert and present masks as4713 * parameters. */4714 Assert(PGMPOOL_PAGE_IS_NESTED(pPage));4715 for (unsigned i = 0; i < RT_ELEMENTS(pShwPml4->a); i++)4716 {4717 X86PGPAEUINT const uPml4e = pShwPml4->a[i].u;4718 Assert((uPml4e & (EPT_PML4E_MBZ_MASK | UINT64_C(0xfff0000000000000))) == 0);4719 if (uPml4e & EPT_PRESENT_MASK)4720 {4721 PPGMPOOLPAGE pSubPage = (PPGMPOOLPAGE)RTAvloHCPhysGet(&pPool->HCPhysTree, uPml4e & EPT_PML4E_PG_MASK);4722 if (pSubPage)4723 pgmPoolTrackFreeUser(pPool, pSubPage, pPage->idx, i);4724 else4725 AssertFatalMsgFailed(("%RX64\n", uPml4e & EPT_PML4E_PG_MASK));4726 }4727 }4728 }4729 # endif4730 4731 4701 #endif /* VBOX_WITH_NESTED_HWVIRT_VMX_EPT */ 4702 4732 4703 4733 4704 /** … … 5072 5043 pgmPoolTrackDerefPDPTEPT(pPool, pPage, (PEPTPDPT)pvShw); 5073 5044 break; 5074 5075 case PGMPOOLKIND_EPT_PML4_FOR_EPT_PML4:5076 //pgmPoolTrackDerefNestedPML4EPT(pPool, pPage, (PEPTPML4)pvShw);5077 RT_FALL_THRU();5078 5045 #endif 5079 5046
Note:
See TracChangeset
for help on using the changeset viewer.