VirtualBox

Changeset 72356 in vbox for trunk/src/VBox/Main/src-server


Ignore:
Timestamp:
May 28, 2018 4:18:06 AM (7 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
122813
Message:

Main: Add 'UnrestrictedGuest' to features enum while querying host CPU features. Fixed a minor bug in HostImpl when querying VT caps fails (almost likely to never happen though).

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Main/src-server/HostImpl.cpp

    r72326 r72356  
    217217                            fPAESupported,
    218218                            fNestedPagingSupported,
     219                            fUnrestrictedGuestSupported,
    219220                            fRecheckVTSupported;
    220221
     
    298299    m->fPAESupported = false;
    299300    m->fNestedPagingSupported = false;
     301    m->fUnrestrictedGuestSupported = false;
    300302    m->fRecheckVTSupported = false;
    301303
     
    351353                {
    352354                    m->fVTSupported = true;
     355                    m->fUnrestrictedGuestSupported = true;
    353356
    354357                    /* Query AMD features. */
     
    380383                else
    381384                    Assert(m->fNestedPagingSupported == false);
     385                if (   (fVTCaps & SUPVTCAPS_AMD_V)
     386                    || (fVTCaps & SUPVTCAPS_VTX_UNRESTRICTED_GUEST))
     387                    m->fUnrestrictedGuestSupported = true;
     388                else
     389                    Assert(m->fUnrestrictedGuestSupported == false);
    382390            }
    383391            else
    384392            {
    385393                LogRel(("SUPR0QueryVTCaps -> %Rrc\n", rc));
    386                 m->fVTSupported = m->fNestedPagingSupported = false;
     394                m->fVTSupported = m->fNestedPagingSupported = m->fUnrestrictedGuestSupported = false;
    387395            }
    388396            rc = SUPR3Term(false);
     
    10081016        case ProcessorFeature_LongMode:
    10091017        case ProcessorFeature_NestedPaging:
     1018        case ProcessorFeature_UnrestrictedGuest:
    10101019            break;
    10111020        default:
     
    10221031        if (   m->fRecheckVTSupported
    10231032            && (   aFeature == ProcessorFeature_HWVirtEx
    1024                 || aFeature == ProcessorFeature_NestedPaging)
     1033                || aFeature == ProcessorFeature_NestedPaging
     1034                || aFeature == ProcessorFeature_UnrestrictedGuest)
    10251035           )
    10261036        {
     
    10421052                    else
    10431053                        Assert(m->fNestedPagingSupported == false);
     1054                    if (   (fVTCaps & SUPVTCAPS_AMD_V)
     1055                        || (fVTCaps & SUPVTCAPS_VTX_UNRESTRICTED_GUEST))
     1056                        m->fUnrestrictedGuestSupported = true;
     1057                    else
     1058                        Assert(m->fUnrestrictedGuestSupported == false);
    10441059                }
    10451060                else
    10461061                {
    10471062                    LogRel(("SUPR0QueryVTCaps -> %Rrc\n", rc));
    1048                     m->fVTSupported = m->fNestedPagingSupported = true;
     1063                    m->fVTSupported = m->fNestedPagingSupported = m->fUnrestrictedGuestSupported = false;
    10491064                }
    10501065                rc = SUPR3Term(false);
     
    10721087            case ProcessorFeature_NestedPaging:
    10731088                *aSupported = m->fNestedPagingSupported;
     1089                break;
     1090
     1091            case ProcessorFeature_UnrestrictedGuest:
     1092                *aSupported = m->fUnrestrictedGuestSupported;
    10741093                break;
    10751094
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