VirtualBox

Changeset 96879 in vbox for trunk/src/VBox/VMM/include


Ignore:
Timestamp:
Sep 26, 2022 5:43:43 PM (3 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
153786
Message:

VMM/PGM: Nested VMX: bugref:10092 Nested EPT shadow page-pool handling.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/include/PGMInternal.h

    r96759 r96879  
    19271927    PGMPOOLKIND_ROOT_NESTED,
    19281928
     1929    /** Shw: EPT page table;                        Gst: EPT page table. */
     1930    PGMPOOLKIND_EPT_PT_FOR_EPT_PT,
     1931    /** Shw: EPT page directory table;              Gst: EPT page directory. */
     1932    PGMPOOLKIND_EPT_PD_FOR_EPT_PD,
     1933    /** Shw: EPT page directory pointer table;      Gst: EPT page directory pointer table. */
     1934    PGMPOOLKIND_EPT_PDPT_FOR_EPT_PDPT,
     1935    /** Shw: EPT PML4;                              Gst: EPT PML4. */
     1936    PGMPOOLKIND_EPT_PML4_FOR_EPT_PML4,
     1937
    19291938    /** The last valid entry. */
    1930     PGMPOOLKIND_LAST = PGMPOOLKIND_ROOT_NESTED
     1939    PGMPOOLKIND_LAST = PGMPOOLKIND_EPT_PML4_FOR_EPT_PML4
    19311940} PGMPOOLKIND;
    19321941
     
    23082317#define PGMPOOL_PAGE_2_PTR_V2(a_pVM, a_pVCpu, a_pPage)     PGMPOOL_PAGE_2_PTR((a_pVM), (a_pPage))
    23092318
     2319
     2320/** @def PGMPOOL_PAGE_IS_NESTED
     2321 * Checks whether the given pool page is a nested-guest pool page.
     2322 *
     2323 * @returns @c true if a nested-guest pool page, @c false otherwise.
     2324 * @param   a_pPage     The pool page.
     2325 * @todo    We can optimize the conditionals later.
     2326 */
     2327#define PGMPOOL_PAGE_IS_NESTED(a_pPage)         PGMPOOL_PAGE_IS_KIND_NESTED((a_pPage)->enmKind)
     2328#define PGMPOOL_PAGE_IS_KIND_NESTED(a_enmKind)  (   (a_enmKind) == PGMPOOLKIND_EPT_PT_FOR_EPT_PT     \
     2329                                                 || (a_enmKind) == PGMPOOLKIND_EPT_PD_FOR_EPT_PD     \
     2330                                                 || (a_enmKind) == PGMPOOLKIND_EPT_PDPT_FOR_EPT_PDPT \
     2331                                                 || (a_enmKind) == PGMPOOLKIND_EPT_PML4_FOR_EPT_PML4)
    23102332
    23112333/** @name Per guest page tracking data.
Note: See TracChangeset for help on using the changeset viewer.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette