VirtualBox

Changeset 91422 in vbox for trunk/include/VBox/vmm


Ignore:
Timestamp:
Sep 28, 2021 7:39:10 AM (3 years ago)
Author:
vboxsync
Message:

VMM: Nested VMX: bugref:10092 Add CPUMArePaePdpesValid.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/VBox/vmm/cpum.h

    r91323 r91422  
    17641764}
    17651765
     1766
     1767/**
     1768 * Tests if PAE PDPE ("PDPTE" in Intel nomenclature) entries are valid.
     1769 *
     1770 * @returns @c true if all PDPEs are valid, @c false otherwise.
     1771 * @param   paPdpes         Pointer to the 4 PAE PDPEs.
     1772 * @param   pidxInvalid     Where to store the index of the first invalid PDPE.
     1773 *                          Optional, can be NULL. Mainly used for diagnostics.
     1774 */
     1775DECLINLINE(bool) CPUMArePaePdpesValid(PCX86PDPE paPdpes, uint8_t *pidxInvalid)
     1776{
     1777    for (unsigned idx = 0; idx < X86_PG_PAE_PDPE_ENTRIES; idx++)
     1778    {
     1779        if (   !(paPdpes[idx].u & X86_PDPE_P)
     1780            || !(paPdpes[idx].u & X86_PDPE_PAE_MBZ_MASK))
     1781        { /* likely */ }
     1782        else
     1783        {
     1784            if (pidxInvalid)
     1785                *pidxInvalid = idx;
     1786            return false;
     1787        }
     1788    }
     1789    return true;
     1790}
     1791
     1792
    17661793/**
    17671794 * Tests if the guest has AMD SVM enabled or not.
Note: See TracChangeset for help on using the changeset viewer.

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