VirtualBox

Changeset 101129 in vbox for trunk/src/VBox/Main


Ignore:
Timestamp:
Sep 15, 2023 2:54:42 PM (15 months ago)
Author:
vboxsync
Message:

Main: Limit network adapter types for different platforms and also guard them with their proper #ifdefs. bugref:10384

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Main/src-all/PlatformPropertiesImpl.cpp

    r101116 r101129  
    715715HRESULT PlatformProperties::getSupportedNetworkAdapterTypes(std::vector<NetworkAdapterType_T> &aSupportedNetworkAdapterTypes)
    716716{
    717     static const NetworkAdapterType_T aNetworkAdapterTypes[] =
    718     {
    719         NetworkAdapterType_Am79C970A,
    720         NetworkAdapterType_Am79C973,
    721         NetworkAdapterType_I82540EM,
    722         NetworkAdapterType_I82543GC,
    723         NetworkAdapterType_I82545EM,
    724         NetworkAdapterType_Virtio
    725     };
    726     aSupportedNetworkAdapterTypes.assign(aNetworkAdapterTypes,
    727                                          aNetworkAdapterTypes + RT_ELEMENTS(aNetworkAdapterTypes));
     717    switch (mPlatformArchitecture)
     718    {
     719        case PlatformArchitecture_x86:
     720        {
     721            static const NetworkAdapterType_T aNetworkAdapterTypes[] =
     722            {
     723                NetworkAdapterType_Null,
     724                NetworkAdapterType_Am79C970A,
     725                NetworkAdapterType_Am79C973
     726#ifdef VBOX_WITH_E1000
     727              , NetworkAdapterType_I82540EM
     728              , NetworkAdapterType_I82543GC
     729              , NetworkAdapterType_I82545EM
     730#endif
     731#ifdef VBOX_WITH_VIRTIO
     732              , NetworkAdapterType_Virtio
     733#endif
     734            };
     735            aSupportedNetworkAdapterTypes.assign(aNetworkAdapterTypes,
     736                                                 aNetworkAdapterTypes + RT_ELEMENTS(aNetworkAdapterTypes));
     737            break;
     738        }
     739
     740        case PlatformArchitecture_ARM:
     741        {
     742            static const NetworkAdapterType_T aNetworkAdapterTypes[] =
     743            {
     744                NetworkAdapterType_Null
     745#ifdef VBOX_WITH_E1000
     746              , NetworkAdapterType_I82540EM
     747              , NetworkAdapterType_I82543GC
     748              , NetworkAdapterType_I82545EM
     749#endif
     750#ifdef VBOX_WITH_VIRTIO
     751              , NetworkAdapterType_Virtio
     752#endif
     753            };
     754            aSupportedNetworkAdapterTypes.assign(aNetworkAdapterTypes,
     755                                                 aNetworkAdapterTypes + RT_ELEMENTS(aNetworkAdapterTypes));
     756            break;
     757        }
     758
     759        default:
     760            AssertFailedStmt(aSupportedNetworkAdapterTypes.clear());
     761            break;
     762    }
     763
    728764    return S_OK;
    729765}
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