VirtualBox

Changeset 18696 in vbox for trunk/src


Ignore:
Timestamp:
Apr 3, 2009 2:47:51 PM (16 years ago)
Author:
vboxsync
Message:

Ugly hack to swap slots 11 and 3 so 82545EM ends up in slot 11 (as in VMWare).

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Main/ConsoleImpl2.cpp

    r18664 r18696  
    9393#include <VBox/param.h>
    9494
     95/* Comment out the following line to remove VMWare compatibility hack. */
     96#define VMWARE_NET_IN_SLOT_11
    9597
    9698/**
     
    11771179     * Network adapters
    11781180     */
     1181#ifdef VMWARE_NET_IN_SLOT_11
     1182    bool fSwapSlots3and11 = false;
     1183#endif
    11791184    PCFGMNODE pDevPCNet = NULL;          /* PCNet-type devices */
    11801185    rc = CFGMR3InsertNode(pDevices, "pcnet", &pDevPCNet);                           RC_CHECK();
     
    12321237                iPciDeviceNo = ulInstance - 4 + 16;
    12331238        }
     1239#ifdef VMWARE_NET_IN_SLOT_11
     1240        /*
     1241         * Dirty hack for PCI slot compatibility with VMWare,
     1242         * it assigns slot 11 to the first network controller.
     1243         */
     1244        if (iPciDeviceNo == 3 && adapterType == NetworkAdapterType_I82545EM)
     1245        {
     1246            iPciDeviceNo = 11;
     1247            fSwapSlots3and11 = true;
     1248        }
     1249#endif
    12341250        rc = CFGMR3InsertInteger(pInst, "PCIDeviceNo", iPciDeviceNo);               RC_CHECK();
    12351251        Assert(!afPciDeviceNo[iPciDeviceNo]);
     
    23382354                rc = CFGMR3InsertNode(pInst,    "Config", &pCfg);                       RC_CHECK();
    23392355                rc = CFGMR3InsertInteger(pInst, "Trusted",              1); /* bool */  RC_CHECK();
     2356#ifdef VMWARE_NET_IN_SLOT_11
     2357                /*
     2358                 * Dirty hack for PCI slot compatibility with VMWare,
     2359                 * it assigns slot 11 to the first network controller.
     2360                 */
     2361                unsigned iPciDeviceNo = 11;
     2362                if (fSwapSlots3and11)
     2363                    iPciDeviceNo = 3;
     2364                rc = CFGMR3InsertInteger(pInst, "PCIDeviceNo",          iPciDeviceNo);  RC_CHECK();
     2365                Assert(!afPciDeviceNo[iPciDeviceNo]);
     2366                afPciDeviceNo[iPciDeviceNo] = true;
     2367#else
    23402368                rc = CFGMR3InsertInteger(pInst, "PCIDeviceNo",          11);            RC_CHECK();
    23412369                Assert(!afPciDeviceNo[11]);
    23422370                afPciDeviceNo[11] = true;
     2371#endif
    23432372                rc = CFGMR3InsertInteger(pInst, "PCIFunctionNo",        0);             RC_CHECK();
    23442373
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